List of usage examples for org.w3c.dom Element setTextContent
public void setTextContent(String textContent) throws DOMException;
From source file:fr.inria.atlanmod.collaboro.ui.views.NotationView.java
/** * Builds the SVG for the corresponding notationElement and particularizes the * representation with the model element instance. * /* w ww .j a va2 s . co m*/ * @param eObject * @param notationElement * @param doc * @param x * @param y * @return */ public Box buildSVG(EObject eObject, NotationElement notationElement, SVGDocument doc, int x, int y) { Element svgRoot = doc.getDocumentElement(); Box result = new Box(0, 0, x, y); if (notationElement instanceof Composite) { Composite composite = (Composite) notationElement; result.setX(x); int oldX = x; for (NotationElement subElement : composite.getSubElements()) { if (subElement instanceof Composite) { x = oldX + TAB; y = y + VERTICAL_SEP; } Box subBox = buildSVG(eObject, subElement, doc, x, y); if ((subElement instanceof Composite)) { // || (subElement instanceof SyntaxOf)) { x = oldX; y = y + subBox.getHeight() - VERTICAL_SEP; if (result.getWidth() < subBox.getWidth()) result.setWidth(subBox.getWidth()); result.setHeight(result.getHeight() + subBox.getHeight()); } else { x = x + subBox.getWidth(); result.setWidth(result.getWidth() + subBox.getWidth()); if (result.getHeight() < subBox.getHeight()) result.setHeight(subBox.getHeight()); } } } else if (notationElement instanceof TextualElement) { TextualElement textualElement = (TextualElement) notationElement; Element text = doc.createElementNS(SVGDOMImplementation.SVG_NAMESPACE_URI, "text"); text.setAttributeNS(null, "x", String.valueOf(x)); text.setAttributeNS(null, "y", String.valueOf(y)); text.setAttributeNS(null, "font-size", DEFAULT_FONT_SIZE); text.setAttributeNS(null, "font-family", DEFAULT_FONT_FAMILY); String value = ""; if (textualElement instanceof Keyword) { Keyword keyword = (Keyword) notationElement; text.setAttributeNS(null, "font-weight", "bold"); text.setAttributeNS(null, "fill", keyword.getFill().getLiteral()); text.setAttributeNS(null, "stroke", "none"); value = keyword.getId(); } else if (textualElement instanceof Token) { Token token = (Token) notationElement; text.setAttributeNS(null, "fill", token.getFill().getLiteral()); text.setAttributeNS(null, "stroke", "none"); value = token.getId(); } else if (textualElement instanceof AttributeValue) { AttributeValue attributeValue = (AttributeValue) notationElement; text.setAttributeNS(null, "fill", attributeValue.getFill().getLiteral()); EAttribute eAttribute = attributeValue.getAttribute(); value = convert(eObject.eGet(eObject.eClass().getEStructuralFeature(eAttribute.getName()))); } else if (textualElement instanceof ReferenceValue) { ReferenceValue referenceValue = (ReferenceValue) notationElement; text.setAttributeNS(null, "fill", referenceValue.getFill().getLiteral()); EReference eReference = referenceValue.getReference(); EAttribute eAttribute = referenceValue.getAttribute(); String separator = referenceValue.getSeparator(); Object referredObjs = eObject.eGet(eObject.eClass().getEStructuralFeature(eReference.getName())); if (referredObjs instanceof EList) { EList<EObject> eReferenceList = (EList<EObject>) referredObjs; for (EObject elementList : eReferenceList) { Object attributeValue = elementList .eGet(elementList.eClass().getEStructuralFeature(eAttribute.getName())); value += convert(attributeValue); if (eReferenceList.indexOf(elementList) != eReferenceList.size() - 1) { value += separator; } } } else if (referredObjs instanceof EObject) { EObject elementList = (EObject) referredObjs; Object attributeValue = elementList .eGet(elementList.eClass().getEStructuralFeature(eAttribute.getName())); value += convert(attributeValue); } } if (value.length() > 0) { result.setWidth(value.length() * CHAR_SEP + CHAR_SEP); result.setHeight(VERTICAL_SEP); text.setTextContent(value); svgRoot.appendChild(text); } } else if (notationElement instanceof SyntaxOf) { SyntaxOf syntaxOf = (SyntaxOf) notationElement; EReference eReference = syntaxOf.getReference(); Object referredObjs = eObject.eGet(eObject.eClass().getEStructuralFeature(eReference.getName())); if (referredObjs instanceof EList) { EList<EObject> eReferenceList = (EList<EObject>) referredObjs; if (eReferenceList.size() > 0) { for (EObject elementList : eReferenceList) { NotationElement subNotationElement = Controller.INSTANCE.getNotation(elementList.eClass()); if (subNotationElement != null) { Box subBox = buildSVG(elementList, subNotationElement, doc, x, y); y = y + subBox.getHeight(); if (result.getWidth() < subBox.getWidth()) result.setWidth(subBox.getWidth()); result.setHeight(result.getHeight() + subBox.getHeight()); } } } } } return result; }
From source file:com.bluexml.xforms.controller.alfresco.AlfrescoController.java
/** * Sets initial values for workflow fields from BlueXML properties (stored * in the repository) of/*www.ja va 2 s . c om*/ * the workflow instance. * * @param wkFormName * the name of the workflow form to display * @param doc * the XForms instance * @param instanceId * the workflow instance Id (previously provided by Alfresco) * @return false if a lethal exception occurred. True if the normal end of * the function was * reached, which does not imply anything about the setting of * initial values. */ public boolean workflowPatchInstance(AlfrescoTransaction transaction, String wkFormName, Document doc, String instanceId) { if (logger.isDebugEnabled()) { logger.debug("Patching workflow instance with Id:'" + instanceId + "', form name: " + wkFormName); } QName qname; String namespaceURI = null; // to be set once Map<QName, Serializable> properties = null; // to be set once if (StringUtils.trimToNull(instanceId) == null) { if (logger.isDebugEnabled()) { logger.debug(" No patching performed: the instanceId is null"); } return true; } if (instanceId.equals("null")) { if (logger.isDebugEnabled()) { logger.debug(" No patching performed, invalid instanceId with string 'null'"); } return true; } Element root = doc.getDocumentElement(); Element formElt = DOMUtil.getChild(root, wkFormName); List<Element> allFields = DOMUtil.getAllChildren(formElt); // we need to fail silently so that the form is displayed even in the event of errors for (Element field : allFields) { String fieldUniqueName = field.getTagName(); Serializable fieldValue = null; String localName = getWorkflowFieldAlfrescoName(wkFormName, fieldUniqueName); if (localName != null) { // build the QName if (namespaceURI == null) { String processName = workflowExtractProcessNameFromFormName(wkFormName); namespaceURI = getWorkflowNamespaceURI(processName); } qname = QName.createQName(namespaceURI, localName); // read the QName value from the collected properties of the workflow instance if (properties == null) { properties = workflowCollectInstanceProperties(transaction, instanceId); if (properties == null) { return false; // there's no point in continuing without the properties } } try { // set the initial value fieldValue = properties.get(qname); if (fieldValue != null) { field.setTextContent(fieldValue.toString()); } } catch (NullPointerException e) { // we'll get this when displaying workflow forms while the webscript is down return false; } } } return true; }
From source file:com.enonic.vertical.engine.handlers.MenuHandler.java
private void updateMenuItem(User user, Element menuitem_elem, SiteKey siteKey, int order, MenuItemKey parent, boolean skipNameCheck) throws VerticalUpdateException, VerticalCreateException, VerticalSecurityException { MenuItemKey key = new MenuItemKey(menuitem_elem.getAttribute("key")); Element menuItemNameElement = XMLTool.getElement(menuitem_elem, ELEMENT_NAME_MENUITEM_NAME); String menuItemName = XMLTool.getElementText(menuItemNameElement); // If no menuItemName given, it should be generated. This is already done in the MenuHandlerServlet, but enshure this for other ways in aswell if (StringUtils.isEmpty(menuItemName)) { menuItemName = generateMenuItemName(menuitem_elem); menuItemNameElement.setTextContent(menuItemName); }/*from w ww .ja v a2s. co m*/ String uniqueMenuItemName = ensureUniqueMenuItemName(siteKey, parent, menuItemName, key); if (!uniqueMenuItemName.equals(menuItemName)) { menuItemName = uniqueMenuItemName; menuItemNameElement.setTextContent(menuItemName); } if (!skipNameCheck && menuItemNameExists(siteKey, parent, menuItemName, key)) { VerticalEngineLogger.errorCreate(this.getClass(), 20, "Menu item name already exists on this level: %0", new Object[] { menuItemName }, null); } Connection con = null; try { con = getConnection(); // menu item types: Hashtable<String, Integer> itemTypes = getMenuItemTypesAsHashtable(); // security check: if (!getSecurityHandler().validateMenuItemUpdate(user, key.toInt())) { VerticalEngineLogger.errorSecurity(this.getClass(), 10, "Not allowed to update menuitem: %0.", new Object[] { key }, null); } // get type: String str_type = menuitem_elem.getAttribute("type"); int type = itemTypes.get(str_type); // has it changed type? boolean typeChanged = false; String str_typeChanged = menuitem_elem.getAttribute("typechanged"); if (str_typeChanged != null && str_typeChanged.length() != 0) { typeChanged = true; // the type has changed. delete it and re-create it with the same key. int old_type = itemTypes.get(str_typeChanged); try { switch (old_type) { case 1: // page removePageFromMenuItem(con, key.toInt()); break; case 2: // URL setURLToNull(con, key); break; case 4: // page removePageFromMenuItem(con, key.toInt()); break; case 7: // page if (type != 7) { removeShortcut(key.toInt()); } break; } } catch (VerticalRemoveException e) { VerticalEngineLogger.errorUpdate(this.getClass(), 30, "Error removing page: %t", e); } setMenuItemType(key.toInt(), type); } // create the new menu item type or update existing: boolean modified = "modified".equals(menuitem_elem.getAttribute("modified")); if (modified) { PreparedStatement preparedStmt = null; boolean hasSection = false; try { switch (type) { case 1: Element pageElem = XMLTool.getElement(menuitem_elem, "page"); String str_pageKey = pageElem.getAttribute("key"); if (str_pageKey != null && str_pageKey.length() > 0 && !typeChanged) { updatePage(con, menuitem_elem, type, key); } else { createPage(con, menuitem_elem, type, key); } break; case 2: // create a new URL-thingie createOrUpdateURL(con, menuitem_elem, key); break; case 4: // document // does it have a section? Element sectionElem = XMLTool.getElement(menuitem_elem, "section"); if (sectionElem != null) { hasSection = true; MenuItemKey sectionKey = getSectionHandler().getSectionKeyByMenuItem(key); if (sectionKey != null) { updateSection(menuitem_elem, sectionKey.toInt()); } else { createSection(menuitem_elem, key); } } // page pageElem = XMLTool.getElement(menuitem_elem, "page"); str_pageKey = pageElem.getAttribute("key"); if (str_pageKey != null && str_pageKey.length() > 0 && !typeChanged) { updatePage(con, menuitem_elem, type, key); } else { createPage(con, menuitem_elem, type, key); } break; case 5: // Label: break; case 6: // section hasSection = true; MenuItemKey sectionKey = getSectionHandler().getSectionKeyByMenuItem(key); if (sectionKey != null) { updateSection(menuitem_elem, sectionKey.toInt()); } else { createSection(menuitem_elem, key); } break; case 7: // Shortcut: createOrOverrideShortcut(menuitem_elem, key); break; } } finally { close(preparedStmt); } // remove section if necessary MenuItemKey sectionKey = getSectionHandler().getSectionKeyByMenuItem(key); if (sectionKey != null && !hasSection) { try { getSectionHandler().removeSection(sectionKey.toInt()); } catch (VerticalRemoveException vre) { VerticalEngineLogger.errorUpdate(this.getClass(), 50, "Failed to remove section: %t", vre); } } updateMenuItemData(user, menuitem_elem, type, parent, order); } else { updateMenuItemData(user, menuitem_elem, type, parent, order); } // set contentkey if present String contentKeyStr = menuitem_elem.getAttribute("contentkey"); if (contentKeyStr.length() == 0) { contentKeyStr = "-1"; } setMenuItemContentKey(key, Integer.parseInt(contentKeyStr)); Element menuitems = XMLTool.getElement(menuitem_elem, "menuitems"); if (menuitems != null) { Node[] items = XMLTool.filterNodes(menuitems.getChildNodes(), Node.ELEMENT_NODE); for (int i = 0; i < items.length; i++) { Element curElement = (Element) items[i]; String deleted = curElement.getAttribute("deleted"); if (!"deleted".equals(deleted)) { String curKey = curElement.getAttribute("key"); if (curKey == null || curKey.length() == 0) { createMenuItem(user, null, curElement, siteKey, i, key, false); } else { updateMenuItem(user, curElement, siteKey, i, key, true); } } } } } catch (SQLException e) { VerticalEngineLogger.errorUpdate(this.getClass(), 50, "A database error occurred: %t", e); } finally { close(con); } }
From source file:com.enonic.vertical.adminweb.UserHandlerServlet.java
public void handlerForm(HttpServletRequest request, HttpServletResponse response, HttpSession session, AdminService admin, ExtendedMap formItems) throws VerticalAdminException { User user = securityService.getLoggedInAdminConsoleUser(); UserStoreKey userStoreKey = UserStoreKey.parse(formItems.getString("userstorekey", null)); UserStoreEntity userStore = userStoreDao.findByKey(userStoreKey); try {/*w ww. j av a2s.c om*/ ExtendedMap xslParams = new ExtendedMap(); Source xmlSource; // build XSL Source tempXSLSource = AdminStore.getStylesheet(session, "__build_user_form.xsl"); StreamSource xslSource = buildXSL(session, tempXSLSource, buildDummyObjectClasses()); int create = 0; Document userDoc; if (formItems.containsKey("key")) { String userGroupKeyStr = formItems.getString("key"); GroupKey userGroupKey = new GroupKey(userGroupKeyStr); UserSpecification userSpec = new UserSpecification(); userSpec.setDeletedState(UserSpecification.DeletedState.ANY); userSpec.setUserGroupKey(userGroupKey); UserEntity synchronizedUser = userStoreService.synchronizeUser(userSpec); final UserXmlCreator userXmlCreator = new UserXmlCreator(); userXmlCreator.setIncludeUserFields(true); XMLDocument userXmlDoc = XMLDocumentFactory .create(userXmlCreator.createUsersDocument(synchronizedUser, true, false)); userDoc = userXmlDoc.getAsDOMDocument(); DisplayNameResolver displayNameResolver = new DisplayNameResolver(userStore.getConfig()); xslParams.put("generated-display-name", displayNameResolver.resolveDisplayName(synchronizedUser.getName(), synchronizedUser.getDisplayName(), synchronizedUser.getUserInfo())); Element usersElem = userDoc.getDocumentElement(); Element userElem = XMLTool.getElement(usersElem, "user"); String userKey = userElem.getAttribute("key"); MultiValueMap adminParams = new MultiValueMap(); adminParams.put("@userkey", userKey); adminParams.put("@typekey", 1); String logEntries = admin.getLogEntries(user, adminParams, 0, 5, true); XMLTool.mergeDocuments(userDoc, XMLTool.domparse(logEntries), true); } else { create = 1; userDoc = XMLTool.createDocument("users"); } final UserStoreXmlCreator userStoreXmlCreator = new UserStoreXmlCreator( userStoreService.getUserStoreConnectorConfigs()); XMLDocument userStoreXMLDoc = XMLDocumentFactory .create(new org.jdom.Document(userStoreXmlCreator.createUserStoreElement(userStore))); XMLTool.mergeDocuments(userDoc, userStoreXMLDoc.getAsDOMDocument(), true); CountryXmlCreator countryXmlCreator = new CountryXmlCreator(); Collection<Country> countries = countryService.getCountries(); countryXmlCreator.setIncludeRegionsInfo(false); XMLDocument countriesXMLDoc = XMLDocumentFactory .create(countryXmlCreator.createCountriesDocument(countries)); XMLTool.mergeDocuments(userDoc, countriesXMLDoc.getAsDOMDocument(), true); LocaleXmlCreator localeXmlCreator = new LocaleXmlCreator(); Locale[] locales = localeService.getLocales(); XMLDocument localesXMLDoc = XMLDocumentFactory.create(localeXmlCreator.createLocalesDocument(locales)); XMLTool.mergeDocuments(userDoc, localesXMLDoc.getAsDOMDocument(), true); DateTime now = timeService.getNowAsDateTime(); TimeZoneXmlCreator timeZoneXmlCreator = new TimeZoneXmlCreator(now); Collection<DateTimeZone> timeZones = timeZoneService.getTimeZones(); XMLDocument timeZonesDoc = XMLDocumentFactory .create(timeZoneXmlCreator.createTimeZonesDocument(timeZones)); XMLTool.mergeDocuments(userDoc, timeZonesDoc.getAsDOMDocument(), true); VerticalAdminLogger.debug(this.getClass(), 0, userDoc); xmlSource = new DOMSource(userDoc); xslParams.put("userstorename", userStore.getName()); xslParams.put("userstorekey", String.valueOf(userStoreKey)); xslParams.put("page", formItems.getString("page")); xslParams.put("create", String.valueOf(create)); if (user.isEnterpriseAdmin() || admin.isUserStoreAdmin(user, userStoreKey)) { xslParams.put("showdn", "true"); } if (formItems.containsKey("mode")) { xslParams.put("mode", formItems.getString("mode")); } if (formItems.containsKey("callback")) { xslParams.put("callback", formItems.getString("callback")); } if (formItems.containsKey("modeselector")) { xslParams.put("modeselector", formItems.getString("modeselector")); } if (formItems.containsKey("userstoreselector")) { xslParams.put("userstoreselector", formItems.getString("userstoreselector")); } if (formItems.containsKey("excludekey")) { xslParams.put("excludekey", formItems.getString("excludekey")); } // WIZARD if (formItems.getString("wizard", "").equals("true")) { int step = 1; int prevstep = formItems.getInt("prevstep", 0); // If we just entered the wizard if (!formItems.containsKey("step")) { session.removeAttribute("userxml"); session.removeAttribute("groupxml"); session.removeAttribute("notification"); session.removeAttribute("to_name"); session.removeAttribute("to_mail"); session.removeAttribute("subject"); session.removeAttribute("mail_body"); session.removeAttribute("grouparray"); session.removeAttribute(SESSION_PHOTO_ITEM_KEY); session.setAttribute("from_name", user.getDisplayName()); if (user.getEmail() != null) { session.setAttribute("from_mail", user.getEmail()); } else { session.removeAttribute("from_mail"); } } else { step = formItems.getInt("step"); } // Store data from step 1 in session object if (prevstep == 1) { UserInfo userInfo = parseCustomUserFieldValues(userStoreKey, formItems); Document newDoc = XMLTool.domparse(buildUserXML(userInfo, formItems)); storeUserPhotoInSession(session, formItems); // Check if username and password already exist String uid = null; String password = null; String oldXML = (String) session.getAttribute("userxml"); if (oldXML != null) { Document oldDoc = XMLTool.domparse(oldXML); Element uidElem = (Element) XMLTool.selectNode(oldDoc.getDocumentElement(), "/user/block/uid"); Element passwordElem = (Element) XMLTool.selectNode(oldDoc.getDocumentElement(), "/user/block/password"); uid = XMLTool.getElementText(uidElem); password = XMLTool.getElementText(passwordElem); } // Generate username and password, if not present if (uid == null) { String firstname = XMLTool.getElementText(newDoc, "/user/block/first-name"); String lastname = XMLTool.getElementText(newDoc, "/user/block/last-name"); synchronized (admin) { uid = admin.generateUID(firstname, lastname, userStoreKey); } } Element uidElem = (Element) XMLTool.selectNode(newDoc.getDocumentElement(), "/user/block/uid"); XMLTool.createTextNode(newDoc, uidElem, uid); if (password == null) { synchronized (admin) { try { password = PasswordGenerator.generateNewPassword(); } catch (VerticalException ve) { VerticalEngineLogger.warn(this.getClass(), 10, "Unable to generate password.", null); } } } Element passwordElem = (Element) XMLTool.selectNode(newDoc.getDocumentElement(), "/user/block/password"); XMLTool.createTextNode(newDoc, passwordElem, password); session.setAttribute("userxml", XMLTool.documentToString(newDoc)); // Fill in values in notification form, if not present session.setAttribute("to_name", XMLTool.getElementText(newDoc, "/user/block/displayName")); session.setAttribute("to_mail", XMLTool.getElementText(newDoc, "/user/block/email")); session.setAttribute("mail_body", "Username: " + XMLTool.getElementText(newDoc, "/user/block/uid") + (char) 13 + "Password: " + XMLTool.getElementText(newDoc, "/user/block/password")); // Check whether email address already exists String email = XMLTool.getElementText(newDoc, "/user/block/email"); try { userStoreService.verifyUniqueEmailAddress(email, userStoreKey); } catch (UserStorageExistingEmailException e) { this.addError(4, "email", null); this.addErrorsXML(userDoc); step = 1; } } // Store data from step 2 in session object if (prevstep == 2) { Document newDoc; String newXML = (String) session.getAttribute("userxml"); if (newXML != null) { newDoc = XMLTool.domparse(newXML); Element uidElem = (Element) XMLTool.selectNode(newDoc.getDocumentElement(), "/user/block/uid"); Element passwordElem = (Element) XMLTool.selectNode(newDoc.getDocumentElement(), "/user/block/password"); uidElem.setTextContent(formItems.getString("uid_dummy", "")); passwordElem.setTextContent(formItems.getString("password_dummy", "")); session.setAttribute("mail_body", "Username: " + XMLTool.getElementText(newDoc, "/user/block/uid") + (char) 13 + "Password: " + XMLTool.getElementText(newDoc, "/user/block/password")); } else { UserInfo userInfo = parseCustomUserFieldValues(userStoreKey, formItems); newDoc = XMLTool.domparse(buildUserXML(userInfo, formItems)); } session.setAttribute("userxml", XMLTool.documentToString(newDoc)); // Check whether uid already exists String uid = XMLTool.getElementText(newDoc, "/user/block/uid"); if (uid != null && uid.length() > 0) { UserSpecification userSpec = new UserSpecification(); userSpec.setName(uid); userSpec.setUserStoreKey(userStoreKey); userSpec.setDeletedStateNotDeleted(); if (userDao.findSingleBySpecification(userSpec) != null) { this.addError(5, "uid_" + DUMMY_OID, null); this.addErrorsXML(userDoc); step = 2; } } } // Store data from step 3 in session object else if (prevstep == 3) { if (formItems.containsKey("member")) { org.jdom.Element userEl = new org.jdom.Element("user"); org.jdom.Element memberOfEl = new org.jdom.Element("memberOf"); userEl.addContent(memberOfEl); org.jdom.Document membershipDoc = new org.jdom.Document(userEl); String[] groupArray; if (isArrayFormItem(formItems, "member")) { groupArray = (String[]) formItems.get("member"); } else { groupArray = new String[] { formItems.getString("member") }; } session.setAttribute("grouparray", groupArray); for (String aGroupArray : groupArray) { try { org.jdom.Document groupDocument = JDOMUtil .parseDocument(admin.getGroup(aGroupArray)); org.jdom.Element groupsEl = groupDocument.getRootElement(); memberOfEl.addContent(groupsEl.getChild("group").detach()); } catch (org.jdom.JDOMException e) { /* Do nothing - move one */ } } session.setAttribute("groupxml", XMLTool.documentToString(membershipDoc)); } } // Store data from step 4 in session object else if (prevstep == 4) { session.setAttribute("notification", formItems.getString("notification", "false")); if (formItems.getString("notification", "false").equals("true")) { session.setAttribute("from_name", formItems.getString("from_name", "")); session.setAttribute("from_mail", formItems.getString("from_mail", "")); session.setAttribute("to_name", formItems.getString("to_name", "")); session.setAttribute("to_mail", formItems.getString("to_mail", "")); session.setAttribute("subject", formItems.getString("subject", "")); session.setAttribute("mail_body", formItems.getString("mail_body", "")); } } // Load data from session object if (step == 1 || step == 2) { String newXML = (String) session.getAttribute("userxml"); if (newXML != null) { Document newDoc = XMLTool.domparse(newXML); XMLTool.mergeDocuments(userDoc, newDoc, true); } } else if (step == 3) { String groupsXML = (String) session.getAttribute("groupxml"); if (groupsXML != null) { Document groups = XMLTool.domparse(groupsXML); XMLTool.mergeDocuments(userDoc, groups, true); } } else if (step == 4) { String notification = (String) session.getAttribute("notification"); if (notification == null) { notification = "true"; } xslParams.put("notification", notification); xslParams.put("from_name", session.getAttribute("from_name")); xslParams.put("from_mail", session.getAttribute("from_mail")); xslParams.put("to_name", session.getAttribute("to_name")); xslParams.put("to_mail", session.getAttribute("to_mail")); xslParams.put("subject", session.getAttribute("subject")); // Need to remove ascii #10 (line feed) to prevent double line breaks String mail_body = (String) session.getAttribute("mail_body"); StringBuffer mail_body_fixed; if (mail_body != null) { mail_body_fixed = new StringBuffer(mail_body.length()); for (int i = 0; i < mail_body.length(); i++) { if (((int) mail_body.charAt(i)) != 10) { mail_body_fixed.append(mail_body.charAt(i)); } } xslParams.put("mail_body", mail_body_fixed.toString()); } else { xslParams.put("mail_body", ""); } } xslParams.put("step", Integer.toString(step)); xslParams.put("wizard", Boolean.TRUE); } else { String languageCode = (String) session.getAttribute("languageCode"); AdminConsoleTranslationService languageMap = AdminConsoleTranslationService.getInstance(); languageMap.toDoc(userDoc, languageCode); xslParams.put("languagecode", languageCode); } addSortParamteres("block/uid", "ascending", formItems, session, xslParams); try { xslParams.put("canUpdateUser", String.valueOf(userStoreService.canUpdateUser(userStoreKey))); } catch (final InvalidUserStoreConnectorConfigException e) { xslParams.put("userStoreConfigError", e.getMessage()); } if (user.getName().equals(formItems.get("key", ""))) { xslParams.put("profile", Boolean.TRUE); } if (memberOfResolver.hasEnterpriseAdminPowers(user.getKey()) || memberOfResolver.hasUserStoreAdministratorPowers(user.getKey(), userStoreKey)) { xslParams.put("isadmin", "true"); } xslParams.put("uid", user.getName()); transformXML(session, response.getWriter(), xmlSource, xslSource, xslParams); } catch (IOException e) { VerticalAdminLogger.errorAdmin(this.getClass(), 20, "I/O error: %t", e); } catch (TransformerException e) { VerticalAdminLogger.errorAdmin(this.getClass(), 30, "XSLT error: %t", e); } }
From source file:com.portfolio.data.provider.MysqlAdminProvider.java
public Document getMysqlUserGroups(Integer userId) { PreparedStatement st;/*from ww w. j a va 2 s.co m*/ String sql; try { // Selection des groupes d'utilisateurs avec liste de ces derniers // + lien avec les groupes de droits // On doit faire une 'outer join' mais il y a pas a sous MySQL donc on fait l'quivalent sql = "SELECT gi.gid, gi.owner AS gowner, gi.label AS glabel, gri.grid, gri.owner AS growner, gri.label AS grlabel, GROUP_CONCAT(userid) AS users, bin2uuid(gri.portfolio_id) AS portfolio_id "; if (dbserveur.equals("oracle")) { sql = "SELECT gi.gid, gi.owner AS gowner, gi.label AS glabel, gri.grid, gri.owner AS growner, gri.label AS grlabel, LISTAGG(userid, ',') WITHIN GROUP (ORDER BY userid) AS users, bin2uuid(gri.portfolio_id) AS portfolio_id "; } sql += "FROM group_info gi " + "LEFT JOIN group_user gu ON gi.gid=gu.gid " + "LEFT JOIN group_right_info gri ON gi.grid=gri.grid GROUP BY gi.gid " + "UNION ALL " + "SELECT gi.gid, gi.owner AS gowner, gi.label AS glabel, gri.grid, gri.owner AS growner, gri.label AS grlabel, NULL, bin2uuid(gri.portfolio_id) AS portfolio_id " + "FROM group_right_info gri " + "LEFT JOIN group_info gi ON gi.grid=gri.grid " + "WHERE gi.grid IS NULL ORDER BY portfolio_id"; st = connection.prepareStatement(sql); DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder docBuilder = docFactory.newDocumentBuilder(); Document doc = docBuilder.newDocument(); Element root = doc.createElement("root"); doc.appendChild(root); ResultSet result = st.executeQuery(); String prevPort = "DUMMY"; Element port_node = null; while (result.next()) { Integer gid = result.getInt("gid"); Integer gowner = result.getInt("gowner"); String glabel = result.getString("glabel"); Integer grid = result.getInt("grid"); Integer growner = result.getInt("growner"); String grlabel = result.getString("grlabel"); String users = result.getString("users"); String portfolio_id = result.getString("portfolio_id"); if (portfolio_id == null) portfolio_id = ""; if (!prevPort.equals(portfolio_id)) { port_node = doc.createElement("portfolio"); port_node.setAttribute("id", portfolio_id); prevPort = portfolio_id; root.appendChild(port_node); } Element groupinfo = doc.createElement("group_info"); Element group = doc.createElement("group_user"); group.setAttribute("id", Integer.toString(gid)); group.setAttribute("owner", Integer.toString(gowner)); Element label = doc.createElement("label"); label.setTextContent(glabel); group.appendChild(label); Element usersNode = doc.createElement("users"); usersNode.setTextContent(users); group.appendChild(usersNode); Element grlabelNode = doc.createElement("group_right"); grlabelNode.setAttribute("id", Integer.toString(grid)); grlabelNode.setAttribute("owner", Integer.toString(growner)); grlabelNode.setTextContent(grlabel); groupinfo.appendChild(group); groupinfo.appendChild(grlabelNode); port_node.appendChild(groupinfo); } return doc; } catch (Exception e) { e.printStackTrace(); } return null; }
From source file:com.portfolio.data.provider.MysqlAdminProvider.java
@Override public String getGroupRightsInfos(int userId, String portfolioId) { if (!credential.isAdmin(userId)) throw new RestWebApplicationException(Status.FORBIDDEN, "No admin right"); String sql = ""; ResultSet rs = null;// w ww .ja v a 2 s . c o m PreparedStatement st = null; String result = ""; try { sql = "SELECT gr.grid,bin2uuid(id),RD,WR,DL,SB,AD,types_id,rules_id, notify_roles " + "FROM group_right_info gri " + "LEFT JOIN group_rights gr ON gri.grid=gr.grid " + "WHERE portfolio_id=uuid2bin(?) " + "ORDER BY gr.grid"; st = connection.prepareStatement(sql); st.setString(1, portfolioId); rs = st.executeQuery(); DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder(); Document document = documentBuilder.newDocument(); Element gri = document.createElement("groupRightsInfos"); document.appendChild(gri); int grid = -1; Element gridNode = null; while (rs.next()) { int ng = rs.getInt(1); if (grid != ng) { gridNode = document.createElement("grid"); gridNode.setAttribute("id", Integer.toString(ng)); gri.appendChild(gridNode); grid = ng; } String id = rs.getString(2); int rd = rs.getInt(3); int wr = rs.getInt(4); int dl = rs.getInt(5); int sb = rs.getInt(6); int ad = rs.getInt(7); String types = rs.getString(8); String action = rs.getString(9); String notify = rs.getString(10); Element node = document.createElement("node"); gridNode.appendChild(node); node.setAttribute("id", id); node.setAttribute("RD", Integer.toString(rd)); node.setAttribute("WR", Integer.toString(wr)); node.setAttribute("DL", Integer.toString(dl)); node.setAttribute("SB", Integer.toString(sb)); node.setAttribute("AD", Integer.toString(ad)); Element typ = document.createElement("types"); typ.setTextContent(types); Element act = document.createElement("action"); act.setTextContent(action); Element not = document.createElement("notify"); not.setTextContent(notify); node.appendChild(typ); node.appendChild(act); node.appendChild(not); } StringWriter stw = new StringWriter(); Transformer serializer = TransformerFactory.newInstance().newTransformer(); serializer.transform(new DOMSource(document), new StreamResult(stw)); result = stw.toString(); } catch (Exception e) { e.printStackTrace(); } return result; }
From source file:com.portfolio.data.provider.MysqlAdminProvider.java
@Override public String getPortfolioInfo(int userId, String portId) { String status = "erreur"; PreparedStatement st;/*from w w w. j a v a 2 s . c om*/ ResultSet res = null; try { // group_right_info pid:grid -> group_info grid:gid -> group_user gid:userid String sql = "SELECT gri.grid, gri.label, gu.userid " + "FROM group_right_info gri " + "LEFT JOIN group_info gi ON gri.grid=gi.grid " + "LEFT JOIN group_user gu ON gi.gid=gu.gid " + "WHERE gri.portfolio_id=uuid2bin(?)"; st = connection.prepareStatement(sql); st.setString(1, portId); res = st.executeQuery(); /// Time to create data DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder(); Document document = documentBuilder.newDocument(); Element root = document.createElement("portfolio"); root.setAttribute("id", portId); document.appendChild(root); Element rrgUsers = null; long rrg = 0; while (res.next()) { if (rrg != res.getLong("gri.grid")) { rrg = res.getLong("gri.grid"); Element rrgNode = document.createElement("rrg"); rrgNode.setAttribute("id", Long.toString(rrg)); Element rrgLabel = document.createElement("label"); rrgLabel.setTextContent(res.getString("gri.label")); rrgUsers = document.createElement("users"); rrgNode.appendChild(rrgLabel); rrgNode.appendChild(rrgUsers); root.appendChild(rrgNode); } Long uid = res.getLong("gu.userid"); if (!res.wasNull()) { Element user = document.createElement("user"); user.setAttribute("id", Long.toString(uid)); rrgUsers.appendChild(user); } } res.close(); st.close(); StringWriter stw = new StringWriter(); Transformer serializer = TransformerFactory.newInstance().newTransformer(); DOMSource source = new DOMSource(document); StreamResult stream = new StreamResult(stw); serializer.transform(source, stream); return stw.toString(); } catch (Exception e) { e.printStackTrace(); } finally { try { connection.close(); } catch (SQLException e) { e.printStackTrace(); } } return status; }
From source file:com.portfolio.data.provider.MysqlDataProvider.java
@Override public String getPortfolioInfo(int userId, String portId) { String status = "erreur"; PreparedStatement st;/*from www.j av a 2s .c o m*/ ResultSet res = null; try { // group_right_info pid:grid -> group_info grid:gid -> group_user gid:userid String sql = "SELECT gri.grid AS grid, gri.label AS label, gu.userid AS userid " + "FROM group_right_info gri " + "LEFT JOIN group_info gi ON gri.grid=gi.grid " + "LEFT JOIN group_user gu ON gi.gid=gu.gid " + "WHERE gri.portfolio_id=uuid2bin(?)"; st = connection.prepareStatement(sql); st.setString(1, portId); res = st.executeQuery(); /// Time to create data DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder(); Document document = documentBuilder.newDocument(); Element root = document.createElement("portfolio"); root.setAttribute("id", portId); document.appendChild(root); Element rrgUsers = null; long rrg = 0; while (res.next()) { if (rrg != res.getLong("grid")) { rrg = res.getLong("grid"); Element rrgNode = document.createElement("rrg"); rrgNode.setAttribute("id", Long.toString(rrg)); Element rrgLabel = document.createElement("label"); rrgLabel.setTextContent(res.getString("label")); rrgUsers = document.createElement("users"); rrgNode.appendChild(rrgLabel); rrgNode.appendChild(rrgUsers); root.appendChild(rrgNode); } Long uid = res.getLong("userid"); if (!res.wasNull()) { Element user = document.createElement("user"); user.setAttribute("id", Long.toString(uid)); rrgUsers.appendChild(user); } } res.close(); st.close(); StringWriter stw = new StringWriter(); Transformer serializer = TransformerFactory.newInstance().newTransformer(); DOMSource source = new DOMSource(document); StreamResult stream = new StreamResult(stw); serializer.transform(source, stream); return stw.toString(); } catch (Exception e) { e.printStackTrace(); } finally { try { connection.close(); } catch (SQLException e) { e.printStackTrace(); } } return status; }
From source file:com.raspi.chatapp.util.internet.XmppManager.java
/** * sends a text message/*from ww w . j a va 2 s . c o m*/ * * @param message the message text to send * @param buddyJID the Buddy to receive the message * @return true if sending was successful */ public boolean sendTextMessage(String message, String buddyJID, long id) { ChatManager chatManager = ChatManager.getInstanceFor(connection); if (connection != null && connection.isConnected() && chatManager != null) { if (buddyJID.indexOf('@') == -1) buddyJID += "@" + service; Chat chat = chatManager.createChat(buddyJID); try { // wrap the message with all necessary xml attributes Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument(); Element msg = doc.createElement("message"); doc.appendChild(msg); msg.setAttribute("type", MessageHistory.TYPE_TEXT); msg.setAttribute("id", String.valueOf(id)); Element file = doc.createElement("content"); msg.appendChild(file); file.setTextContent(message); // transform everything to a string Transformer t = TransformerFactory.newInstance().newTransformer(); StringWriter writer = new StringWriter(); StreamResult r = new StreamResult(writer); t.transform(new DOMSource(doc), r); message = writer.toString(); // send the message chat.sendMessage(message); Log.d("DEBUG", "Success: Sent message"); return true; } catch (Exception e) { Log.e("ERROR", "Couldn't send message."); Log.e("ERROR", e.toString()); return false; } } Log.e("ERROR", "Sending failed: No connection."); return false; }