@Override protected TreeNode instantiateNode(IndexTreeView tview, TreeViewRequest req, String path, boolean leaf, String nodeName) { return new IndexBrowserTreeNode(tview, req); }
@Override protected TreeNode decorateArtifactNode(IndexTreeView tview, TreeViewRequest req, ArtifactInfo ai, String path, TreeNode node) { IndexBrowserTreeNode iNode = (IndexBrowserTreeNode) super.decorateArtifactNode(tview, req, ai, path, node); iNode.setClassifier(ai.classifier); iNode.setExtension(ai.fextension); iNode.setPackaging(ai.packaging); iNode.setArtifactUri(buildArtifactUri(iNode)); iNode.setPomUri(buildPomUri(iNode)); return iNode; }
/** * Converts this instance into a DTO, ready for wire transmission. * * @since 2.7.0 */ public IndexBrowserTreeNodeDTO toDTO() { List<IndexBrowserTreeNodeDTO> dtoChildren = null; final List<TreeNode> children = getChildren(); if (children != null && !children.isEmpty()) { dtoChildren = Lists.newArrayList(); for (TreeNode childNode : children) { if (childNode instanceof IndexBrowserTreeNode) { dtoChildren.add(((IndexBrowserTreeNode) childNode).toDTO()); } } } return new IndexBrowserTreeNodeDTO(getType().name(), isLeaf(), getNodeName(), getPath(), dtoChildren, getGroupId(), getArtifactId(), getVersion(), getRepositoryId(), isLocallyAvailable(), getArtifactTimestamp(), getArtifactSha1Checksum(), getArtifactMd5Checksum(), getInitiatorUserId(), getInitiatorIpAddress(), getArtifactOriginReason(), getArtifactOriginUrl(), classifier, extension, packaging, artifactUri, pomUri); } }
throws ResourceException String path = parsePathFromUri(request.getResourceRef().toString()); if (!path.endsWith("/")) { response.redirectPermanent(path + "/"); String repositoryId = getRepositoryId(request); Repository repository = getUnprotectedRepositoryRegistry().getRepository(repositoryId); new IndexBrowserTreeNodeFactory(repository, createRedirectBaseRef(request).toString()); return new IndexBrowserTreeViewResponseDTO(((IndexBrowserTreeNode) node).toDTO()); getLogger().warn("Repository access denied, id=" + repositoryId); throw new ResourceException(Status.CLIENT_ERROR_FORBIDDEN, "Access Denied to Repository"); getLogger().error("Repository Not Found, id=" + repositoryId, e); throw new PlexusResourceException(Status.CLIENT_ERROR_NOT_FOUND, "Repository Not Found", e); getLogger().error("Got IO exception while executing treeView, id=" + repositoryId, e); throw new PlexusResourceException(Status.SERVER_ERROR_INTERNAL, e.getMessage(), e);
protected String buildPomUri(IndexBrowserTreeNode node) { if (StringUtils.isNotEmpty(node.getClassifier())) { return ""; } StringBuilder sb = new StringBuilder(); sb.append("?r="); sb.append(node.getRepositoryId()); sb.append("&g="); sb.append(node.getGroupId()); sb.append("&a="); sb.append(node.getArtifactId()); sb.append("&v="); sb.append(node.getVersion()); sb.append("&p=pom"); return this.baseLinkUrl + sb.toString(); } }
protected String buildArtifactUri( IndexBrowserTreeNode node ) { if ( StringUtils.isEmpty( node.getPackaging() ) || "pom".equals( node.getPackaging() ) ) { return ""; } StringBuffer sb = new StringBuffer(); sb.append( "?r=" ); sb.append( node.getRepositoryId() ); sb.append( "&g=" ); sb.append( node.getGroupId() ); sb.append( "&a=" ); sb.append( node.getArtifactId() ); sb.append( "&v=" ); sb.append( node.getVersion() ); sb.append( "&p=" ); sb.append( node.getPackaging() ); return this.baseLinkUrl + sb.toString(); }
/** * Get the index content from the specified repository. at the specified path (path is appended to the end of the uri). * * @param repositoryId The repository to retrieve the index content for. */ @Override @GET @ResourceMethodSignature( pathParams = { @PathParam( RepositoryIndexContentPlexusResource.REPOSITORY_ID_KEY ) }, output = IndexBrowserTreeViewResponseDTO.class ) public Object get( Context context, Request request, Response response, Variant variant ) throws ResourceException { return super.get( context, request, response, variant ); } }
(IndexBrowserTreeViewResponseDTO) re.getPayload(new IndexBrowserTreeViewResponseDTO());
throws ResourceException String path = parsePathFromUri( request.getResourceRef().toString() ); if ( !path.endsWith( "/" ) ) String repositoryId = getRepositoryId( request ); Repository repository = getUnprotectedRepositoryRegistry().getRepository( repositoryId ); new IndexBrowserTreeNodeFactory( indexerManager.getRepositoryBestIndexContext( repository.getId() ), repository, createRedirectBaseRef( request ).toString() ); return new IndexBrowserTreeViewResponseDTO( (IndexBrowserTreeNode) node ); getLogger().warn( "Repository access denied, id=" + repositoryId ); throw new ResourceException( Status.CLIENT_ERROR_FORBIDDEN, "Access Denied to Repository" ); getLogger().error( "Repository Not Found, id=" + repositoryId, e ); throw new PlexusResourceException( Status.CLIENT_ERROR_NOT_FOUND, "Repository Not Found", e );
@Override protected TreeNode decorateArtifactNode( IndexTreeView tview, ArtifactInfo ai, String path, TreeNode node ) { IndexBrowserTreeNode iNode = ( IndexBrowserTreeNode ) super.decorateArtifactNode( tview, ai, path, node ); iNode.setClassifier( ai.classifier ); iNode.setExtension( ai.fextension ); iNode.setPackaging( ai.packaging ); iNode.setArtifactUri( buildArtifactUri( iNode ) ); iNode.setPomUri( buildPomUri( iNode ) ); return iNode; }
protected String buildPomUri( IndexBrowserTreeNode node ) { if ( StringUtils.isNotEmpty( node.getClassifier() ) ) { return ""; } StringBuffer sb = new StringBuffer(); sb.append( "?r=" ); sb.append( node.getRepositoryId() ); sb.append( "&g=" ); sb.append( node.getGroupId() ); sb.append( "&a=" ); sb.append( node.getArtifactId() ); sb.append( "&v=" ); sb.append( node.getVersion() ); sb.append( "&p=pom" ); return this.baseLinkUrl + sb.toString(); } }
protected String buildArtifactUri(IndexBrowserTreeNode node) { if (StringUtils.isEmpty(node.getPackaging()) || "pom".equals(node.getPackaging())) { return ""; } StringBuilder sb = new StringBuilder(); sb.append("?r="); sb.append(node.getRepositoryId()); sb.append("&g="); sb.append(node.getGroupId()); sb.append("&a="); sb.append(node.getArtifactId()); sb.append("&v="); sb.append(node.getVersion()); sb.append("&p="); sb.append(node.getPackaging()); return this.baseLinkUrl + sb.toString(); }
/** * Get the index content from the specified group at the specified path. * Note that appended to the end of the url should be the path that you want to retrieve index content for. * i.e. /content/org/blah will retrieve the content of the index at that node. * * @param groupId The group id to retrieve index content from. */ @Override @GET @ResourceMethodSignature(pathParams = {@PathParam(GroupIndexContentPlexusResource.GROUP_ID_KEY)}, output = IndexBrowserTreeViewResponseDTO.class) public Object get(Context context, Request request, Response response, Variant variant) throws ResourceException { return super.get(context, request, response, variant); } }
@Override protected TreeNode instantiateNode( IndexTreeView tview, String path, boolean leaf, String nodeName ) { return new IndexBrowserTreeNode( tview, this ); }
/** * Get the index content from the specified group at the specified path. * Note that appended to the end of the url should be the path that you want to retrieve index content for. * i.e. /content/org/blah will retrieve the content of the index at that node. * * @param groupId The group id to retrieve index content from. */ @Override @GET @ResourceMethodSignature( pathParams = { @PathParam( GroupIndexContentPlexusResource.GROUP_ID_KEY ) }, output = IndexBrowserTreeViewResponseDTO.class ) public Object get( Context context, Request request, Response response, Variant variant ) throws ResourceException { return super.get( context, request, response, variant ); } }
/** * Get the index content from the specified repository. at the specified path (path is appended to the end of the * uri). * * @param repositoryId The repository to retrieve the index content for. */ @Override @GET @ResourceMethodSignature(pathParams = {@PathParam(RepositoryIndexContentPlexusResource.REPOSITORY_ID_KEY)}, output = IndexBrowserTreeViewResponseDTO.class) public Object get(Context context, Request request, Response response, Variant variant) throws ResourceException { return super.get(context, request, response, variant); } }