import java.util.Date import java.util.HashMap; import java.util.Map; import groovy.xml.MarkupBuilder import org.alfresco.model.ContentModel; import org.alfresco.repo.content.MimetypeMap; import org.alfresco.service.cmr.repository.StoreRef; import org.alfresco.service.cmr.search.SearchService; import org.alfresco.service.namespace.QName; import org.alfresco.service.namespace.NamespaceService; html.html { // html is implicitly bound to new MarkupBuilder(out) head { title("Groovy Servlet") } body { p("Hello, ${request.remoteHost}! ${new Date()}") def authenticationService = registry.getAuthenticationService() authenticationService.authenticate("admin", "admin".toCharArray()) def stores = registry.nodeService.stores for (store in stores){ p(store) } def trx = registry.getTransactionService().getUserTransaction() def flows = workflowService.getActiveWorkflows("jbpm\$1") p(flows.size) def flow = flows.get(0) p(flow) trx.begin() // // locate the company home node // def searchService = registry.getSearchService(); def storeRef = new StoreRef(StoreRef.PROTOCOL_WORKSPACE, "SpacesStore"); def resultSet = searchService.query(storeRef, SearchService.LANGUAGE_LUCENE, "PATH:\"/app:company_home\""); def companyHome = resultSet.getNodeRef(0); // // create new content node within company home // // assign name def name = "Alfresco Java API sample (" + System.currentTimeMillis() + ")"; Map contentProps = new HashMap(); contentProps.put(ContentModel.PROP_NAME, name); // create content node def nodeService = registry.getNodeService(); def association = nodeService.createNode(companyHome, ContentModel.ASSOC_CONTAINS, QName.createQName(NamespaceService.CONTENT_MODEL_PREFIX, name), ContentModel.TYPE_CONTENT, contentProps); def content = association.getChildRef(); // add titled aspect (for Web Client display) Map titledProps = new HashMap(); titledProps.put(ContentModel.PROP_TITLE, name); titledProps.put(ContentModel.PROP_DESCRIPTION, name); nodeService.addAspect(content, ContentModel.ASPECT_TITLED, titledProps); // // write some content to new node // def contentService = registry.getContentService(); def writer = contentService.getWriter(content, ContentModel.PROP_CONTENT, true); writer.setMimetype(MimetypeMap.MIMETYPE_TEXT_PLAIN); writer.setEncoding("UTF-8"); def text = "The quick brown fox jumps over the lazy dog"; writer.putContent(text); trx.commit() p("Node service is ${nodeService} ") } }