+ }\r
+ for (Resource template : graph.getObjects(entry, DIA.HasTemplate)) {\r
+ SimanticsClipboardImpl builder = new SimanticsClipboardImpl();\r
+ DefaultCopyHandler handler = new DefaultCopyHandler(template);\r
+ DefaultPasteImportAdvisor advisor = new DefaultPasteImportAdvisor(instance) {\r
+ @Override\r
+ public Resource createRoot(WriteOnlyGraph graph, Root root, Resource resource)\r
+ throws DatabaseException {\r
+ Layer0 l0 = graph.getService(Layer0.class);\r
+ DiagramResource DIA = graph.getService(DiagramResource.class); \r
+ \r
+ if(resource == null) resource = graph.newResource();\r
+ \r
+ graph.claim(library, DIA.HasTemplate, DIA.HasTemplate_Inverse, resource);\r
+ \r
+ String newName = getName(root);\r
+ graph.addLiteral(resource, l0.HasName, l0.NameOf, l0.String, newName, Bindings.STRING);\r
+ \r
+ addRootInfo(root, newName, resource);\r
+ \r
+ return resource;\r
+ }\r
+ };\r
+ handler.copyToClipboard(graph, builder);\r
+ for(Set<SimanticsClipboard.Representation> object : builder.getContents()) {\r
+ TransferableGraph1 tg = ClipboardUtils.accept(graph, object, SimanticsKeys.KEY_TRANSFERABLE_GRAPH);\r
+ TransferableGraphs.importGraph1(graph, tg, advisor);\r
+ }\r
+ \r