private void checkCircularDependency(ModelDefinition model, M2Model existingModel, String parentPrefixedName) throws AlfrescoRuntimeException { for (NamespaceDefinition importedNamespace : model.getImportedNamespaces()) { ModelDefinition md = null; if ((md = dictionaryService.getModelByNamespaceUri(importedNamespace.getUri())) != null) { if (existingModel.getNamespace(importedNamespace.getUri()) != null) { throw new AlfrescoRuntimeException("Failed to validate model update - found circular dependency. You can't set parent " + parentPrefixedName + " as it's model already depends on " + existingModel.getName()); } checkCircularDependency(md, existingModel, parentPrefixedName); } } }
assertEquals(namespacePair.getFirst(), namespaceDefinition.getUri()); assertEquals(namespacePair.getSecond(), namespaceDefinition.getPrefix()); namespaceDefinition = modelDefinition.getNamespaces().iterator().next(); assertNotNull(namespaceDefinition); assertEquals(namespacePair.getFirst(), namespaceDefinition.getUri()); assertEquals(namespacePair.getSecond(), namespaceDefinition.getPrefix());
assertFalse(modelDefinition.isActive()); NamespaceDefinition namespaceDefinition = modelDefinition.getNamespaces().iterator().next(); assertEquals(namespacePair.getFirst(), namespaceDefinition.getUri()); assertEquals(namespacePair.getSecond(), namespaceDefinition.getPrefix()); assertEquals(desc, modelDefinition.getDescription()); assertEquals("John Doe", modelDefinition.getAuthor()); assertEquals(newNamespacePair.getFirst(), namespaceDefinition.getUri()); assertEquals(newNamespacePair.getSecond(), namespaceDefinition.getPrefix()); assertEquals(desc, modelDefinition.getDescription()); assertNull(modelDefinition.getAuthor()); model = M2Model.createModel(namespaceDefinition.getPrefix() + QName.NAMESPACE_PREFIX + modelName); model.createNamespace(namespaceDefinition.getUri(), namespaceDefinition.getPrefix()); model.setDescription(desc); model.setAuthor("Admin Admin");
private void checkCircularDependency(ModelDefinition model, M2Model existingModel, String parentPrefixedName) throws AlfrescoRuntimeException { for (NamespaceDefinition importedNamespace : model.getImportedNamespaces()) { ModelDefinition md = null; if ((md = dictionaryService.getModelByNamespaceUri(importedNamespace.getUri())) != null) { if (existingModel.getNamespace(importedNamespace.getUri()) != null) { throw new AlfrescoRuntimeException("Failed to validate model update - found circular dependency. You can't set parent " + parentPrefixedName + " as it's model already depends on " + existingModel.getName()); } checkCircularDependency(md, existingModel, parentPrefixedName); } } }
ModelDefinition importedModel = dictionaryService.getModelByNamespaceUri(modelDiff.getNamespaceDefinition().getUri()); if(importedModel != null && !model.getNamespaces().isEmpty())
ModelDefinition importedModel = dictionaryService.getModelByNamespaceUri(modelDiff.getNamespaceDefinition().getUri()); if(importedModel != null && !model.getNamespaces().isEmpty())