@Test public void testTransitionProxy() throws Exception { DocumentModel root = session.getRootDocument(); DocumentModel doc = new DocumentModelImpl("/", "doc", "File"); doc = session.createDocument(doc); doc.setProperty("dublincore", "title", "t1"); doc = session.saveDocument(doc); DocumentModel proxy = session.publishDocument(doc, root); session.save(); Collection<String> transitions = proxy.getAllowedStateTransitions(); assertEquals(3, transitions.size()); if (proxy.getAllowedStateTransitions().contains("delete")) { proxy.followTransition("delete"); } assertEquals("deleted", proxy.getCurrentLifeCycleState()); }
@Test public void documentManagementInTestCasesExample() throws ClientException { SchemaManager typeService = Framework.getLocalService(SchemaManager.class); DocumentType[] types = typeService.getDocumentTypes(); for (DocumentType type : types) { System.out.println(type.getName()); } DocumentModel mydoc = session.createDocumentModel("File"); // DocumentModel mydoc = session.createDocumentModel("/", "toto", // "File"); mydoc.setPathInfo("/", "toto"); mydoc.setPropertyValue("dc:title", "Toto"); mydoc = session.createDocument(mydoc); session.save(); DocumentModelList docs = session.query("SELECT * FROM Document WHERE dc:title = 'Toto'"); assertEquals(1, docs.size()); mydoc = docs.get(0); assertEquals("toto", mydoc.getName()); assertEquals("project", mydoc.getCurrentLifeCycleState()); for (String state : mydoc.getAllowedStateTransitions()) { System.out.println("Transition : " + state); } // session.followTransition(mydoc.getRef(), "approve"); mydoc.followTransition("approve"); mydoc.setPropertyValue("dc:description", "My Description"); mydoc = session.saveDocument(mydoc); session.save(); assertEquals("approved", mydoc.getCurrentLifeCycleState()); assertEquals("0.0", mydoc.getVersionLabel()); assertEquals(0, session.getVersions(mydoc.getRef()).size()); session.checkIn(mydoc.getRef(), VersioningOption.MINOR, ""); mydoc = session.getDocument(mydoc.getRef()); assertEquals("0.1", mydoc.getVersionLabel()); assertEquals(1, session.getVersions(mydoc.getRef()).size()); DocumentModel folder = session.createDocumentModel("/", "folder", "Folder"); folder.setPropertyValue("dc:title", "Folder"); folder = session.createDocument(folder); session.save(); assertEquals(0, session.getChildren(folder.getRef()).size()); session.publishDocument(mydoc, folder); assertEquals(1, session.getChildren(folder.getRef()).size()); DocumentModel folder2 = session.createDocumentModel("/", "folder2", "Folder"); folder2.setPropertyValue("dc:title", "Folder2"); folder2 = session.createDocument(folder2); session.save(); DocumentModel proxy = session.createProxy(mydoc.getRef(), folder2.getRef()); assertEquals("Toto", proxy.getPropertyValue("dc:title")); mydoc.setPropertyValue("dc:title", "Tutu"); session.saveDocument(mydoc); session.save(); proxy = session.getDocument(proxy.getRef()); assertEquals("Tutu", proxy.getPropertyValue("dc:title")); proxy.setPropertyValue("dc:title", "Tata"); session.saveDocument(proxy); session.save(); mydoc = session.getDocument(mydoc.getRef()); assertEquals("Tata", mydoc.getPropertyValue("dc:title")); }