Editar espacios

cancel
Showing results for 
Search instead for 
Did you mean: 
ueshiba
Member II

Editar espacios

Hola a todos!

Estoy teniendo un problema a la hora de crear, modificar, listar, etc directorios.

Lo que a mi me gustaría es que desde una aplicación, a través de los webservices que proporciona alfresco, poder comprobar si existe un directorio en un determinado Space y si no, crearlo.

He estado leyendo documentacion, y esto al parecer se realiza con los WebScripts, pero creo que esto no es posible en mi caso, pues yo no accedo directamente a la aplicacion alfresco, sino realizara las consultas y llamadas desde una clase Java.

He probado con un objeto llamado AVMRemoteImpl que proporciona metodos para crear directorios, pero todas las llamadas pasandole el path del Store me devuelven un NullPointerException.

Es posible realizar lo que estoy intentando? Crear directorios en Alfresco desde una aplicacion externa a traves de los webservices?

Un saludo y muchas gracias!
2 Replies
pjcaracuel_2349
Active Member II

Re: Editar espacios

Buenas,

Te recomiendo que leas lo ejemplos de webservices que vienen en el sdk

http://wiki.alfresco.com/wiki/Alfresco_SDK

Adjunto tambien un ejemplo, para que veas un poco como va

public class SamplesBase
{
    /** Admin user name and password used to connect to the repository */
    protected static final String USERNAME = "admin";
    protected static final String PASSWORD = "admin";
   
    /** The store used throughout the samples */
    protected static final Store STORE = new Store(Constants.WORKSPACE_STORE, "SpacesStore");
   
    protected static final Reference SAMPLE_FOLDER = new Reference(STORE, null, "/app:company_home/cm:sample_folder");
   
    protected static void createSampleData() throws Exception
    {
        try
        {
            // Check to see if the sample folder has already been created or not
            WebServiceFactory.getRepositoryService().get(new Predicate(new Reference[]{SAMPLE_FOLDER}, STORE, null));
        }
        catch (Exception exception)
        {
            // Create parent reference to company home
            ParentReference parentReference = new ParentReference(
                    STORE,
                    null,
                    "/app:company_home",
                    Constants.ASSOC_CONTAINS,
                    Constants.createQNameString(Constants.NAMESPACE_CONTENT_MODEL, "sample_folder"));

            // Create folder
            NamedValue[] properties = new NamedValue[]{Utils.createNamedValue(Constants.PROP_NAME, "Web Service Sample Folder")};
            CMLCreate create = new CMLCreate("1", parentReference, null, null, null, Constants.TYPE_FOLDER, properties);
            CML cml = new CML();
            cml.setCreate(new CMLCreate[]{create});
            UpdateResult[] results = WebServiceFactory.getRepositoryService().update(cml);               
           
            // Create parent reference to sample folder
            Reference sampleFolder = results[0].getDestination();
            ParentReference parentReference2 = new ParentReference(
                    STORE,
                    sampleFolder.getUuid(),
                    null,
                    Constants.ASSOC_CONTAINS,
                    Constants.createQNameString(Constants.NAMESPACE_CONTENT_MODEL, "sample_content"));
           
            // Create content
            NamedValue[] properties2 = new NamedValue[]{Utils.createNamedValue(Constants.PROP_NAME, "SampleContent.txt")};
            CMLCreate create2 = new CMLCreate("1", parentReference2, null, null, null, Constants.TYPE_CONTENT, properties2);
            CML cml2 = new CML();
            cml2.setCreate(new CMLCreate[]{create2});
            UpdateResult[] results2 = WebServiceFactory.getRepositoryService().update(cml2); 
           
            // Set content
            ContentFormat format = new ContentFormat(Constants.MIMETYPE_TEXT_PLAIN, "UTF-8");
            byte[] content = "This is some test content provided by the Alfresco development team!".getBytes();
            WebServiceFactory.getContentService().write(results2[0].getDestination(), Constants.PROP_CONTENT, content, format);
           
        }
    }
}

Saludos
ueshiba
Member II

Re: Editar espacios

MUCHISIMAS gracias Smiley Happy