2016-07-25 3 views
2

Ich versuche, Verknüpfung oder Verknüpfung eines Dokuments in Alfresco mit Apache-Chemie zu erstellen. Mit folgenden Code Ich versuche, Link zu erstellen oder eine VerknüpfungAlfresco: Der Artikel kann nach dem Erstellen eines Links nicht gefunden werden

properties = new HashMap<String, Object>(); 
properties.put(PropertyIds.BASE_TYPE_ID, BaseTypeId.CMIS_ITEM.value()); 

// define a name and a description for the link 
properties.put(PropertyIds.NAME, "Name_for_the.link"); 
properties.put("cmis:description", "test create link");    
properties.put(PropertyIds.OBJECT_TYPE_ID, "I:app:filelink"); 

//define the destination node reference 
properties.put("cm:destination", "workspace://SpacesStore/41f43936-31c1-432e-bb33-438c05bcb26c");  

// choose a folder where the link is to be create 
Folder destinationFolder = (Folder) session.getObjectByPath("/path/to/the/destination/folder"); 

session.createItem(properties, destinationFolder); 

Jetzt Problem ist, dass ich in der Lage bin Link zu erstellen, die von oben Code, aber wenn ich auf den Link geklickt es mir zeigt

Der Artikel kann nicht sein gefunden. Entweder haben Sie keine Berechtigung, das Objekt anzuzeigen, es wurde entfernt oder es existierte nie.

+1

helfen Sie versuchen, eine bekommen ' Datei 'oder ein' Ordner' ??? –

+0

Nur als ein Vorschlag können Sie Menschen motivieren, Ihnen mit einer Abstimmung zu helfen, es ist nur ein Vorschlag –

+0

Dank für die Antwort, ich benutze Datei – deen

Antwort

0

Um die Eigenschaften eines bestehenden Objekts zu ändern, Sie es zuerst abrufen müssen, dann können Sie die Methode setProperty auf dem Objekt selbst aufgerufen werden, in der ID und dem neuen Wert für jede Eigenschaft vorbei, die Sie beabsichtigen wechseln. Am Ende einfach die updateProperties Methode aufrufe wie folgt:

public static void main(String args[]) { 
String serverUrl = args[0]; 
String username = args[1]; 
String password = args[2]; 
Session session = getSession(serverUrl, username, password); 
Folder root = session.getRootFolder(); 
Map<String, Object> properties = new HashMap<String, Object>(); 
properties.put(PropertyIds.OBJECT_TYPE_ID, BaseTypeId.CMIS_DOCUMENT. 
value()); 
String name = "New Document (" + System.currentTimeMillis() + 
").txt"; 
properties.put(PropertyIds.NAME, name); 
List<Ace> addAces = new LinkedList<Ace>(); 
List<Ace> removeAces = new LinkedList<Ace>(); 
List<Policy> policies = new LinkedList<Policy>(); 
String content = "The quick brown fox jumps over the lazy dog."; 
ContentStream contentStream = new ContentStreamImpl("text.txt", 
BigInteger.valueOf(content.length()), 
"text/plain", new ByteArrayInputStream(content.getBytes())); 
Document newDocument = root.createDocument(properties, 
contentStream, VersioningState.MAJOR, policies, addAces, removeAces, 
session.getDefaultContext()); 
newDocument.setProperty(PropertyIds.NAME, "Modified document (" + 
System.currentTimeMillis() + ").txt"); 
newDocument.updateProperties(); 
session.save(); 
} 

in diesem Verfahren i Eigenschaften eines Dokuments ist zu ändern, versuchen, etwas wie die Hoffnung zu tun, die Ihnen

+0

Thnx für die Antwort, das ist nicht das, was ich will, ich möchte Link oder Verknüpfung erstellen. Können Sie mir bitte sagen, wie ich nodeRef vom Dokumentobjekt bekommen kann. thnx – deen

Verwandte Themen