AnsweredAssumed Answered

Crear un link usando API de Alfresco

Question asked by jamoreno on Dec 3, 2007
Buenas,

Estoy intentando crear un link a un fichero a través de la API de Alfresco. Sólo he conseguido encontrar un ejemplo que realiza esto mismo a través de WebService.

public void wsCreateLink(String sourceNode,
                                         String destinationNode)
   {
      String storeSchema = Constants.WORKSPACE_STORE;
     String storeAddress = "SpacesStore";
     final Store STORE = new Store(storeSchema, storeAddress);
     

     try
     {
        //node to link
        Reference ref = new Reference();
        ref.setStore(STORE);
        ref.setUuid(sourceNode);
        
        //node destination 14c29a12-7be0-11db-83b6-f5ef9685f99e
        ParentReference destinationFolder = new ParentReference();
        destinationFolder.setStore(STORE);
        destinationFolder.setUuid(destinationNode);
        destinationFolder.setAssociationType(Constants.ASSOC_CONTAINS);
        destinationFolder.setChildName("poppi");
     
      Predicate pred = new Predicate();
      pred.setStore(STORE);
      pred.setNodes(new Reference[]{ref});
     
     
      NamedValue[] prop = new NamedValue[4];
      prop[0] = new NamedValue();
      prop[0].setName(Constants.PROP_NAME);
      prop[0].setValue("Name");
      prop[0].setIsMultiValue(false);
      prop[1] = new NamedValue();
      prop[1].setName(Constants.PROP_TITLE);
      prop[1].setValue("Title");
      prop[1].setIsMultiValue(false);
      prop[2] = new NamedValue();
      prop[2].setName(Constants.PROP_DESCRIPTION);
      prop[2].setValue("Description");
      prop[2].setIsMultiValue(false);
      prop[3] = new NamedValue();
      prop[3].setName("{http://www.alfresco.org/model/content/1.0}destination");
      prop[2].setName(Constants.PROP_DESCRIPTION);
      prop[2].setValue("Descrizione");
      prop[2].setIsMultiValue(false);
      prop[3].setValue("workspace://SpacesStore/75710e09-83a4-11db-a5ec-7f23e300cdcd");
      prop[3].setIsMultiValue(false);
     
      CMLCreate create = new CMLCreate();
      create.setParent(destinationFolder);
      create.setAssociationType(Constants.ASSOC_CONTAINS);
      create.setType("{http://www.alfresco.org/model/application/1.0}filelink");
      create.setProperty(prop);
      create.setChildName("Childname");
     
      CML cml = new CML();
      cml.setCreate(new CMLCreate[]{create});
     
      UpdateResult[] result = repositoryService.update(cml);   
      }
     catch (Exception e1)
     {
         // TODO Auto-generated catch block
         e1.printStackTrace();
      }
   }


¿Ha hecho alguien algo similar usando las APIs?

Muchas gracias por todo.

Outcomes