/** * Creates a new id based on strings. This constructor is required for @see org.eclipse.winery.repository.resources.AbstractComponentsResource * * @param ns the namespace to be used * @param id the id to be used * @param URLencoded true: both Strings are URLencoded, false: both Strings are not URLencoded */ public DefinitionsChildId(String ns, String id, boolean URLencoded) { this(new Namespace(ns, URLencoded), new XmlId(id, URLencoded)); }
public ArtifactTypeId(QName qname) { this(new Namespace(Objects.requireNonNull(qname).getNamespaceURI(), false), new XmlId(Objects.requireNonNull(qname).getLocalPart(), false)); }
/** * Deletes the whole namespace in the component */ public static Response delete(Class<? extends DefinitionsChildId> definitionsChildIdClazz, String namespaceStr) { Namespace namespace = new Namespace(namespaceStr, true); try { RepositoryFactory.getRepository().forceDelete(definitionsChildIdClazz, namespace); } catch (IOException e) { LOGGER.error(e.getMessage(), e); return Response.serverError().entity(e.getMessage()).build(); } return Response.noContent().build(); }
@Path("{namespace}/") @GET @ApiOperation(value = "Returns all available local names of defined elements in this namespace") @Produces(MediaType.APPLICATION_JSON) public List<String> getAllElementLocalNames( @PathParam("namespace") String nsString, @QueryParam(value = "elements") String returnElements, @QueryParam(value = "types") String returnTypes) { // returnElements is not read as either types or elements may be read return RepositoryFactory.getRepository().getXsdImportManager() .getAllDefinedLocalNames(new Namespace(nsString, true), (returnTypes != null)); }
private Collection<Namespace> getNamespaces(Collection<Class<? extends DefinitionsChildId>> definitionsChildIds) { // we use a HashSet to avoid reporting duplicate namespaces Collection<Namespace> res = new HashSet<>(); for (Class<? extends DefinitionsChildId> id : definitionsChildIds) { String rootPathFragment = Util.getRootPathFragment(id); Path dir = this.repositoryRoot.resolve(rootPathFragment); if (!Files.exists(dir)) { continue; } assert (Files.isDirectory(dir)); final OnlyNonHiddenDirectories onhdf = new OnlyNonHiddenDirectories(); // list all directories contained in this directory try (DirectoryStream<Path> ds = Files.newDirectoryStream(dir, onhdf)) { for (Path nsP : ds) { // the current path is the namespace Namespace ns = new Namespace(nsP.getFileName().toString(), true); res.add(ns); } } catch (IOException e) { FilebasedRepository.LOGGER.debug("Cannot close ds", e); } } return res; }
public List<ComplianceRuleId> getRuleIds(TServiceTemplate serviceTemplate) { List<ComplianceRuleId> complianceRules = new ArrayList<>(); Namespace namespace = new Namespace(serviceTemplate.getTargetNamespace(), false); Collection<Namespace> componentsNamespaces = RepositoryFactory.getRepository().getComponentsNamespaces(ComplianceRuleId.class); List<Namespace> relevantNamespaces = componentsNamespaces.stream() .filter(ns -> namespace.getDecoded().startsWith( ns.getDecoded().split("/compliancerules")[0] ) ).collect(Collectors.toList()); for (Namespace space : relevantNamespaces) { complianceRules.addAll((Collection<? extends ComplianceRuleId>) ((FilebasedRepository) RepositoryFactory.getRepository()).getAllIdsInNamespace(ComplianceRuleId.class, space)); } return complianceRules; }
for (Path nsP : ds) { Namespace ns = new Namespace(nsP.getFileName().toString(), true); try (DirectoryStream<Path> idDS = Files.newDirectoryStream(nsP, onhdf)) { for (Path idP : idDS) {
Map<String, RepositoryFileReference> mapFromLocalNameToXSD = xsdImportManager.getMapFromLocalNameToXSD(new Namespace(element.getNamespaceURI(), false), false); RepositoryFileReference ref = mapFromLocalNameToXSD.get(element.getLocalPart()); if (ref == null) {
final Map<String, RepositoryFileReference> mapFromLocalNameToXSD = configuration.getRepository().getXsdImportManager().getMapFromLocalNameToXSD(new Namespace(element.getNamespaceURI(), false), false); final RepositoryFileReference repositoryFileReference = mapFromLocalNameToXSD.get(element.getLocalPart()); if (repositoryFileReference == null) {