Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJuergen Haug2017-06-20 17:06:24 +0000
committerJuergen Haug2017-06-20 17:30:24 +0000
commit7ca492dcdee1b6c6b98c99517d8237398079ed16 (patch)
treeebc9946eea7fe2c5584143e9b1183021de5dc750 /plugins/org.eclipse.etrice.ui.common.base
parent013ad874b40dc43eebf9620f7538df49c3bec9d1 (diff)
downloadorg.eclipse.etrice-7ca492dcdee1b6c6b98c99517d8237398079ed16.tar.gz
org.eclipse.etrice-7ca492dcdee1b6c6b98c99517d8237398079ed16.tar.xz
org.eclipse.etrice-7ca492dcdee1b6c6b98c99517d8237398079ed16.zip
[ui] improved import content assist and moved RelativeFIleURIHandler
Diffstat (limited to 'plugins/org.eclipse.etrice.ui.common.base')
-rw-r--r--plugins/org.eclipse.etrice.ui.common.base/src/org/eclipse/etrice/ui/common/base/editor/CustomPersistencyBehavior.java1
-rw-r--r--plugins/org.eclipse.etrice.ui.common.base/src/org/eclipse/etrice/ui/common/base/editor/CustomUpdateBehavior.java1
-rw-r--r--plugins/org.eclipse.etrice.ui.common.base/src/org/eclipse/etrice/ui/common/base/editor/RelativeFileURIHandler.java104
-rw-r--r--plugins/org.eclipse.etrice.ui.common.base/src/org/eclipse/etrice/ui/common/base/support/DiagramAccessBase.java2
4 files changed, 3 insertions, 105 deletions
diff --git a/plugins/org.eclipse.etrice.ui.common.base/src/org/eclipse/etrice/ui/common/base/editor/CustomPersistencyBehavior.java b/plugins/org.eclipse.etrice.ui.common.base/src/org/eclipse/etrice/ui/common/base/editor/CustomPersistencyBehavior.java
index 930129a7a..570db9648 100644
--- a/plugins/org.eclipse.etrice.ui.common.base/src/org/eclipse/etrice/ui/common/base/editor/CustomPersistencyBehavior.java
+++ b/plugins/org.eclipse.etrice.ui.common.base/src/org/eclipse/etrice/ui/common/base/editor/CustomPersistencyBehavior.java
@@ -26,6 +26,7 @@ import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.transaction.RunnableWithResult;
import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.etrice.core.common.scoping.RelativeFileURIHandler;
import org.eclipse.etrice.ui.common.base.UIBaseActivator;
import org.eclipse.graphiti.mm.pictograms.Diagram;
import org.eclipse.graphiti.ui.editor.DefaultPersistencyBehavior;
diff --git a/plugins/org.eclipse.etrice.ui.common.base/src/org/eclipse/etrice/ui/common/base/editor/CustomUpdateBehavior.java b/plugins/org.eclipse.etrice.ui.common.base/src/org/eclipse/etrice/ui/common/base/editor/CustomUpdateBehavior.java
index 4a398aee4..c75872535 100644
--- a/plugins/org.eclipse.etrice.ui.common.base/src/org/eclipse/etrice/ui/common/base/editor/CustomUpdateBehavior.java
+++ b/plugins/org.eclipse.etrice.ui.common.base/src/org/eclipse/etrice/ui/common/base/editor/CustomUpdateBehavior.java
@@ -23,6 +23,7 @@ import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
import org.eclipse.emf.transaction.impl.TransactionalEditingDomainImpl;
import org.eclipse.emf.workspace.IWorkspaceCommandStack;
import org.eclipse.emf.workspace.WorkspaceEditingDomainFactory;
+import org.eclipse.etrice.core.common.scoping.RelativeFileURIHandler;
import org.eclipse.etrice.core.fsm.ui.FSMUiModule;
import org.eclipse.graphiti.ui.editor.DefaultUpdateBehavior;
import org.eclipse.graphiti.ui.editor.DiagramBehavior;
diff --git a/plugins/org.eclipse.etrice.ui.common.base/src/org/eclipse/etrice/ui/common/base/editor/RelativeFileURIHandler.java b/plugins/org.eclipse.etrice.ui.common.base/src/org/eclipse/etrice/ui/common/base/editor/RelativeFileURIHandler.java
deleted file mode 100644
index ae71b3ae8..000000000
--- a/plugins/org.eclipse.etrice.ui.common.base/src/org/eclipse/etrice/ui/common/base/editor/RelativeFileURIHandler.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 protos software gmbh (http://www.protos.de).
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * CONTRIBUTORS:
- * Juergen Haug (initial contribution)
- *
- *******************************************************************************/
-
-package org.eclipse.etrice.ui.common.base.editor;
-
-import java.util.Map;
-
-import org.apache.log4j.Logger;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.xmi.XMIResource;
-import org.eclipse.emf.ecore.xmi.XMLResource.URIHandler;
-import org.eclipse.emf.ecore.xmi.impl.URIHandlerImpl;
-import org.eclipse.etrice.core.common.ui.linking.GlobalNonPlatformURIEditorOpener;
-
-/**
- * {@linkplain URIHandler} which deresolves to relative file uri and resolves to absolute file uri. <br>
- * Used to persist portable model references. <br>
- * <br>
- * TODO serialize room includes path <=> deresolve in StandardModelLocator
- */
-public class RelativeFileURIHandler extends URIHandlerImpl {
-
- private final static Logger LOG = Logger.getLogger(RelativeFileURIHandler.class);
-
- public static Map<Object, Object> addToOptions(Map<Object, Object> options) {
- options.put(XMIResource.OPTION_URI_HANDLER, new RelativeFileURIHandler((URIHandler) options.get(XMIResource.OPTION_URI_HANDLER)));
- return options;
- }
-
- final protected URIHandler fallback;
-
- public RelativeFileURIHandler(URIHandler fallback) {
- this.fallback = fallback;
- }
-
- /**
- * @return absolute file uri
- */
- @Override
- public URI resolve(URI uri) {
- if (resolve && baseURI != null && uri.isFile() && uri.hasRelativePath()) {
- URI baseFileURI = toFileURI(baseURI);
- URI fileURI = toFileURI(uri);
-
- URI resolvedFileURI = fileURI.resolve(baseFileURI, true);
- // System.out.println("resolve: " + fileURI + " -> " + baseFileURI + " = " + resolvedFileURI);
- URI platURI = GlobalNonPlatformURIEditorOpener.getPlatformURI(resolvedFileURI);
-
- return (platURI != null) ? platURI : resolvedFileURI;
- }
-
- return (fallback != null) ? fallback.resolve(uri) : uri;
- }
-
- /**
- * @return shorter relative file path
- */
- @Override
- public URI deresolve(URI uri) {
- if (resolve && baseURI != null) {
- URI baseFileURI = toFileURI(baseURI);
- URI fileURI = toFileURI(uri);
-
- URI relativeFileURI = fileURI.deresolve(baseFileURI, true, true, true);
- if(relativeFileURI.isFile() && relativeFileURI.hasRelativePath()) {
- // System.out.println("deresolve: " + fileURI + " -> " + baseFileURI + " = " + relativeFileURI);
- return relativeFileURI;
- }
- }
-
- return (fallback != null) ? fallback.deresolve(uri) : uri;
- }
-
- private static URI toFileURI(URI uri) {
- if (uri.isFile()) {
- return uri;
- } else if (uri.isPlatform()) {
- IPath path = null;
- if(uri.segmentCount() == 2){
- path = ResourcesPlugin.getWorkspace().getRoot().getProject(uri.lastSegment()).getLocation();
- } else if(uri.segmentCount() > 2){
- path = ResourcesPlugin.getWorkspace().getRoot().getFile(new Path(uri.toPlatformString(false))).getLocation();
- }
- if(path != null) {
- return URI.createFileURI(path.toOSString()).appendQuery(uri.query()).appendFragment(uri.fragment());
- }
- }
-
- LOG.error("unhandled uri " + uri);
- return uri;
- }
-}
diff --git a/plugins/org.eclipse.etrice.ui.common.base/src/org/eclipse/etrice/ui/common/base/support/DiagramAccessBase.java b/plugins/org.eclipse.etrice.ui.common.base/src/org/eclipse/etrice/ui/common/base/support/DiagramAccessBase.java
index 771dc0d9a..0cbde7990 100644
--- a/plugins/org.eclipse.etrice.ui.common.base/src/org/eclipse/etrice/ui/common/base/support/DiagramAccessBase.java
+++ b/plugins/org.eclipse.etrice.ui.common.base/src/org/eclipse/etrice/ui/common/base/support/DiagramAccessBase.java
@@ -30,10 +30,10 @@ import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.transaction.TransactionalEditingDomain;
import org.eclipse.emf.transaction.impl.TransactionalEditingDomainImpl;
import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.etrice.core.common.scoping.RelativeFileURIHandler;
import org.eclipse.etrice.core.common.ui.linking.GlobalNonPlatformURIEditorOpener;
import org.eclipse.etrice.ui.common.base.UIBaseActivator;
import org.eclipse.etrice.ui.common.base.editor.DiagramEditorBase;
-import org.eclipse.etrice.ui.common.base.editor.RelativeFileURIHandler;
import org.eclipse.etrice.ui.common.base.preferences.UIBasePreferenceConstants;
import org.eclipse.graphiti.mm.pictograms.Diagram;
import org.eclipse.graphiti.services.Graphiti;

Back to the top