@Override public Collection<String> getProjects( String repoId, String namespace ) throws MetadataResolutionException { try { List<String> projects; Path directory = getDirectory( repoId ).resolve( namespace ); if (!(Files.exists(directory) && Files.isDirectory(directory))) { return Collections.emptyList(); } final String searchFile = PROJECT_METADATA_KEY + ".properties"; try(Stream<Path> fs = Files.list(directory)) { projects = fs.filter(Files::isDirectory).filter(path -> Files.exists(path.resolve(searchFile)) ).map(path -> path.getFileName().toString()).collect(Collectors.toList()); } return projects; } catch ( IOException e ) { throw new MetadataResolutionException( e.getMessage(), e ); } }
@Override public Collection<String> getProjectVersions( String repoId, String namespace, String projectId ) throws MetadataResolutionException { try { List<String> projectVersions = new ArrayList<>(); File directory = new File( getDirectory( repoId ), namespace + "/" + projectId ); File[] files = directory.listFiles(); if ( files != null ) { for ( File projectVersion : files ) { if ( new File( projectVersion, PROJECT_VERSION_METADATA_KEY + ".properties" ).exists() ) { projectVersions.add( projectVersion.getName() ); } } } return projectVersions; } catch ( IOException e ) { throw new MetadataResolutionException( e.getMessage(), e ); } }
@Override public Collection<String> getProjectVersions( String repoId, String namespace, String projectId ) throws MetadataResolutionException { try { List<String> projectVersions; Path directory = getDirectory( repoId ).resolve( namespace + "/" + projectId ); if (!(Files.exists(directory) && Files.isDirectory(directory))) { return Collections.emptyList(); } final String searchFile = PROJECT_VERSION_METADATA_KEY + ".properties"; try(Stream<Path> fs = Files.list(directory)) { projectVersions = fs.filter(Files::isDirectory).filter(path -> Files.exists(path.resolve(searchFile)) ).map(path -> path.getFileName().toString()).collect(Collectors.toList()); } return projectVersions; } catch ( IOException e ) { throw new MetadataResolutionException( e.getMessage(), e ); } }
@Override public Collection<String> getProjects( String repoId, String namespace ) throws MetadataResolutionException { try { List<String> projects = new ArrayList<>(); File directory = new File( getDirectory( repoId ), namespace ); File[] files = directory.listFiles(); if ( files != null ) { for ( File project : files ) { if ( new File( project, PROJECT_METADATA_KEY + ".properties" ).exists() ) { projects.add( project.getName() ); } } } return projects; } catch ( IOException e ) { throw new MetadataResolutionException( e.getMessage(), e ); } }
@Override public Collection<String> getArtifactVersions( String repoId, String namespace, String projectId, String projectVersion ) throws MetadataResolutionException { try { File directory = new File( getDirectory( repoId ), namespace + "/" + projectId + "/" + projectVersion ); Properties properties = readOrCreateProperties( directory, PROJECT_VERSION_METADATA_KEY ); Set<String> versions = new HashSet<String>(); for ( Map.Entry entry : properties.entrySet() ) { String name = (String) entry.getKey(); if ( name.startsWith( "artifact:version:" ) ) { versions.add( (String) entry.getValue() ); } } return versions; } catch ( IOException e ) { throw new MetadataResolutionException( e.getMessage(), e ); } }
@Override public Collection<String> getArtifactVersions( String repoId, String namespace, String projectId, String projectVersion ) throws MetadataResolutionException { try { Path directory = getDirectory( repoId ).resolve( namespace + "/" + projectId + "/" + projectVersion ); Properties properties = readOrCreateProperties( directory, PROJECT_VERSION_METADATA_KEY ); Set<String> versions = new HashSet<>( ); for ( Map.Entry entry : properties.entrySet() ) { String name = (String) entry.getKey(); if ( name.startsWith( "artifact:version:" ) ) { versions.add( (String) entry.getValue() ); } } return versions; } catch ( IOException e ) { throw new MetadataResolutionException( e.getMessage(), e ); } }
@Override public Collection<String> getArtifactVersions( String repositoryId, String namespace, String projectId, String projectVersion ) throws MetadataResolutionException { Set<String> versions = new LinkedHashSet<String>(); try { Node root = getJcrSession().getRootNode(); Node node = root.getNode( getProjectVersionPath( repositoryId, namespace, projectId, projectVersion ) ); for ( Node n : JcrUtils.getChildNodes( node ) ) { versions.add( n.getProperty( "version" ).getString() ); } } catch ( PathNotFoundException e ) { // ignore repo not found for now } catch ( RepositoryException e ) { throw new MetadataResolutionException( e.getMessage(), e ); } return versions; }
@Override public Collection<String> getArtifactVersions( String repositoryId, String namespace, String projectId, String projectVersion ) throws MetadataResolutionException { Set<String> versions = new LinkedHashSet<String>(); try { Node root = getJcrSession().getRootNode(); Node node = root.getNode( getProjectVersionPath( repositoryId, namespace, projectId, projectVersion ) ); for ( Node n : JcrUtils.getChildNodes( node ) ) { versions.add( n.getProperty( "version" ).getString() ); } } catch ( PathNotFoundException e ) { // ignore repo not found for now } catch ( RepositoryException e ) { throw new MetadataResolutionException( e.getMessage(), e ); } return versions; }
private Collection<String> getNodeNames( String path, String nodeType ) throws MetadataResolutionException { List<String> names = new ArrayList<>(); try { Node root = getJcrSession().getRootNode(); Node nodeAtPath = root.getNode( path ); for ( Node node : JcrUtils.getChildNodes( nodeAtPath ) ) { if ( node.isNodeType( nodeType ) ) { names.add( node.getName() ); } } } catch ( PathNotFoundException e ) { // ignore repo not found for now } catch ( RepositoryException e ) { throw new MetadataResolutionException( e.getMessage(), e ); } return names; }
private Collection<String> getNodeNames( String path, String nodeType ) throws MetadataResolutionException { List<String> names = new ArrayList<>(); try { Node root = getJcrSession().getRootNode(); Node nodeAtPath = root.getNode( path ); for ( Node node : JcrUtils.getChildNodes( nodeAtPath ) ) { if ( node.isNodeType( nodeType ) ) { names.add( node.getName() ); } } } catch ( PathNotFoundException e ) { // ignore repo not found for now } catch ( RepositoryException e ) { throw new MetadataResolutionException( e.getMessage(), e ); } return names; }
@Override public Collection<ProjectVersionReference> getProjectReferences( String repoId, String namespace, String projectId, String projectVersion ) throws MetadataResolutionException { try { Path directory = getDirectory( repoId ).resolve( namespace + "/" + projectId + "/" + projectVersion ); Properties properties = readOrCreateProperties( directory, PROJECT_VERSION_METADATA_KEY ); int numberOfRefs = Integer.parseInt( properties.getProperty( "ref:lastReferenceNum", "-1" ) ) + 1; List<ProjectVersionReference> references = new ArrayList<>(); for ( int i = 0; i < numberOfRefs; i++ ) { ProjectVersionReference reference = new ProjectVersionReference(); reference.setProjectId( properties.getProperty( "ref:reference." + i + ".projectId" ) ); reference.setNamespace( properties.getProperty( "ref:reference." + i + ".namespace" ) ); reference.setProjectVersion( properties.getProperty( "ref:reference." + i + ".projectVersion" ) ); reference.setReferenceType( ProjectVersionReference.ReferenceType.valueOf( properties.getProperty( "ref:reference." + i + ".referenceType" ) ) ); references.add( reference ); } return references; } catch ( IOException e ) { throw new MetadataResolutionException( e.getMessage(), e ); } }
@Override public ProjectMetadata getProject( String repoId, String namespace, String projectId ) throws MetadataResolutionException { try { Path directory = getDirectory( repoId ).resolve( namespace + "/" + projectId ); Properties properties = readOrCreateProperties( directory, PROJECT_METADATA_KEY ); ProjectMetadata project = null; String id = properties.getProperty( "id" ); if ( id != null ) { project = new ProjectMetadata(); project.setNamespace( properties.getProperty( "namespace" ) ); project.setId( id ); } return project; } catch ( IOException e ) { throw new MetadataResolutionException( e.getMessage(), e ); } }
@Override public ProjectMetadata getProject( String repoId, String namespace, String projectId ) throws MetadataResolutionException { try { File directory = new File( getDirectory( repoId ), namespace + "/" + projectId ); Properties properties = readOrCreateProperties( directory, PROJECT_METADATA_KEY ); ProjectMetadata project = null; String id = properties.getProperty( "id" ); if ( id != null ) { project = new ProjectMetadata(); project.setNamespace( properties.getProperty( "namespace" ) ); project.setId( id ); } return project; } catch ( IOException e ) { throw new MetadataResolutionException( e.getMessage(), e ); } }
@Override public Collection<ProjectVersionReference> getProjectReferences( String repoId, String namespace, String projectId, String projectVersion ) throws MetadataResolutionException { try { File directory = new File( getDirectory( repoId ), namespace + "/" + projectId + "/" + projectVersion ); Properties properties = readOrCreateProperties( directory, PROJECT_VERSION_METADATA_KEY ); int numberOfRefs = Integer.parseInt( properties.getProperty( "ref:lastReferenceNum", "-1" ) ) + 1; List<ProjectVersionReference> references = new ArrayList<>(); for ( int i = 0; i < numberOfRefs; i++ ) { ProjectVersionReference reference = new ProjectVersionReference(); reference.setProjectId( properties.getProperty( "ref:reference." + i + ".projectId" ) ); reference.setNamespace( properties.getProperty( "ref:reference." + i + ".namespace" ) ); reference.setProjectVersion( properties.getProperty( "ref:reference." + i + ".projectVersion" ) ); reference.setReferenceType( ProjectVersionReference.ReferenceType.valueOf( properties.getProperty( "ref:reference." + i + ".referenceType" ) ) ); references.add( reference ); } return references; } catch ( IOException e ) { throw new MetadataResolutionException( e.getMessage(), e ); } }
@Override public Collection<ArtifactMetadata> getArtifacts( String repositoryId, String namespace, String projectId, String projectVersion ) throws MetadataResolutionException { List<ArtifactMetadata> artifacts = new ArrayList<>(); try { Node root = getJcrSession().getRootNode(); String path = getProjectVersionPath( repositoryId, namespace, projectId, projectVersion ); if ( root.hasNode( path ) ) { Node node = root.getNode( path ); for ( Node n : JcrUtils.getChildNodes( node ) ) { if ( n.isNodeType( ARTIFACT_NODE_TYPE ) ) { artifacts.add( getArtifactFromNode( repositoryId, n ) ); } } } } catch ( RepositoryException e ) { throw new MetadataResolutionException( e.getMessage(), e ); } return artifacts; }
@Override public Collection<ArtifactMetadata> getArtifacts( String repositoryId, String namespace, String projectId, String projectVersion ) throws MetadataResolutionException { List<ArtifactMetadata> artifacts = new ArrayList<>(); try { Node root = getJcrSession().getRootNode(); String path = getProjectVersionPath( repositoryId, namespace, projectId, projectVersion ); if ( root.hasNode( path ) ) { Node node = root.getNode( path ); for ( Node n : JcrUtils.getChildNodes( node ) ) { if ( n.isNodeType( ARTIFACT_NODE_TYPE ) ) { artifacts.add( getArtifactFromNode( repositoryId, n ) ); } } } } catch ( RepositoryException e ) { throw new MetadataResolutionException( e.getMessage(), e ); } return artifacts; }
@Override public ProjectMetadata getProject( String repositoryId, String namespace, String projectId ) throws MetadataResolutionException { ProjectMetadata metadata = null; try { Node root = getJcrSession().getRootNode(); // basically just checking it exists String path = getProjectPath( repositoryId, namespace, projectId ); if ( root.hasNode( path ) ) { metadata = new ProjectMetadata(); metadata.setId( projectId ); metadata.setNamespace( namespace ); } } catch ( RepositoryException e ) { throw new MetadataResolutionException( e.getMessage(), e ); } return metadata; }
@Override public ProjectMetadata getProject( String repositoryId, String namespace, String projectId ) throws MetadataResolutionException { ProjectMetadata metadata = null; try { Node root = getJcrSession().getRootNode(); // basically just checking it exists String path = getProjectPath( repositoryId, namespace, projectId ); if ( root.hasNode( path ) ) { metadata = new ProjectMetadata(); metadata.setId( projectId ); metadata.setNamespace( namespace ); } } catch ( RepositoryException e ) { throw new MetadataResolutionException( e.getMessage(), e ); } return metadata; }
throw new MetadataResolutionException( e.getMessage(), e );
throw new MetadataResolutionException( e.getMessage(), e );