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.

...

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();
    }
}

Remarques

Fonctionne bien, chemistry masque bien la complexité de CMIS, le code est clair. Vivement que nuxeo 5.3.1 sorte !