public SpaceCustomizationService(DataStorage dataStorageService_,PageService pageService_, UserPortalConfigService userPortalConfigService_, NodeHierarchyCreator nodeHierarchyCreator_, DMSConfiguration dmsConfiguration_, RepositoryService repositoryService_, ConfigurationManager configurationManager_, UserACL userACL_) { this.nodeHierarchyCreator = nodeHierarchyCreator_; this.dmsConfiguration = dmsConfiguration_; this.repositoryService = repositoryService_; this.userACL = userACL_; this.configurationManager = configurationManager_; this.dataStorageService = dataStorageService_; this.pageService = pageService_; this.userPortalConfigService = userPortalConfigService_; groupsPath = nodeHierarchyCreator.getJcrPath(GROUPS_PATH); if (groupsPath.lastIndexOf("/") == groupsPath.length() - 1) { groupsPath = groupsPath.substring(0, groupsPath.lastIndexOf("/")); } }
@GET @Path("/favorite-folder/{userName}") public Response getFavoriteNode(@PathParam("userName") String userName) throws Exception { try { NodeHierarchyCreator nodeHierarchyCreator = (NodeHierarchyCreator)ExoContainerContext.getCurrentContainer().getComponentInstanceOfType(NodeHierarchyCreator.class); SessionProviderService sessionProviderService = (SessionProviderService)ExoContainerContext.getCurrentContainer().getComponentInstanceOfType(SessionProviderService.class); Node userNode = nodeHierarchyCreator.getUserNode(sessionProviderService.getSystemSessionProvider(null), userName); Node favoriteNode = userNode.getNode("Private/Favorites"); JSONObject json = new JSONObject(); json.put("name", "favoriteNode"); json.put("value", favoriteNode.getPath()); DateFormat dateFormat = new SimpleDateFormat(IF_MODIFIED_SINCE_DATE_FORMAT); return Response.ok(json.toString(), MediaType.APPLICATION_JSON).header(LAST_MODIFIED_PROPERTY, dateFormat.format(new Date())).build(); } catch (Exception e) { LOG.error(e.getMessage(),e); return Response.serverError().build(); } }
public String getHomePageLogoURI() { SessionProvider sProvider = SessionProvider.createSystemProvider(); Node rootNode = null; Node publicApplicationNode = null; String pathImageNode = null; Node ImageNode = null; Session session = null; try { publicApplicationNode = nodeCreator.getPublicApplicationNode(sProvider); session = publicApplicationNode.getSession(); rootNode = session.getRootNode(); if (rootNode.hasNode(path)) { Node logosNode = rootNode.getNode(path); if (logosNode.hasNode(logo_name)) { ImageNode = logosNode.getNode(logo_name); pathImageNode = ImageNode.getPath()+"?"+System.currentTimeMillis(); } } } catch (Exception e) { LOG.error("Can not get path of Logo : default LOGO will be used" + e.getMessage(), e); return null; } finally { if (session != null) session.logout(); if (sProvider != null) sProvider.close (); } return pathImageNode; }
@GET @Path("setDelete") @Produces(MediaType.APPLICATION_JSON) public Response setDelete(@Context SecurityContext sc, @Context UriInfo uriInfo) throws Exception { SessionProvider sProvider = null; try { String userId = getUserId(sc, uriInfo); if (userId == null) { return Response.status(HTTPStatus.INTERNAL_ERROR).build(); } NodeHierarchyCreator nodeCreator = (NodeHierarchyCreator) ExoContainerContext.getCurrentContainer() .getComponentInstanceOfType(NodeHierarchyCreator.class); sProvider = SessionProvider.createSystemProvider(); Node userPrivateNode = nodeCreator.getUserNode(sProvider, userId).getNode("ApplicationData"); if (userPrivateNode.hasNode("GsGadget")) { Node gettingStartedNode = userPrivateNode.getNode("GsGadget"); if (gettingStartedNode.hasProperty("exo:gs_deleteGadget")) { gettingStartedNode.setProperty("exo:gs_deleteGadget", true); gettingStartedNode.save(); return Response.ok("Property exo:gs_deleteGadget set to true").build(); } else return Response.ok("no Property exo:gs_deleteGadget ").build(); } else return Response.ok("no Node GsGadget ").build(); } catch (Exception e) { return Response.status(HTTPStatus.INTERNAL_ERROR).build(); } finally { if (sProvider != null) { sProvider.close(); } } }
public UpgradeNodeTypesTemplatesService(RepositoryService repositoryService, NodeHierarchyCreator nodeHierarchyCreator, DMSConfiguration dmsConfiguration, TemplateService templateService, ConfigurationManager configurationManager, InitParams initParams) { super(initParams); this.templateService = templateService; this.configurationManager = configurationManager; this.repositoryService = repositoryService; this.dmsConfiguration = dmsConfiguration; // List of eXo predefined Templates component-plugin names, // that contains the DocumentType Templates // that we want to be upgraded each Platform upgrade List<?> pluginNamesList = initParams.getValuesParam("plugin-names").getValues(); for (Object object : pluginNamesList) { this.pluginNamesList.add((String) object); } cmsTemplatesBasePath = nodeHierarchyCreator.getJcrPath(BasePath.CMS_TEMPLATES_PATH); if (cmsTemplatesBasePath == null) { throw new RuntimeException("UpgradeNodeTypesTemplatesService: " + BasePath.CMS_TEMPLATES_PATH + " path couldn't be found"); } }
private void createTermsAndConditions() { SessionProvider sessionProvider = SessionProvider.createSystemProvider(); try { Node publicApplicationNode = nodeHierarchyCreator.getPublicApplicationNode(sessionProvider); if(! publicApplicationNode.hasNode(TC_NODE_NAME)) { publicApplicationNode = publicApplicationNode.addNode(TC_NODE_NAME, "nt:folder"); publicApplicationNode.addMixin("mix:referenceable"); publicApplicationNode.getSession().save(); } } catch(Exception e) { LOG.error("Terms and conditions: cannot create node", e); } finally { if (sessionProvider != null) { sessionProvider.close(); } } }
@GET @Path("IsDelete") @Produces(MediaType.APPLICATION_JSON) public Response IsDelete(@Context SecurityContext sc, @Context UriInfo uriInfo) throws Exception { SessionProvider sProvider = null; try { String userId = getUserId(sc, uriInfo); if (userId == null) { return Response.status(HTTPStatus.INTERNAL_ERROR).build(); } NodeHierarchyCreator nodeCreator = (NodeHierarchyCreator) ExoContainerContext.getCurrentContainer() .getComponentInstanceOfType(NodeHierarchyCreator.class); sProvider = SessionProvider.createSystemProvider(); Node userPrivateNode = nodeCreator.getUserNode(sProvider, userId).getNode("ApplicationData"); if (userPrivateNode.hasNode("GsGadget")) { Node gettingStartedNode = userPrivateNode.getNode("GsGadget"); if (gettingStartedNode.hasProperty("exo:gs_deleteGadget")) { Boolean del=gettingStartedNode.getProperty("exo:gs_deleteGadget").getBoolean(); return Response.ok(del.toString()).build(); } else return Response.ok("no Property exo:gs_deleteGadget ").build(); } else return Response.ok("no Node GsGadget ").build(); } catch (Exception e) { return Response.status(HTTPStatus.INTERNAL_ERROR).build(); } finally { if (sProvider != null) { sProvider.close(); } } }
public List<Node> getAllFavoritesByUser(String workspace, String repository, Node userNode) throws Exception { List<Node> ret = new ArrayList<Node>(); LinkManager linkManager = (LinkManager)ExoContainerContext.getCurrentContainer().getComponentInstanceOfType(LinkManager.class); NodeHierarchyCreator nodeHierarchyCreator = (NodeHierarchyCreator)ExoContainerContext.getCurrentContainer().getComponentInstanceOfType(NodeHierarchyCreator.class); String favoritePath = nodeHierarchyCreator.getJcrPath("userPrivateFavorites"); Node favoriteFolder= userNode.getNode(favoritePath); NodeIterator nodeIter = favoriteFolder.getNodes(); while (nodeIter.hasNext()) { Node childNode = nodeIter.nextNode(); String primaryType = childNode.getProperty("jcr:primaryType").getString(); if (linkManager.isLink(childNode) || primaryType.contains("nt:file")) { ret.add(childNode); } } return ret; }
/** * Create software registration node */ private void createSoftwareRegistrationNode() { SessionProvider sessionProvider = SessionProvider.createSystemProvider(); try { Node publicApplicationNode = nodeHierarchyCreator.getPublicApplicationNode(sessionProvider); if (!publicApplicationNode.hasNode(SW_NODE_NAME)) { publicApplicationNode = publicApplicationNode.addNode(SW_NODE_NAME, "nt:folder"); publicApplicationNode.addMixin("mix:referenceable"); publicApplicationNode.getSession().save(); } } catch (Exception e) { LOG.error("Software Registration: cannot create node", e); } finally { if (sessionProvider != null) { sessionProvider.close(); } } }
Node userPrivateNode = nodeCreator.getUserNode(sProvider, viewerId).getNode("Private"); if(!userPrivateNode.hasNode("Bookmarks")){ userPrivateNode.addNode("Bookmarks");
public void editSpaceDriveViewPermissions(String viewNodeName, String permission) throws RepositoryException { if (LOG.isDebugEnabled()) { LOG.debug("Trying to add permission " + permission + " for ECMS view " + viewNodeName); } String viewsPath = nodeHierarchyCreator.getJcrPath(BasePath.CMS_VIEWS_PATH); ManageableRepository manageableRepository = repositoryService.getCurrentRepository(); DMSRepositoryConfiguration dmsRepoConfig = dmsConfiguration.getConfig(); Session session = manageableRepository.getSystemSession(dmsRepoConfig.getSystemWorkspace()); Node viewHomeNode = (Node) session.getItem(viewsPath); if (viewHomeNode.hasNode(viewNodeName)) { Node contentNode = viewHomeNode.getNode(viewNodeName); String contentNodePermissions = contentNode.getProperty("exo:accessPermissions").getString(); contentNode.setProperty("exo:accessPermissions", contentNodePermissions.concat(",").concat(permission)); viewHomeNode.save(); if (LOG.isDebugEnabled()) { LOG.debug("Permission " + permission + " added with success to ECMS view " + viewNodeName); } } else { if (LOG.isDebugEnabled()) { LOG.debug("Can not find view node: " + viewNodeName); } } }
Node publicApplicationNode = nodeHierarchyCreator.getPublicApplicationNode(sessionProvider);
Node userPrivateNode = nodeCreator.getUserNode(sProvider, userId).getNode("ApplicationData"); if (userPrivateNode.hasNode("GsGadget")) { Node gettingStartedNode = userPrivateNode.getNode("GsGadget");
private void migrateUsers(SessionProvider sessionProvider) { try { String ws = repoService.getCurrentRepository().getConfiguration().getDefaultWorkspaceName(); Session session = sessionProvider.getSession(ws, repoService.getCurrentRepository()); Node groups = (Node)session.getItem(nodeHierarchyCreator.getJcrPath("usersPath")); ((ExtendedNode) groups).removePermission("*:/platform/users"); session.save(); } catch (Exception e) { if (LOG.isErrorEnabled()) { LOG.error("An unexpected error occurs when migrate /Users", e); } } }
try { sessionProvider = SessionProvider.createSystemProvider(); Node publicApplicationNode = nodeHierarchyCreator.getPublicApplicationNode(sessionProvider); if (publicApplicationNode.hasNode(SW_NODE_NAME)) { hasSoftwareRegisteredNode = true;
Node userPrivateNode = nodeCreator.getUserNode(sProvider, viewerId).getNode("Private"); if(!userPrivateNode.hasNode("Bookmarks")){ Node bookmarksNode = userPrivateNode.addNode("Bookmarks");
LOG.info("processing upgrading product info node..."); try { String applicationDataRootNodePath = nodeHierarchyCreator.getJcrPath(EXO_APPLICATIONS_DATA_NODE_ALIAS);
remoteUser = ConversationState.getCurrent().getIdentity().getUserId(); sProvider = SessionProvider.createSystemProvider(); userPrivateNode = nodeHierarchyCreator_.getUserNode(sProvider, remoteUser).getNode(GettingStartedUtils.JCR_APPLICATION_NODE); if (!userPrivateNode.hasNode(GettingStartedUtils.JCR_GS_NODE)) { Node gettingStartedNode = userPrivateNode.addNode(GettingStartedUtils.JCR_GS_NODE);
@Ajax @Resource public Response.Content delete() throws Exception { //set Delete String userId = null; SessionProvider sProvider = null; try { userId = RequestContext.getCurrentInstance().getRemoteUser(); sProvider = SessionProvider.createSystemProvider(); Node userPrivateNode = nodeHierarchyCreator_.getUserNode(sProvider, userId).getNode(GettingStartedUtils.JCR_APPLICATION_NODE); if (userPrivateNode.hasNode(GettingStartedUtils.JCR_GS_NODE)) { Node gettingStartedNode = userPrivateNode.getNode(GettingStartedUtils.JCR_GS_NODE); if (gettingStartedNode.hasProperty(GettingStartedUtils.JCR_DELETE_GADGET_PROPERTY_NAME)) { gettingStartedNode.setProperty(GettingStartedUtils.JCR_DELETE_GADGET_PROPERTY_NAME, true); gettingStartedNode.save(); } } } catch (Exception E) { LOG.error("GettingStarted Portlet : Can not delete Portlet from ApplicationRegistry", E.getLocalizedMessage(), E); } finally { if (sProvider != null) { sProvider.close(); } } return gettingStarted.ok(); }
.getComponentInstanceOfType(NodeHierarchyCreator.class); sProvider = SessionProvider.createSystemProvider(); Node userPrivateNode = nodeCreator.getUserNode(sProvider, userId).getNode("ApplicationData"); if (!userPrivateNode.hasNode("GsGadget")) { Node gettingStartedNode = userPrivateNode.addNode("GsGadget");