public NamespaceInfo getNamespaceByPrefix(String prefix) { if (prefix == null || Catalog.DEFAULT.equals(prefix)) { NamespaceInfo ns = getDefaultNamespace(); if (ns != null) { prefix = ns.getPrefix(); } } return facade.getNamespaceByPrefix(prefix); }
public <T extends ResourceInfo> T getResourceByName( NamespaceInfo ns, String name, Class<T> clazz) { NamespaceInfo namespace = ns; if (namespace == null) { namespace = getDefaultNamespace(); } T resource = facade.getResourceByName(namespace, name, clazz); if (resource == null && ns == null) { resource = facade.getResourceByName(CatalogFacade.ANY_NAMESPACE, name, clazz); } return resource; }
public void add(NamespaceInfo namespace) { validate(namespace, true); NamespaceInfo added; synchronized (facade) { final NamespaceInfo resolved = resolve(namespace); added = facade.add(resolved); if (getDefaultNamespace() == null) { setDefaultNamespace(resolved); } } added(added); }
public void remove(NamespaceInfo namespace) { if (!getResourcesByNamespace(namespace, ResourceInfo.class).isEmpty()) { throw new IllegalArgumentException("Unable to delete non-empty namespace."); } // TODO: remove synchronized block, need transactions synchronized (facade) { facade.remove(namespace); NamespaceInfo defaultNamespace = getDefaultNamespace(); if (namespace.equals(defaultNamespace) || defaultNamespace == null) { List<NamespaceInfo> namespaces = facade.getNamespaces(); defaultNamespace = null; if (!namespaces.isEmpty()) { defaultNamespace = namespaces.get(0); } setDefaultNamespace(defaultNamespace); if (defaultNamespace != null) { WorkspaceInfo defaultWorkspace = getWorkspaceByName(defaultNamespace.getPrefix()); if (defaultWorkspace != null) { setDefaultWorkspace(defaultWorkspace); } } } } removed(namespace); }
public void add(ResourceInfo resource) { if (resource.getNamespace() == null) { // default to default namespace resource.setNamespace(getDefaultNamespace()); } if (resource.getNativeName() == null) { resource.setNativeName(resource.getName()); } ResourceInfo resolved = resolve(resource); validate(resolved, true); ResourceInfo added = facade.add(resolved); added(added); }