Projet esup-ecm

Recherche

Sommaire

Pages enfant
  • Accès nuxeo via CMIS

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

...

  1. mvn archetype:create -DgroupId=fr.univrennes1.testCMIS -DartifactId=testCMIS -DpackageName=fr.univrennes1.testCMIS
  2. modification su pom.xml pour ajouter les dépendances requises :
    Bloc de code
    xml
    xml
    
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    	<modelVersion>4.0.0</modelVersion>
    	<groupId>fr.univrennes1.testCMIS</groupId>
    	<artifactId>testCMIS</artifactId>
    	<packaging>jar</packaging>
    	<version>1.0-SNAPSHOT</version>
    	<name>testCMIS</name>
    	<url>http://maven.apache.org</url>
    	<dependencies>
    		<dependency>
    			<groupId>junit</groupId>
    			<artifactId>junit</artifactId>
    			<version>3.8.1</version>
    			<scope>test</scope>
    		</dependency>
    		<dependency>
    			<groupId>org.apache.chemistry</groupId>
    			<artifactId>chemistry-api</artifactId>
    			<version>0.5-SNAPSHOT</version>
    		</dependency>
    		<dependency>
    			<groupId>org.apache.chemistry</groupId>
    			<artifactId>chemistry-commons</artifactId>
    			<version>0.5-SNAPSHOT</version>
    		</dependency>
    		<dependency>
    			<groupId>org.apache.chemistry</groupId>
    			<artifactId>chemistry-atompub</artifactId>
    			<version>0.5-SNAPSHOT</version>
    		</dependency>
    		<dependency>
    			<groupId>org.apache.chemistry</groupId>
    			<artifactId>chemistry-atompub-client</artifactId>
    			<version>0.5-SNAPSHOT</version>
    		</dependency>
    	</dependencies>
    </project>
    
  3. Création du projet eclipse : mvn eclipse:eclipse

    Code

    Bloc de code
    java
    java
    
    package fr.univrennes1.testCMIS;
    import java.io.FileInputStream;
    import java.io.IOException;
    
    import org.apache.chemistry.CMISObject;
    import org.apache.chemistry.Connection;
    import org.apache.chemistry.ContentStream;
    import org.apache.chemistry.Document;
    import org.apache.chemistry.Folder;
    import org.apache.chemistry.NameConstraintViolationException;
    import org.apache.chemistry.Repository;
    import org.apache.chemistry.RepositoryInfo;
    import org.apache.chemistry.UpdateConflictException;
    import org.apache.chemistry.atompub.client.APPContentManager;
    import org.apache.chemistry.impl.simple.SimpleContentStream;
    
    public class Cmis
    {
        public static void main( String[] args ) throws NameConstraintViolationException, UpdateConflictException, IOException
        {
        	//************* diverses initialisations *************
        	String url = "http://cmis.demo.nuxeo.org/nuxeo/site/cmis/repository";
            String username = "Administrator";
            String password = "Administrator";
            String path = "/default-domain/workspaces/demo-workspace/testrb";
            String DOSSIER1 = "dossier1";
            String FICHIER1 = "fichier1";
            //Application
    		APPContentManager cm = new APPContentManager(url);
    		cm.login(username, password);
    		//repository
            Repository repository = cm.getRepository("default");
            RepositoryInfo info = repository.getInfo();
            System.out.println("Description : " + info.getDescription());
            System.out.println(info.getVendorName() + ", " + info.getProductName() + ", " + info.getProductVersion());
            //connexion
            Connection connection = repository.getConnection(null);
            //racine de travail
    		Folder root = connection.getFolder(path);
            System.out.println("folder = " + root.getName() + ", date création =" + root.getCreationDate());
    
        	//************* Suppression de Dossier1 *************
            Folder dossier1 = connection.getFolder(path + "/" + DOSSIER1);
            if (dossier1 != null) {
            	for (CMISObject object : dossier1.getChildren()) {
            		object.delete();
    			}
                dossier1.delete();
                System.out.println("Dossier supprimé");
    		}
    
            //************* création du dossier "Dossier1" *************
            Folder newFolder = root.newFolder("cmis:folder");
            newFolder.setName(DOSSIER1);
            newFolder.save();
            System.out.println("Dossier créé");
    
    		//************* création du fichier "Fichier1" *************
            Document newDocument = newFolder.newDocument("cmis:document");
            newDocument.setName(FICHIER1);
            newDocument.save();
            System.out.println("Fichier créé");
    
    		//************* upload du contenu *************
            String fic = "metro.pdf";
            FileInputStream in = new FileInputStream("/A_GARDER_UN_PEU/nuxeo-dev/workspace/testCMIS/src/main/resources/" + fic);
            ContentStream stream = new SimpleContentStream(in, "application/pdf", fic);
            newDocument.setContentStream(stream);
            newDocument.save();
            System.out.println("Fichier chargé");
    
            connection.close();
            cm.logout();
        }
    }