}\r
};\r
\r
- public static Collection<NamedResource> toNamedResources(RequestProcessor processor, final Collection<Resource> rs) throws DatabaseException {\r
+ public static List<NamedResource> toNamedResources(RequestProcessor processor, final Collection<Resource> rs) throws DatabaseException {\r
return toNamedResources(processor, rs, new TypicalNamingFunction());\r
}\r
\r
- public static Collection<NamedResource> toNamedResources(RequestProcessor processor, final Collection<Resource> rs, final Function2<ReadGraph, Resource, String> namingFunction) throws DatabaseException {\r
- return processor.syncRequest(new UniqueRead<Collection<NamedResource>>() {\r
+ public static List<NamedResource> toNamedResources(RequestProcessor processor, final Collection<Resource> rs, final Function2<ReadGraph, Resource, String> namingFunction) throws DatabaseException {\r
+ return processor.syncRequest(new UniqueRead<List<NamedResource>>() {\r
@Override\r
- public Collection<NamedResource> perform(ReadGraph graph) throws DatabaseException {\r
+ public List<NamedResource> perform(ReadGraph graph) throws DatabaseException {\r
return toNamedResources(graph, rs, namingFunction);\r
}\r
});\r
}\r
\r
- public static Collection<NamedResource> toNamedResources(ReadGraph graph, Collection<Resource> rs, final Function2<ReadGraph, Resource, String> namingFunction) throws DatabaseException {\r
- Collection<NamedResource> result = new ArrayList<NamedResource>(rs.size());\r
+ public static List<NamedResource> toNamedResources(ReadGraph graph, Collection<Resource> rs, final Function2<ReadGraph, Resource, String> namingFunction) throws DatabaseException {\r
+ List<NamedResource> result = new ArrayList<>(rs.size());\r
for (Resource r : rs)\r
result.add(new NamedResource(namingFunction.apply(graph, r), r));\r
return result;\r
return s;\r
}\r
\r
- public static WriteResult<Resource> instantiateTemplate(final Resource target, final NamedResource template,\r
- final Consumer<Pair<WriteGraph, Resource>> successContinuation) {\r
+ public static WriteResult<Resource> instantiateTemplate(\r
+ Resource target,\r
+ NamedResource template,\r
+ Consumer<Pair<WriteGraph, Resource>> successContinuation)\r
+ {\r
return new WriteResultRequest<Resource>() {\r
@Override\r
public Resource perform(WriteGraph graph) throws DatabaseException {\r
// Attach the same symbol contributions to the created typical\r
// diagram type as are attached to the model-designated\r
// contribution source diagram type.\r
+ boolean clonedIndexRootContribution = false;\r
for (Resource symbolContributionSource : cloneSymbolContributionsFrom) {\r
for (Resource contribution : graph.getObjects(symbolContributionSource, DIA.HasSymbolContribution)) {\r
graph.claim(diagramType, DIA.HasSymbolContribution, contribution);\r
+ clonedIndexRootContribution |= graph.isInstanceOf(contribution, DIA.IndexRootSymbolContribution);\r
}\r
}\r
\r
- Resource indexContribution = graph.newResource();\r
- graph.claim(indexContribution, L0.InstanceOf, DIA.IndexRootSymbolContribution);\r
- graph.claim(diagramType, DIA.HasSymbolContribution, indexContribution);\r
+ if (!clonedIndexRootContribution) {\r
+ Resource indexContribution = graph.newResource();\r
+ graph.claim(indexContribution, L0.InstanceOf, DIA.IndexRootSymbolContribution);\r
+ graph.claim(diagramType, DIA.HasSymbolContribution, indexContribution);\r
+ }\r
\r
// Add comment to change set.\r
CommentMetadata cm = graph.getMetadata(CommentMetadata.class);\r