@Override public void run() { userRegistrationModel = session.createDocumentModel(configuration.getRequestDocType()); }
@Override @Begin(pageflow = "createWorkspace", nested = true) @Factory(value = "tmpWorkspace") public DocumentModel getTmpWorkspace() { if (tmpWorkspace == null) { tmpWorkspace = documentManager.createDocumentModel("Workspace"); } return tmpWorkspace; }
@OperationMethod public void purgeDocs(List<DocumentModel> docs) { List<String> ancestorIds = docs.stream().map(DocumentModel::getId).collect(Collectors.toList()); List<String> usernames = Arrays.asList(this.usernames.split(",\\s*")); DocumentModel searchDocument = session.createDocumentModel("PermissionsSearch"); searchDocument.setPropertyValue("rs:ace_username", (Serializable) usernames); searchDocument.setPropertyValue("rs:ecm_ancestorIds", (Serializable) ancestorIds); new PermissionsPurgeWork(searchDocument).launch(); }
protected void add(Statement statement) { DocumentModel rel = session.createDocumentModel(null, "relation", docType); rel = setRelationProperties(rel, statement); session.createDocument(rel); }
@GET public DocumentModel getEmptyDocumentModel(@QueryParam("type") String type, @QueryParam("name") String name) { DocumentModel doc = getTarget().getAdapter(DocumentModel.class); CoreSession session = ctx.getCoreSession(); if (StringUtils.isBlank(type)) { throw new IllegalParameterException("Missing type parameter"); } DocumentModel emptyDoc = session.createDocumentModel(doc != null ? doc.getPathAsString() : null, name, type); emptyDoc.detach(false); return emptyDoc; } }
@POST @Consumes(MediaType.APPLICATION_JSON) public Response doPost(DocumentModel inputDoc) { CoreSession session = ctx.getCoreSession(); if (StringUtils.isBlank(inputDoc.getType()) || StringUtils.isBlank(inputDoc.getName())) { return Response.status(Status.BAD_REQUEST).entity("type or name property is missing").build(); } DocumentModel createdDoc = session.createDocumentModel(doc.getPathAsString(), inputDoc.getName(), inputDoc.getType()); DocumentModelJsonReader.applyPropertyValues(inputDoc, createdDoc); createdDoc = session.createDocument(createdDoc); session.save(); return Response.ok(createdDoc).status(Status.CREATED).build(); }
@Override protected DocumentModel getSearchDocument() { HttpServletRequest request = ctx.getRequest(); CoreSession session = ctx.getCoreSession(); DocumentModel searchDocument = session.createDocumentModel("BasicAuditSearch"); searchDocument.setPropertyValue("bas:eventIds", request.getParameterValues(EVENT_ID_PARAMETER_NAME)); searchDocument.setPropertyValue("bas:eventCategories", request.getParameterValues(CATEGORY_PARAMETER_NAME)); searchDocument.setPropertyValue("bas:principalNames", request.getParameterValues(PRINCIPAL_NAME_PARAMETER_NAME)); searchDocument.setPropertyValue("bas:startDate", getCalendarParameter(request.getParameter(START_EVENT_DATE_PARAMETER_NAME))); searchDocument.setPropertyValue("bas:endDate", getCalendarParameter(request.getParameter(END_EVENT_DATE_PARAMETER_NAME))); return searchDocument; }
@Override public String createDocument(String typeName) { Type docType = typeManager.getType(typeName); // we cannot use typesTool as intermediary since the DataModel callback // will alter whatever type we set typesTool.setSelectedType(docType); Map<String, Object> context = new HashMap<String, Object>(); context.put(CoreEventConstants.PARENT_PATH, navigationContext.getCurrentDocument().getPathAsString()); DocumentModel changeableDocument = documentManager.createDocumentModel(typeName, context); navigationContext.setChangeableDocument(changeableDocument); return navigationContext.getActionResult(changeableDocument, UserAction.CREATE); }
@Override public String createComment(DocumentModel docToComment) { DocumentModel myComment = documentManager.createDocumentModel(CommentsConstants.COMMENT_DOC_TYPE); myComment.setProperty("comment", "author", principal.getName()); myComment.setProperty("comment", "text", newContent); myComment.setProperty("comment", "creationDate", Calendar.getInstance()); myComment = addComment(myComment, docToComment); // do not navigate to newly-created comment, they are hidden documents return null; }
@Override public String addComment() { DocumentModel myComment = documentManager.createDocumentModel(CommentsConstants.COMMENT_DOC_TYPE); myComment.setPropertyValue(CommentsConstants.COMMENT_AUTHOR, principal.getName()); myComment.setPropertyValue(CommentsConstants.COMMENT_TEXT, newContent); myComment.setPropertyValue(CommentsConstants.COMMENT_CREATION_DATE, Calendar.getInstance()); myComment = addComment(myComment); // do not navigate to newly-created comment, they are hidden documents return null; }
@OperationMethod(collector = DocumentModelCollector.class) public DocumentModel run(DocumentModel doc) throws IOException { if (name == null) { name = "Untitled"; } DocumentModel newDoc = session.createDocumentModel(doc.getPathAsString(), name, type); if (content != null) { DocumentHelper.setProperties(session, newDoc, content); } return session.createDocument(newDoc); }
@Override public void populate(CoreSession session) { super.populate(session); DocumentModel doc = session.createDocumentModel("/", "testBlob", "File"); doc.setPropertyValue("file:content", (Serializable) Blobs.createBlob("one")); session.createDocument(doc); File docFile = FileUtils.getResourceFileFromContext("hello.doc"); DocumentModel doc2 = session.createDocumentModel("/", "testBlob2", "File"); doc2.setPropertyValue("file:content", new FileBlob(docFile)); session.createDocument(doc2); TransactionHelper.commitOrRollbackTransaction(); TransactionHelper.startTransaction(); } }
@Override protected DocumentModel doCreateUserWorkspacesRoot(CoreSession unrestrictedSession, PathRef rootRef) { String parentPath = new Path(rootRef.toString()).removeLastSegments(1).toString(); DocumentModel doc = unrestrictedSession.createDocumentModel(parentPath, UserWorkspaceConstants.USERS_PERSONAL_WORKSPACES_ROOT, getUserWorkspaceRootType()); doc.setProperty("dublincore", "title", UserWorkspaceConstants.USERS_PERSONAL_WORKSPACES_ROOT); doc.setProperty("dublincore", "description", ""); return doc; }
/** * @since 10.3 */ protected DocumentModel createFavorites(CoreSession session, DocumentModel userWorkspace) { DocumentModel doc = session.createDocumentModel(userWorkspace.getPath().toString(), FavoritesConstants.DEFAULT_FAVORITES_NAME, FavoritesConstants.FAVORITES_TYPE); String title = null; try { title = I18NUtils.getMessageString("messages", FavoritesConstants.DEFAULT_FAVORITES_TITLE, new Object[0], getLocale(session)); } catch (MissingResourceException e) { title = FavoritesConstants.DEFAULT_FAVORITES_NAME; } doc.setPropertyValue("dc:title", title); doc.setPropertyValue("dc:description", ""); return doc; }
@POST public Response doPost(@FormParam("text") String cText) { if (cText == null) { throw new IllegalParameterException("Expecting a 'text' parameter"); } DocumentObject dobj = (DocumentObject) getTarget(); CoreSession session = dobj.getCoreSession(); DocumentModel pageDoc = dobj.getDocument(); DocumentModel comment = session.createDocumentModel("Comment"); comment.setPropertyValue("comment:author", session.getPrincipal().getName()); comment.setPropertyValue("comment:text", cText); comment.setPropertyValue("comment:creationDate", new Date()); comment = createCommentDocument(session, pageDoc, comment); session.save(); publishComment(session, pageDoc, comment); return redirect(getTarget().getPath()); }
protected static DocumentModel createUserWorkspaceDomain( CoreSession unrestrictedSession, String domainName) throws ClientException { DocumentModel doc = unrestrictedSession.createDocumentModel("/",domainName, "Domain"); doc.setProperty("dublincore", "title", domainName); doc.setProperty("dublincore", "description", ""); doc = unrestrictedSession.createDocument(doc); ACP acp = new ACPImpl(); ACE denyEverything = new ACE(SecurityConstants.EVERYONE, SecurityConstants.EVERYTHING, false); ACL acl = new ACLImpl(); acl.setACEs(new ACE[] { denyEverything }); acp.addACL(acl); doc.setACP(acp, true); return doc; }
@Override protected DocumentModel doCreateUserWorkspace(CoreSession unrestrictedSession, PathRef wsRef, String userName) { String parentPath = new Path(wsRef.toString()).removeLastSegments(1).toString(); String wsName = new Path(wsRef.toString()).lastSegment(); DocumentModel doc = unrestrictedSession.createDocumentModel(parentPath, wsName, getUserWorkspaceType()); doc.setProperty("dublincore", "title", buildUserWorkspaceTitle(userName)); doc.setProperty("dublincore", "description", ""); return doc; }
@Override public void run() { DocumentModel root = session.createDocumentModel(Root_PATH, Root_NAME, "Folder"); root.setProperty("dublincore", "title", Root_NAME); root = session.createDocument(root); ACL acl = new ACLImpl(); acl.add(new ACE(Write_Grp, "Write", true)); acl.add(new ACE(Read_Grp, "Read", true)); ACP acp = root.getACP(); acp.addACL(acl); session.setACP(root.getRef(), acp, true); rootRef = root.getRef(); // flush caches session.save(); }
@Override public void run() { DocumentRef pathRef = new PathRef(parentPath); if (session.exists(pathRef)) { taskRootDoc = session.getDocument(pathRef); } else { Path path = new Path(parentPath); taskRootDoc = session.createDocumentModel(path.removeLastSegments(1).toString(), path.lastSegment(), TaskConstants.TASK_ROOT_TYPE_NAME); taskRootDoc = session.createDocument(taskRootDoc); ACP acp = taskRootDoc.getACP(); ACL acl = acp.getOrCreateACL(ACL.LOCAL_ACL); acl.add(new ACE("Everyone", "Everything", false)); taskRootDoc.setACP(acp, true); taskRootDoc = session.saveDocument(taskRootDoc); } }
@Override public DocumentModel createLocatedComment(DocumentModel docModel, DocumentModel comment, String path) { CoreSession session = docModel.getCoreSession(); DocumentRef docRef = getAncestorRef(session, docModel); if (!session.hasPermission(docRef, SecurityConstants.READ)) { throw new CommentSecurityException("The user " + session.getPrincipal().getName() + " can not create comments on document " + docModel.getId()); } return CoreInstance.doPrivileged(session, s -> { DocumentModel commentModel = s.createDocumentModel(path, COMMENT_NAME, comment.getType()); commentModel.copyContent(comment); commentModel.setPropertyValue(COMMENT_ANCESTOR_IDS, (Serializable) computeAncestorIds(s, docModel.getId())); commentModel = s.createDocument(commentModel); notifyEvent(s, CommentEvents.COMMENT_ADDED, docModel, commentModel); return commentModel; }); }