]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.document.linking.ui/src/org/simantics/document/linking/ge/SourceObjectDropAction.java
Fixed all line endings of the repository
[simantics/platform.git] / bundles / org.simantics.document.linking.ui / src / org / simantics / document / linking / ge / SourceObjectDropAction.java
index 818447c43616a3c880260e843e27f7c433159a5f..663e630f7fe5131a9c74101bdf86dd945f483893 100644 (file)
@@ -1,91 +1,91 @@
-package org.simantics.document.linking.ge;\r
-\r
-import org.eclipse.jface.dialogs.MessageDialog;\r
-import org.eclipse.swt.widgets.Display;\r
-import org.simantics.db.ReadGraph;\r
-import org.simantics.db.Resource;\r
-import org.simantics.db.WriteGraph;\r
-import org.simantics.db.common.request.WriteRequest;\r
-import org.simantics.db.common.utils.NameUtils;\r
-import org.simantics.db.exception.DatabaseException;\r
-import org.simantics.db.layer0.adapter.DropActionFactory;\r
-import org.simantics.db.layer0.variable.Variable;\r
-import org.simantics.document.linking.ontology.DocumentLink;\r
-import org.simantics.document.linking.utils.SourceLinkUtil;\r
-import org.simantics.layer0.Layer0;\r
-import org.simantics.ui.SimanticsUI;\r
-import org.simantics.utils.ui.AdaptionUtils;\r
-\r
-public class SourceObjectDropAction implements DropActionFactory {\r
-       \r
-       \r
-       @Override\r
-       public Runnable create(ReadGraph g, Object target, Object source, int operation)\r
-                       throws DatabaseException {\r
-               Variable t = (Variable)target;\r
-        Resource s = AdaptionUtils.adaptToSingle(source, Resource.class);\r
-        if (s == null) {\r
-               Variable sv = AdaptionUtils.adaptToSingle(source, Variable.class);\r
-               if (sv != null)\r
-                       s = sv.getRepresents(g);\r
-        }\r
-\r
-        if(t == null || s == null)\r
-            return null;\r
-        DocumentLink sl = DocumentLink.getInstance(g);\r
-        if (g.isInstanceOf(s, sl.Source)) {\r
-               return null;\r
-        }\r
-               return getRunnable(t, s);\r
-       }\r
-       \r
-       private Runnable getRunnable(final Variable tv, final Resource s) {\r
-               return new Runnable() {\r
-                       \r
-                       @Override\r
-                       public void run() {\r
-                               SimanticsUI.getSession().asyncRequest(new WriteRequest() {\r
-                                       \r
-                                       @Override\r
-                                       public void perform(WriteGraph graph) throws DatabaseException {\r
-                                               Layer0 l0 = Layer0.getInstance(graph);\r
-                                               \r
-                                               Resource relation = tv.getPossiblePredicateResource(graph);\r
-                                               Resource instance; \r
-                                               if (relation != null && graph.isInstanceOf(relation, l0.FunctionalRelation)) {\r
-                                                       instance = tv.getParent(graph).getPossibleRepresents(graph);\r
-                                               } else {\r
-                                                       instance = tv.getPossibleRepresents(graph);\r
-                                               }\r
-                                               if (instance == null)\r
-                                                       return;\r
-                                               \r
-                                               try {\r
-                                                       SourceLinkUtil.createDocumentLink(graph, instance, relation, s);\r
-                                               } catch (final DatabaseException e) {\r
-                                                       String l = NameUtils.getSafeLabel(graph, s);\r
-                                                       if (l.length() == 0)\r
-                                                               l = NameUtils.getSafeName(graph, s);\r
-                                                       final String label = l;\r
-                                                       Display.getDefault().asyncExec(new Runnable() {\r
-                                                               \r
-                                                               @Override\r
-                                                               public void run() {\r
-                                                                       String dialogMessage = "Cannot create document link to \"" + label +"\":" + e.getMessage();\r
-                                                                       MessageDialog dialog = new MessageDialog(Display.getCurrent().getActiveShell(), "Document Link", null, dialogMessage, MessageDialog.INFORMATION, new String[]{"OK"}, 0); \r
-                                                                       dialog.open();\r
-                                                               }\r
-                                                       });\r
-                                               }\r
-                                       }\r
-                               });\r
-                               \r
-                       }\r
-               };\r
-               \r
-       }\r
-       \r
-       \r
-       \r
-       \r
-}\r
+package org.simantics.document.linking.ge;
+
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.swt.widgets.Display;
+import org.simantics.db.ReadGraph;
+import org.simantics.db.Resource;
+import org.simantics.db.WriteGraph;
+import org.simantics.db.common.request.WriteRequest;
+import org.simantics.db.common.utils.NameUtils;
+import org.simantics.db.exception.DatabaseException;
+import org.simantics.db.layer0.adapter.DropActionFactory;
+import org.simantics.db.layer0.variable.Variable;
+import org.simantics.document.linking.ontology.DocumentLink;
+import org.simantics.document.linking.utils.SourceLinkUtil;
+import org.simantics.layer0.Layer0;
+import org.simantics.ui.SimanticsUI;
+import org.simantics.utils.ui.AdaptionUtils;
+
+public class SourceObjectDropAction implements DropActionFactory {
+       
+       
+       @Override
+       public Runnable create(ReadGraph g, Object target, Object source, int operation)
+                       throws DatabaseException {
+               Variable t = (Variable)target;
+        Resource s = AdaptionUtils.adaptToSingle(source, Resource.class);
+        if (s == null) {
+               Variable sv = AdaptionUtils.adaptToSingle(source, Variable.class);
+               if (sv != null)
+                       s = sv.getRepresents(g);
+        }
+
+        if(t == null || s == null)
+            return null;
+        DocumentLink sl = DocumentLink.getInstance(g);
+        if (g.isInstanceOf(s, sl.Source)) {
+               return null;
+        }
+               return getRunnable(t, s);
+       }
+       
+       private Runnable getRunnable(final Variable tv, final Resource s) {
+               return new Runnable() {
+                       
+                       @Override
+                       public void run() {
+                               SimanticsUI.getSession().asyncRequest(new WriteRequest() {
+                                       
+                                       @Override
+                                       public void perform(WriteGraph graph) throws DatabaseException {
+                                               Layer0 l0 = Layer0.getInstance(graph);
+                                               
+                                               Resource relation = tv.getPossiblePredicateResource(graph);
+                                               Resource instance; 
+                                               if (relation != null && graph.isInstanceOf(relation, l0.FunctionalRelation)) {
+                                                       instance = tv.getParent(graph).getPossibleRepresents(graph);
+                                               } else {
+                                                       instance = tv.getPossibleRepresents(graph);
+                                               }
+                                               if (instance == null)
+                                                       return;
+                                               
+                                               try {
+                                                       SourceLinkUtil.createDocumentLink(graph, instance, relation, s);
+                                               } catch (final DatabaseException e) {
+                                                       String l = NameUtils.getSafeLabel(graph, s);
+                                                       if (l.length() == 0)
+                                                               l = NameUtils.getSafeName(graph, s);
+                                                       final String label = l;
+                                                       Display.getDefault().asyncExec(new Runnable() {
+                                                               
+                                                               @Override
+                                                               public void run() {
+                                                                       String dialogMessage = "Cannot create document link to \"" + label +"\":" + e.getMessage();
+                                                                       MessageDialog dialog = new MessageDialog(Display.getCurrent().getActiveShell(), "Document Link", null, dialogMessage, MessageDialog.INFORMATION, new String[]{"OK"}, 0); 
+                                                                       dialog.open();
+                                                               }
+                                                       });
+                                               }
+                                       }
+                               });
+                               
+                       }
+               };
+               
+       }
+       
+       
+       
+       
+}