AnsweredAssumed Answered

Import de données dans alfresco par programmation java

Question asked by yanock on Jun 17, 2010
Latest reply on Jun 22, 2010 by rguinot
Bonjour,

j'utilise le compte de mon collègue pour poster une question car nous travaillons en binôme à l'intégration d'alfresco.
Notre question en ce moment est d'intégrer des données par programmation.
J'utilise java avec lequel je me suis battu pour avoir un semblant de résultat et voila ce que ca donne :
Code :
import java.io.File;
import java.io.FileNotFoundException;
import org.alfresco.repo.importer.ACPImportPackageHandler;
import org.alfresco.repo.importer.ImporterComponent;
import org.alfresco.service.cmr.repository.StoreRef;
import org.alfresco.service.cmr.view.ExporterCrawlerParameters;
import org.alfresco.service.cmr.view.ImportPackageHandler;
import org.alfresco.service.cmr.view.Location;




public class Main {

   public static void main(String[] args) throws FileNotFoundException {

      // define which part of the Repository to export
      Location location = new Location(new StoreRef("workspace", "SpacesStore"));
      location.setPath("/");
      ExporterCrawlerParameters parameters = new ExporterCrawlerParameters();
      parameters.setExportFrom(location);

      
      String cheminFichierZip = "C:/Documents and Settings/user/Bureau/fichierEssai.zip";
      File fichierZip = new File(cheminFichierZip);
      
      ImportPackageHandler  handler = new ACPImportPackageHandler (fichierZip,"utf-8");

      // import (note: in this example we're not interested in progress)
      ImporterComponent importer = new ImporterComponent() ;
      

      
      importer.importView(handler,location,null,null);
      }
}

qui me donne :
Exception in thread "main" java.lang.NullPointerException
   at org.alfresco.repo.importer.ImporterComponent.getNodeRef(ImporterComponent.java:248)
   at org.alfresco.repo.importer.ImporterComponent.importView(ImporterComponent.java:227)
   at Main.main(Main.java:34)


et j'ai aussi essayer de passer par :
import java.io.FileNotFoundException;
import javax.jcr.Node;
import javax.jcr.Repository;
import javax.jcr.Session;
import javax.jcr.SimpleCredentials;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Main {


   
   public static void main(String[] args) throws FileNotFoundException {
      

         String result = "";
           try {
   
               ApplicationContext context = new ClassPathXmlApplicationContext("classpath:alfresco/application-context.xml");
   
              Repository repository = (Repository)context.getBean("JCR.Repository");
   
               SimpleCredentials credentials = new SimpleCredentials("admin",  "admin".toCharArray());
               Session session = repository.login(credentials);
   
               Node rootNode = session.getRootNode();
               result = "Root node: path=" + rootNode.getPath() + ", type=" + rootNode.getPrimaryNodeType().getName();
         
           } catch (Exception e) {
               System.out.println("Error: " + e.getMessage());
           }
   
           System.out.println(result);
   
      }
}
Et après 10 secondes il me renvoit :
Error: Error creating bean with name 'avmRemoteService' defined in class path resource [alfresco/remote-services-context.xml]: Invocation of init method failed; nested exception is java.rmi.server.ExportException: Port already in use: 50501; nested exception is:
   java.net.BindException: Address already in use: JVM_Bind

Ce sont des développement commencé à partir d'exemples trouvés sur le wiki ou ailleurs.

Si quelqu'un a une idée pour me débloquer ce serait simpa.

Outcomes