eXo JCR :: Ext :: Services 1.16.0-Alpha1

org.exoplatform.services.jcr.ext.artifact
Class ArtifactManagingServiceImpl

java.lang.Object
  extended by org.exoplatform.services.jcr.ext.artifact.ArtifactManagingServiceImpl
All Implemented Interfaces:
ArtifactManagingService, org.picocontainer.Startable

public class ArtifactManagingServiceImpl
extends Object
implements ArtifactManagingService, org.picocontainer.Startable

Created by The eXo Platform SAS .
Service responsible for Administration Maven repository the served JCR structure inside workspaceName is: rootPath (maven-root)/ ---part-of-group-folder1/ (nt:folder + exo:groupId) ---part-of-group-foldern/ ------artifact-root-folder/(nt:folder + exo:artifactId) ---------maven-metadata.xml(nt:file) ---------maven-metadata.xml.sha1(nt:file) ---------artifact-version-folder/(nt:folder + exo:versionId) ------------artifactId-version.jar (nt:file + exo:mavenjar / nt:resource) ------------artifactId-version.jar.sha1 (nt:file + exo:mavensha1 / nt:resource ) ------------artifactId-version.pom (nt:file + exo:mavenpom / nt:resource) ------------artifactId-version.pom.sha1 (nt:file + exo:mavensha1/ (nt:resource) ------------maven-metadata.xml (nt:file +exo:mavenmetadata / (nt:resource ) ------------maven-metadata.xml.sha1(nt:file + exo:mavensha1 / (nt:resource)

Version:
$Id: $
Author:
Gennady Azarenkov, Volodymyr Krasnikov

Constructor Summary
ArtifactManagingServiceImpl(org.exoplatform.container.xml.InitParams params, org.exoplatform.services.jcr.RepositoryService repositoryService)
          without registry service
ArtifactManagingServiceImpl(org.exoplatform.container.xml.InitParams initParams, org.exoplatform.services.jcr.RepositoryService repositoryService, org.exoplatform.services.jcr.ext.registry.RegistryService registryService)
           
 
Method Summary
 void addArtifact(org.exoplatform.services.jcr.ext.common.SessionProvider sp, ArtifactDescriptor artifact, InputStream jarIStream, InputStream pomIStream)
          adds (deploys) artifact including creating necessary group folders, pom and checksum files
 void changePermission(org.exoplatform.services.jcr.ext.common.SessionProvider sp, Descriptor artifact, String identity, String[] permissions, boolean delete)
          Changes acess permissions for the specified artifact ang given identity
protected  File createMultiMetadata(String groupId, String artifactId, String current_version, List<String> v_list)
           
protected  File createSingleMetadata(String groupId, String artifactId, String version)
           
 void exportArtifacts(org.exoplatform.services.jcr.ext.common.SessionProvider sp, FolderDescriptor parentFolder, File destFolder)
           
 void exportArtifacts(org.exoplatform.services.jcr.ext.common.SessionProvider sp, FolderDescriptor parentFolder, OutputStream out)
          exports list of artifacts from maven repo into output stream
 List<Descriptor> getDescriptors(org.exoplatform.services.jcr.ext.common.SessionProvider sp, FolderDescriptor parentFolder)
           
 List getListErrors()
           
 List getPermission(org.exoplatform.services.jcr.ext.common.SessionProvider sp, Descriptor artifact)
          Returns acess control list for the specified artifact
 void importArtifacts(org.exoplatform.services.jcr.ext.common.SessionProvider sp, File folder)
           
 void importArtifacts(org.exoplatform.services.jcr.ext.common.SessionProvider sp, InputStream in)
          imports list of artifacts into maven repo
 void removeArtifact(org.exoplatform.services.jcr.ext.common.SessionProvider sp, Descriptor artifact)
          removes artifact
 List<Descriptor> searchArtifacts(org.exoplatform.services.jcr.ext.common.SessionProvider sp, SearchCriteria criteria)
           
 void start()
           
 void stop()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ArtifactManagingServiceImpl

public ArtifactManagingServiceImpl(org.exoplatform.container.xml.InitParams initParams,
                                   org.exoplatform.services.jcr.RepositoryService repositoryService,
                                   org.exoplatform.services.jcr.ext.registry.RegistryService registryService)
                            throws org.exoplatform.services.jcr.config.RepositoryConfigurationException
Parameters:
params -
repositoryService -
registryService -
Throws:
org.exoplatform.services.jcr.config.RepositoryConfigurationException

ArtifactManagingServiceImpl

public ArtifactManagingServiceImpl(org.exoplatform.container.xml.InitParams params,
                                   org.exoplatform.services.jcr.RepositoryService repositoryService)
                            throws org.exoplatform.services.jcr.config.RepositoryConfigurationException
without registry service

Parameters:
params -
repositoryService -
Throws:
org.exoplatform.services.jcr.config.RepositoryConfigurationException
Method Detail

addArtifact

public void addArtifact(org.exoplatform.services.jcr.ext.common.SessionProvider sp,
                        ArtifactDescriptor artifact,
                        InputStream jarIStream,
                        InputStream pomIStream)
                 throws javax.jcr.RepositoryException
Description copied from interface: ArtifactManagingService
adds (deploys) artifact including creating necessary group folders, pom and checksum files

Specified by:
addArtifact in interface ArtifactManagingService
Parameters:
sp - the session provider
artifact - descriptor
Throws:
javax.jcr.RepositoryException

exportArtifacts

public void exportArtifacts(org.exoplatform.services.jcr.ext.common.SessionProvider sp,
                            FolderDescriptor parentFolder,
                            OutputStream out)
                     throws javax.jcr.RepositoryException,
                            FileNotFoundException
Description copied from interface: ArtifactManagingService
exports list of artifacts from maven repo into output stream

Specified by:
exportArtifacts in interface ArtifactManagingService
Parameters:
sp - the session provider
parentFolder - the folder which children we need to get
Throws:
javax.jcr.RepositoryException
FileNotFoundException

exportArtifacts

public void exportArtifacts(org.exoplatform.services.jcr.ext.common.SessionProvider sp,
                            FolderDescriptor parentFolder,
                            File destFolder)
                     throws javax.jcr.RepositoryException,
                            FileNotFoundException
Specified by:
exportArtifacts in interface ArtifactManagingService
Throws:
javax.jcr.RepositoryException
FileNotFoundException

getDescriptors

public List<Descriptor> getDescriptors(org.exoplatform.services.jcr.ext.common.SessionProvider sp,
                                       FolderDescriptor parentFolder)
                                throws javax.jcr.RepositoryException
Specified by:
getDescriptors in interface ArtifactManagingService
Parameters:
sp - the session provider
parentFolder - the folder which children we need to get
Returns:
list of child descriptors
Throws:
javax.jcr.RepositoryException

importArtifacts

public void importArtifacts(org.exoplatform.services.jcr.ext.common.SessionProvider sp,
                            InputStream in)
                     throws javax.jcr.RepositoryException,
                            FileNotFoundException
Description copied from interface: ArtifactManagingService
imports list of artifacts into maven repo

Specified by:
importArtifacts in interface ArtifactManagingService
Parameters:
sp - the session provider
Throws:
javax.jcr.RepositoryException
FileNotFoundException

importArtifacts

public void importArtifacts(org.exoplatform.services.jcr.ext.common.SessionProvider sp,
                            File folder)
                     throws javax.jcr.RepositoryException,
                            FileNotFoundException
Specified by:
importArtifacts in interface ArtifactManagingService
Parameters:
sp - - Session provider
Throws:
javax.jcr.RepositoryException
FileNotFoundException

removeArtifact

public void removeArtifact(org.exoplatform.services.jcr.ext.common.SessionProvider sp,
                           Descriptor artifact)
                    throws javax.jcr.RepositoryException
Description copied from interface: ArtifactManagingService
removes artifact

Specified by:
removeArtifact in interface ArtifactManagingService
Parameters:
sp - the session provider
artifact - descriptor
Throws:
javax.jcr.RepositoryException

getPermission

public List getPermission(org.exoplatform.services.jcr.ext.common.SessionProvider sp,
                          Descriptor artifact)
                   throws javax.jcr.RepositoryException
Description copied from interface: ArtifactManagingService
Returns acess control list for the specified artifact

Specified by:
getPermission in interface ArtifactManagingService
Parameters:
sp - the session provider
artifact - the artifact which ACL we need to get
Throws:
javax.jcr.RepositoryException

changePermission

public void changePermission(org.exoplatform.services.jcr.ext.common.SessionProvider sp,
                             Descriptor artifact,
                             String identity,
                             String[] permissions,
                             boolean delete)
                      throws javax.jcr.RepositoryException
Description copied from interface: ArtifactManagingService
Changes acess permissions for the specified artifact ang given identity

Specified by:
changePermission in interface ArtifactManagingService
Parameters:
sp - the session provider
artifact - the artifact which will be changed
identity - identity for addin/removing permissions
permissions - array of permissions to set/remove
Throws:
javax.jcr.RepositoryException

searchArtifacts

public List<Descriptor> searchArtifacts(org.exoplatform.services.jcr.ext.common.SessionProvider sp,
                                        SearchCriteria criteria)
                                 throws javax.jcr.RepositoryException
Specified by:
searchArtifacts in interface ArtifactManagingService
Parameters:
sp - the session provider
criteria - for search
Returns:
list of descriptors
Throws:
javax.jcr.RepositoryException

start

public void start()
Specified by:
start in interface org.picocontainer.Startable

stop

public void stop()
Specified by:
stop in interface org.picocontainer.Startable

createSingleMetadata

protected File createSingleMetadata(String groupId,
                                    String artifactId,
                                    String version)
                             throws FileNotFoundException
Throws:
FileNotFoundException

createMultiMetadata

protected File createMultiMetadata(String groupId,
                                   String artifactId,
                                   String current_version,
                                   List<String> v_list)
                            throws FileNotFoundException
Throws:
FileNotFoundException

getListErrors

public List getListErrors()
Specified by:
getListErrors in interface ArtifactManagingService

eXo JCR :: Ext :: Services 1.16.0-Alpha1

Copyright © 2013 eXo Platform SAS. All Rights Reserved.