List of usage examples for org.w3c.dom Element getNodeName
public String getNodeName();
From source file:com.enonic.vertical.engine.handlers.MenuHandler.java
/** * Builds a menu tree, typically used to present the menu in the menu ;) * * @param user The current user * @param getterSettings If given - build tree from these settings * @return A DOM document containing the menu tree *///from ww w . j a v a 2s .c o m public Document getMenusForAdmin(User user, MenuGetterSettings getterSettings) { List<Integer> paramValues = new ArrayList<Integer>(2); StringBuffer sqlMenus = new StringBuffer(MENU_SELECT); if (getterSettings.hasMenuKeys()) { int[] menuKeys = getterSettings.getMenuKeys(); sqlMenus.append(" WHERE "); sqlMenus.append("men_lKey IN ("); for (int i = 0; i < menuKeys.length; i++) { if (i > 0) { sqlMenus.append(','); } sqlMenus.append(menuKeys[i]); } sqlMenus.append(')'); } // Selekterer bare menyer som brukeren har create eller administrate p if (user != null) { MenuCriteria criteria = getterSettings.getMenuCriteria(); getSecurityHandler().appendMenuSQL(user, sqlMenus, criteria); } Hashtable<String, Element> hashtable_menus = new Hashtable<String, Element>(); Connection con = null; PreparedStatement statement = null; ResultSet resultSet = null; Document doc = XMLTool.createDocument("menus"); try { con = getConnection(); statement = con.prepareStatement(sqlMenus.toString()); JDBCUtil.addValuesToPreparedStatement(statement, paramValues); try { // Frst selekterer vi ut menus... resultSet = statement.executeQuery(); while (resultSet.next()) { int curMenuKey = resultSet.getInt("men_lKey"); Element element_Menu = getMenuData(doc.getDocumentElement(), curMenuKey); Element accessRights = XMLTool.createElement(doc, element_Menu, "accessrights"); getSecurityHandler().appendAccessRightsOnDefaultMenuItem(user, curMenuKey, accessRights, true); XMLTool.createElement(doc, element_Menu, "menuitems"); // Lagrer referansen til kategori-elementet for raskt oppslag til senere bruk hashtable_menus.put(String.valueOf(curMenuKey), element_Menu); } } finally { close(resultSet); resultSet = null; close(statement); statement = null; } MenuItemCriteria menuItemCriteria = getterSettings.getMenuItemCriteria(); if (!menuItemCriteria.getDisableMenuItemLoadingForUnspecified() || menuItemCriteria.getMenuKey() >= 0) { // Legger s til menuitems til menyene Hashtable<String, Element> hashtable_MenuItems = appendMenuItemsBySettings(user, doc, hashtable_menus, getterSettings); // Hvis brukeren bare vil ha et fullt tree fra gitte menuItemKey, // s m vi fjerne alle ssken-noder til foreldre-nodene if (getterSettings.hasOnlyChildrenFromThisMenuItemKey()) { Element curMenuItem = hashtable_MenuItems .get(getterSettings.getMenuItemKeyAsInteger().toString()); while (curMenuItem != null) { XMLTool.removeAllSiblings(curMenuItem); // Move to first parent node (menuitems) curMenuItem = (Element) curMenuItem.getParentNode(); // Exit loop if we have reached the top if ("menus".equals(curMenuItem.getNodeName())) { break; } // Move to next parent node (menuitem/menu) if (curMenuItem != null) { curMenuItem = (Element) curMenuItem.getParentNode(); } } } if (getterSettings.hasTagParentsOfThisMenuItem()) { Element menuItem = hashtable_MenuItems .get(getterSettings.getTagParentsOfThisMenuItemKeyAsInteger().toString()); Node parent = menuItem.getParentNode(); String tagName = getterSettings.getTagParentsOfThisMenuItemTagName(); String tagValue = getterSettings.getTagParentsOfThisMenuItemTagValue(); while (parent != null) { if (parent instanceof Element) { ((Element) parent).setAttribute(tagName, tagValue); } parent = parent.getParentNode(); } } } if (!getterSettings.hasMenuKeys()) { String sqlMenuItems; sqlMenuItems = "SELECT DISTINCT mei_men_lKey FROM tMenuItem JOIN tMenu on tMenuItem.mei_men_lKey = tMenu.men_lKey "; sqlMenuItems = getSecurityHandler().appendMenuItemSQL(user, sqlMenuItems, menuItemCriteria); statement = con.prepareStatement(sqlMenuItems); resultSet = statement.executeQuery(); while (resultSet.next()) { String menuKey = resultSet.getString("mei_men_lKey"); if (!hashtable_menus.containsKey(menuKey)) { Element menuElement = getMenuData(doc.getDocumentElement(), Integer.parseInt(menuKey)); hashtable_menus.put(menuKey, menuElement); } } } } catch (SQLException sqle) { String message = "Failed to get the menus: %t"; VerticalEngineLogger.error(this.getClass(), 0, message, sqle); doc = XMLTool.createDocument("categories"); } finally { close(resultSet); close(statement); close(con); } return doc; }
From source file:com.portfolio.rest.RestServicePortfolio.java
@Path("/credential/login") @POST// w w w . j a v a 2 s .c o m @Produces(MediaType.APPLICATION_XML) @Consumes(MediaType.APPLICATION_XML) public Response postCredentialFromXml(String xmlCredential, @CookieParam("user") String user, @CookieParam("credential") String token, @QueryParam("group") int groupId, @Context ServletConfig sc, @Context HttpServletRequest httpServletRequest) { HttpSession session = httpServletRequest.getSession(true); initService(httpServletRequest); KEvent event = new KEvent(); event.eventType = KEvent.EventType.LOGIN; event.inputData = xmlCredential; String retVal = ""; try { Document doc = DomUtils.xmlString2Document(xmlCredential, new StringBuffer()); Element credentialElement = doc.getDocumentElement(); String login = ""; String password = ""; String substit = null; if (credentialElement.getNodeName().equals("credential")) { String[] templogin = DomUtils.getInnerXml(doc.getElementsByTagName("login").item(0)).split(":"); password = DomUtils.getInnerXml(doc.getElementsByTagName("password").item(0)); if (templogin.length > 1) substit = templogin[1]; login = templogin[0]; } int dummy = 0; String[] resultCredential = dataProvider.postCredentialFromXml(dummy, login, password, substit); // 0: xml de retour // 1,2: username, uid // 3,4: substitute name, substitute id if (resultCredential == null) { event.status = 403; retVal = "invalid credential"; } else if (!"0".equals(resultCredential[2])) { // String tokenID = resultCredential[2]; if (substit != null && !"0".equals(resultCredential[4])) { int uid = Integer.parseInt(resultCredential[2]); int subid = Integer.parseInt(resultCredential[4]); session.setAttribute("user", resultCredential[3]); session.setAttribute("uid", subid); session.setAttribute("subuser", resultCredential[1]); session.setAttribute("subuid", uid); } else { String login1 = resultCredential[1]; int userId = Integer.parseInt(resultCredential[2]); session.setAttribute("user", login1); session.setAttribute("uid", userId); session.setAttribute("subuser", ""); session.setAttribute("subuid", 0); } // if(tokenID==null) throw new RestWebApplicationException(Status.FORBIDDEN, "invalid credential or invalid group member"); // else if(tokenID.length()==0) throw new RestWebApplicationException(Status.FORBIDDEN, "invalid credential or invalid group member"); event.status = 200; retVal = resultCredential[0]; } eventbus.processEvent(event); return Response.status(event.status).entity(retVal).type(event.mediaType).build(); } catch (RestWebApplicationException ex) { ex.printStackTrace(); logger.error(ex.getLocalizedMessage()); logRestRequest(httpServletRequest, null, "invalid Credential or invalid group member", Status.FORBIDDEN.getStatusCode()); throw new RestWebApplicationException(Status.FORBIDDEN, ex.getMessage()); } catch (Exception ex) { logger.error(ex.getMessage()); ex.printStackTrace(); logRestRequest(httpServletRequest, xmlCredential, ex.getMessage() + "\n\n" + javaUtils.getCompleteStackTrace(ex), Status.INTERNAL_SERVER_ERROR.getStatusCode()); throw new RestWebApplicationException(Status.INTERNAL_SERVER_ERROR, ex.getMessage()); } finally { dataProvider.disconnect(); } }
From source file:com.clican.pluto.fsm.spring.parser.AbstractStateParser.java
@SuppressWarnings({ "rawtypes", "unchecked" }) public BeanDefinition parse(Element element, ParserContext parserContext) { BeanDefinitionRegistry bdr = parserContext.getRegistry(); RootBeanDefinition beanDef = new RootBeanDefinition(); beanDef.setDestroyMethodName("destroy"); beanDef.setAbstract(false);//w w w . ja v a 2 s. co m beanDef.setBeanClass(getStateClass(element)); beanDef.setLazyInit(false); beanDef.setAutowireMode(Autowire.BY_NAME.value()); String name = element.getAttribute("name"); if (bdr.containsBeanDefinition(name)) { throw new RuntimeException("name[" + name + "]is defined duplicated"); } bdr.registerBeanDefinition(name, beanDef); beanDef.getPropertyValues().addPropertyValue("name", name); String value = element.getAttribute("value"); beanDef.getPropertyValues().addPropertyValue("value", value); String propagation = element.getAttribute("propagation"); beanDef.getPropertyValues().addPropertyValue("propagation", propagation); String nextStates = element.getAttribute("nextStates"); if (StringUtils.isNotEmpty(nextStates)) { List nextStateList = new ManagedList(); for (String nextState : nextStates.split(",")) { nextStateList.add(new RuntimeBeanReference(nextState.trim())); } beanDef.getPropertyValues().addPropertyValue("nextStates", nextStateList); } String previousStates = element.getAttribute("previousStates"); if (StringUtils.isNotEmpty(previousStates)) { List previousStateList = new ManagedList(); for (String previousState : previousStates.split(",")) { previousStateList.add(new RuntimeBeanReference(previousState.trim())); } beanDef.getPropertyValues().addPropertyValue("previousStates", previousStateList); } NodeList nodeList = element.getChildNodes(); Map nextCondStates = new ManagedMap(); Map params = new ManagedMap(); List stateListeners = new ManagedList(); List taskListeners = new ManagedList(); Map timeoutListeners = new ManagedMap(); for (int i = 0; i < nodeList.getLength(); i++) { Node node = nodeList.item(i); if (node.getNodeType() == Node.ELEMENT_NODE) { String localName = node.getLocalName(); Element e = (Element) node; if ("nextCondStates".equals(localName)) { String expr = e.getAttribute("expr"); nextStates = e.getAttribute("nextStates"); List nextStateList = new ManagedList(); if (StringUtils.isNotEmpty(nextStates)) { for (String nextState : nextStates.split(",")) { nextStateList.add(new RuntimeBeanReference(nextState.trim())); } } nextCondStates.put(expr, nextStateList); } else if ("param".equals(localName)) { String paramName = e.getAttribute("name"); String paramValue = e.getAttribute("value"); params.put(paramName, paramValue); } else if ("stateListener".equals(localName) || "timeoutListener".equals(localName) || "taskListener".equals(localName)) { String clazz = e.getAttribute("clazz"); String listener = e.getAttribute("listener"); Object obj; if (StringUtils.isNotEmpty(clazz)) { try { RootBeanDefinition bean = new RootBeanDefinition(); bean.setAbstract(false); bean.setBeanClass(Class.forName(clazz)); bean.setLazyInit(false); bean.setAutowireMode(Autowire.BY_NAME.value()); if ("timeoutListener".equals(localName)) { String timeoutName = e.getAttribute("name"); String startTime = e.getAttribute("startTime"); String dueTime = e.getAttribute("dueTime"); String repeatTime = e.getAttribute("repeatTime"); String repeatDuration = e.getAttribute("repeatDuration"); String businessCalendarName = e.getAttribute("businessCalendarName"); bean.getPropertyValues().addPropertyValue("name", timeoutName); bean.getPropertyValues().addPropertyValue("startTime", startTime); bean.getPropertyValues().addPropertyValue("dueTime", dueTime); bean.getPropertyValues().addPropertyValue("repeatTime", repeatTime); bean.getPropertyValues().addPropertyValue("repeatDuration", repeatDuration); bean.getPropertyValues().addPropertyValue("businessCalendarName", businessCalendarName); } NodeList nodeList2 = element.getChildNodes(); Map params2 = new ManagedMap(); for (int j = 0; j < nodeList2.getLength(); j++) { Node node2 = nodeList2.item(j); if (node2.getNodeType() == Node.ELEMENT_NODE) { String localName2 = node2.getLocalName(); if ("param".equals(localName2)) { String paramName = ((Element) node2).getAttribute("name"); String paramValue = ((Element) node2).getAttribute("value"); params2.put(paramName, paramValue); } } } obj = bean; } catch (Exception ex) { throw new RuntimeException(ex); } } else if (StringUtils.isNotEmpty(listener)) { obj = new RuntimeBeanReference(listener.trim()); } else { throw new RuntimeException("There must be clazz or listener parameter setting"); } if ("stateListener".equals(localName)) { stateListeners.add(obj); } else if ("taskListeners".equals(localName)) { taskListeners.add(obj); } else { String timeoutName = e.getAttribute("name"); timeoutListeners.put(timeoutName, obj); } } } } beanDef.getPropertyValues().addPropertyValue("nextCondStates", nextCondStates); beanDef.getPropertyValues().addPropertyValue("params", params); beanDef.getPropertyValues().addPropertyValue("stateListeners", stateListeners); if (element.getNodeName().equals("task")) { beanDef.getPropertyValues().addPropertyValue("taskListeners", taskListeners); } beanDef.getPropertyValues().addPropertyValue("timeoutListeners", timeoutListeners); customiseBeanDefinition(beanDef, element, parserContext); return beanDef; }
From source file:com.portfolio.data.provider.MysqlAdminProvider.java
@Override public String[] postCredentialFromXml(String xml, Integer userId) throws ServletException, IOException { try {// w w w .j av a 2s .c o m String[] returnValue = new String[4]; Document doc = DomUtils.xmlString2Document(xml, new StringBuffer()); Element credentialElement = doc.getDocumentElement(); //On verifie le bon format if (credentialElement.getNodeName().equals("credential")) { String login = DomUtils.getInnerXml(doc.getElementsByTagName("login").item(0)); String password = DomUtils.getInnerXml(doc.getElementsByTagName("password").item(0)); String[] credentialInfos = credential.doPost(login, password); if (credentialInfos != null) { returnValue[0] = credentialInfos[0]; returnValue[1] = credentialInfos[1]; returnValue[2] = ""; returnValue[3] = credentialInfos[2]; String login1 = credentialInfos[0]; ResultSet res = getMySqlUserByLogin(login1); returnValue[2] += "<credential>"; returnValue[2] += DomUtils.getXmlElementOutput("useridentifier", res.getString("login")); returnValue[2] += DomUtils.getXmlElementOutput("token", res.getString("token")); returnValue[2] += DomUtils.getXmlElementOutput("firstname", res.getString("display_firstname")); returnValue[2] += DomUtils.getXmlElementOutput("lastname", res.getString("display_lastname")); if (res.getInt("is_admin") == 1) returnValue[2] += DomUtils.getXmlElementOutput("admin", res.getString("is_admin")); returnValue[2] += DomUtils.getXmlElementOutput("email", res.getString("email")); returnValue[2] += "</credential>"; } return returnValue; } else return null; } catch (Exception e) { e.printStackTrace(); return null; } }
From source file:com.portfolio.data.provider.MysqlAdminProvider.java
@Override public Object postGroup(String in, int userId) throws Exception { if (!credential.isAdmin(userId)) throw new RestWebApplicationException(Status.FORBIDDEN, "No admin right"); String result = null;//from w ww. j a va 2 s. com Integer grid = 0; int owner = 0; String label = null; //On prepare les requetes SQL PreparedStatement stInsert; String sqlInsert; //On recupere le body Document doc = DomUtils.xmlString2Document(in, new StringBuffer()); Element etu = doc.getDocumentElement(); //On verifie le bon format if (etu.getNodeName().equals("group")) { //On recupere les attributs try { if (etu.getAttributes().getNamedItem("grid") != null) { grid = Integer.parseInt(etu.getAttributes().getNamedItem("grid").getNodeValue()); } else { grid = null; } } catch (Exception ex) { } try { if (etu.getAttributes().getNamedItem("owner") != null) { owner = Integer.parseInt(etu.getAttributes().getNamedItem("owner").getNodeValue()); } } catch (Exception ex) { } try { if (etu.getAttributes().getNamedItem("label") != null) { label = etu.getAttributes().getNamedItem("label").getNodeValue(); } } catch (Exception ex) { } } else { result = "Erreur lors de la recuperation des attributs du groupe dans le XML"; } //On ajoute le groupe dans la base de donnees sqlInsert = "REPLACE INTO group_info(grid, owner, label) VALUES (?, ?, ?)"; if (dbserveur.equals("oracle")) { sqlInsert = "MERGE INTO group_info d using (SELECT ? grid,? owner,? label from dual) s ON (1=2) WHEN NOT MATCHED THEN INSERT (d.grid, d.owner, d.label) values (s.grid, s.owner, s.label)"; } stInsert = connection.prepareStatement(sqlInsert); stInsert.setInt(1, grid); stInsert.setInt(2, owner); stInsert.setString(3, label); stInsert.executeUpdate(); //On renvoie le body pour qu'il soit stock dans le log result = "<group "; result += DomUtils.getXmlAttributeOutputInt("grid", grid) + " "; result += DomUtils.getXmlAttributeOutputInt("owner", owner) + " "; result += DomUtils.getXmlAttributeOutput("label", label) + " "; result += ">"; result += "</group>"; return result; }
From source file:com.portfolio.data.provider.MysqlAdminProvider.java
@Override public String postAddNodeType(int userId, Integer type, Integer nodeid, Integer parentid, Integer instance, String data) {/*from ww w .j av a 2 s .c o m*/ if (!credential.isAdmin(userId)) throw new RestWebApplicationException(Status.FORBIDDEN, "No admin right"); /** * Format que l'on reoit: * <asm*> * <asmResource xsi_type='nodeRes'>{node_data}</asmResource> * <asmResource xsi_type='context'>{node_data}</asmResource> * <asmResource xsi_type='*'>{node_data}</asmResource> * </asm*> */ String sql = ""; PreparedStatement st; Integer output = 0; Integer parentId = 0; String asmtype = ""; String xsitype = ""; try { /// Prpare les donnes pour les requtes // Parse DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder(); Document document = documentBuilder.parse(new ByteArrayInputStream(data.getBytes("UTF-8"))); // Traite le noeud racine des donnes, retourne l'identifiant du noeud racine Element nodeData = document.getDocumentElement(); asmtype = nodeData.getNodeName(); connection.setAutoCommit(true); // Utilise parentid si on rattache un autre groupe de noeud en dessous d'un noeud existant sql = "INSERT INTO definition_type(def_id,asm_type,parent_node,instance_rule) " + "VALUE(?,?,?,?)"; st = connection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS); if (dbserveur.equals("oracle")) { st = connection.prepareStatement(sql, new String[] { "node_id" }); } st.setInt(1, type); st.setString(2, asmtype); if (parentid == null) st.setNull(3, Types.BIGINT); else st.setInt(3, parentid); if (instance == null) st.setNull(4, Types.BIGINT); else st.setInt(4, instance); output = st.executeUpdate(); ResultSet key = st.getGeneratedKeys(); // On rcupre l'identifiant du noeud 'racine' des donnes ajouts if (key.next()) parentId = key.getInt(1); st.close(); // Soit 2 ou 3 resources asmtype = "asmResource"; NodeList resources = document.getElementsByTagName("asmResource"); sql = "INSERT INTO definition_type(def_id,asm_type,xsi_type,parent_node,node_data,instance_rule) " + "VALUE(?,?,?,?,?,?)"; st = connection.prepareStatement(sql); st.setInt(1, type); st.setString(2, asmtype); st.setInt(4, parentId); for (int i = 0; i < resources.getLength(); ++i) { Element resource = (Element) resources.item(i); xsitype = resource.getAttribute("xsi_type"); String resContent = DomUtils.getInnerXml(resource); st.setString(3, xsitype); st.setString(5, resContent); if (instance == null) st.setNull(6, Types.BIGINT); else st.setInt(6, instance); // On ajoute les donnes des ressources restante output = st.executeUpdate(); } st.close(); } catch (Exception e) { try { connection.rollback(); } catch (SQLException e1) { e1.printStackTrace(); } e.printStackTrace(); } finally { try { connection.setAutoCommit(true); connection.close(); } catch (SQLException e) { e.printStackTrace(); } } return output.toString(); }
From source file:com.portfolio.data.provider.MysqlAdminProvider.java
@Override public Object postUser(String in, int userId) throws Exception { if (!credential.isAdmin(userId)) throw new RestWebApplicationException(Status.FORBIDDEN, "No admin right"); String result = null;//from w w w . jav a 2 s . c o m String login = null; String firstname = null; String lastname = null; String label = null; String password = null; String active = "1"; Integer uuid = 0; Integer newId = 0; //On prepare les requetes SQL PreparedStatement stInsert; String sqlInsert; //On recupere le body Document doc = DomUtils.xmlString2Document(in, new StringBuffer()); Element etu = doc.getDocumentElement(); //On verifie le bon format if (etu.getNodeName().equals("user")) { //On recupere les attributs try { if (etu.getAttributes().getNamedItem("uid") != null) { login = etu.getAttributes().getNamedItem("uid").getNodeValue(); if (getMysqlUserUid(login) != null) { uuid = Integer.parseInt(getMysqlUserUid(login)); } } } catch (Exception ex) { } try { if (etu.getAttributes().getNamedItem("firstname") != null) { firstname = etu.getAttributes().getNamedItem("firstname").getNodeValue(); } } catch (Exception ex) { } try { if (etu.getAttributes().getNamedItem("lastname") != null) { lastname = etu.getAttributes().getNamedItem("lastname").getNodeValue(); } } catch (Exception ex) { } try { if (etu.getAttributes().getNamedItem("label") != null) { label = etu.getAttributes().getNamedItem("label").getNodeValue(); } } catch (Exception ex) { } try { if (etu.getAttributes().getNamedItem("password") != null) { password = etu.getAttributes().getNamedItem("password").getNodeValue(); } } catch (Exception ex) { } try { if (etu.getAttributes().getNamedItem("active") != null) { active = etu.getAttributes().getNamedItem("active").getNodeValue(); } } catch (Exception ex) { } } else { result = "Erreur lors de la recuperation des attributs de l'utilisateur dans le XML"; } //On ajoute l'utilisateur dans la base de donnees if (etu.getAttributes().getNamedItem("firstname") != null && etu.getAttributes().getNamedItem("lastname") != null && etu.getAttributes().getNamedItem("label") == null) { sqlInsert = "REPLACE INTO credential(userid, login, display_firstname, display_lastname, password, active) VALUES (?, ?, ?, ?, UNHEX(SHA1(?)),?)"; stInsert = connection.prepareStatement(sqlInsert, Statement.RETURN_GENERATED_KEYS); if (dbserveur.equals("oracle")) { sqlInsert = "MERGE INTO credential d USING (SELECT ? userid,? login,? display_firstname,? display_lastname,crypt(?) password,? active FROM DUAL) s ON (d.userid=s.userid) WHEN MATCHED THEN UPDATE SET d.login=s.login, d.display_firstname = s.display_firstname, d.display_lastname = s.display_lastname, d.password = s.password, d.active = s.active WHEN NOT MATCHED THEN INSERT (d.userid, d.login, d.display_firstname, d.display_lastname, d.password, d.active) VALUES (s.userid, s.login, s.display_firstname, s.display_lastname, s.password, s.active)"; stInsert = connection.prepareStatement(sqlInsert, new String[] { "userid" }); } stInsert.setInt(1, uuid); stInsert.setString(2, login); stInsert.setString(3, firstname); stInsert.setString(4, lastname); stInsert.setString(5, password); stInsert.setString(6, active); stInsert.executeUpdate(); } else { sqlInsert = "REPLACE INTO credential(userid, login, display_firstname, display_lastname, password, active) VALUES (?, ?, ?, ?, UNHEX(SHA1(?)),?)"; stInsert = connection.prepareStatement(sqlInsert, Statement.RETURN_GENERATED_KEYS); if (dbserveur.equals("oracle")) { sqlInsert = "MERGE INTO credential d USING (SELECT ? userid,? login,? display_firstname,? display_lastname,crypt(?) password,? active FROM DUAL) s ON (d.userid=s.userid) WHEN MATCHED THEN UPDATE SET d.login=s.login, d.display_firstname = s.display_firstname, d.display_lastname = s.display_lastname, d.password = s.password, d.active = s.active WHEN NOT MATCHED THEN INSERT (d.userid, d.login, d.display_firstname, d.display_lastname, d.password, d.active) VALUES (s.userid, s.login, s.display_firstname, s.display_lastname, s.password, s.active)"; stInsert = connection.prepareStatement(sqlInsert, new String[] { "userid" }); } stInsert.setInt(1, uuid); stInsert.setString(2, login); stInsert.setString(3, " "); stInsert.setString(4, label); stInsert.setString(5, password); stInsert.setString(6, active); stInsert.executeUpdate(); } ResultSet rs = stInsert.getGeneratedKeys(); if (rs.next()) { newId = rs.getInt(1); } //On renvoie le body pour qu'il soit stock dans le log result = "<user "; result += DomUtils.getXmlAttributeOutput("uid", login) + " "; result += DomUtils.getXmlAttributeOutput("firstname", firstname) + " "; result += DomUtils.getXmlAttributeOutput("lastname", lastname) + " "; result += DomUtils.getXmlAttributeOutput("label", label) + " "; result += DomUtils.getXmlAttributeOutput("password", password) + " "; result += DomUtils.getXmlAttributeOutputInt("uuid", newId) + " "; result += ">"; result += "</user>"; return result; }
From source file:com.portfolio.data.provider.MysqlAdminProvider.java
@Override public Object postModels(MimeType mimeType, String xmlModel, int userId) throws Exception { // TODO Auto-generated method stub if (!credential.isAdmin(userId)) throw new RestWebApplicationException(Status.FORBIDDEN, "No admin right"); String pm_label = null;//ww w . j a va2 s . com String portfolio_id = null; Integer id = 0; String result = ""; //On prepare les requetes SQL PreparedStatement stInsert; String sqlInsert; //On recupere le body Document doc; doc = DomUtils.xmlString2Document(xmlModel, new StringBuffer()); Element users = doc.getDocumentElement(); NodeList children = null; children = users.getChildNodes(); // On parcourt une premire fois les enfants pour rcuperer la liste crire en base //On verifie le bon format if (users.getNodeName().equals("models")) { for (int i = 0; i < children.getLength(); i++) { if (children.item(i).getNodeName().equals("model")) { NodeList children2 = null; children2 = children.item(i).getChildNodes(); for (int y = 0; y < children2.getLength(); y++) { if (children2.item(y).getNodeName().equals("label")) { pm_label = DomUtils.getInnerXml(children2.item(y)); } if (children2.item(y).getNodeName().equals("treeid")) { portfolio_id = DomUtils.getInnerXml(children2.item(y)); } //requete sql refaire } } } } else { result = "Erreur lors de la recuperation des attributs de l'utilisateur dans le XML"; } return result; }
From source file:com.portfolio.data.provider.MysqlAdminProvider.java
@Override public Object putRole(String xmlRole, int userId, int roleId) throws Exception { // TODO Auto-generated method stub if (!credential.isAdmin(userId)) throw new RestWebApplicationException(Status.FORBIDDEN, "No admin right"); String result = null;//w w w.j a v a2s . co m String username = null; String password = null; String firstname = null; String lastname = null; String email = null; String label = null; int id = 0; //On prepare les requetes SQL PreparedStatement stInsert; String sqlInsert; //On recupere le body Document doc; doc = DomUtils.xmlString2Document(xmlRole, new StringBuffer()); Element role = doc.getDocumentElement(); NodeList children = null; children = role.getChildNodes(); // On parcourt une premire fois les enfants pour rcuperer la liste crire en base //On verifie le bon format if (role.getNodeName().equals("role")) { for (int i = 0; i < children.getLength(); i++) { if (children.item(i).getNodeName().equals("label")) { label = DomUtils.getInnerXml(children.item(i)); } } } else { result = "Erreur lors de la recuperation des attributs de l'utilisateur dans le XML"; } //On ajoute l'utilisateur dans la base de donnees try { sqlInsert = "REPLACE INTO credential(login, display_firstname, display_lastname,email, password) VALUES (?, ?, ?, ?, UNHEX(SHA1(?)))"; stInsert = connection.prepareStatement(sqlInsert, Statement.RETURN_GENERATED_KEYS); if (dbserveur.equals("oracle")) { sqlInsert = "INSERT INTO credential(login, display_firstname, display_lastname,email, password) VALUES (?, ?, ?, ?, crypt(?))"; stInsert = connection.prepareStatement(sqlInsert, new String[] { "userid" }); } stInsert.setString(1, username); stInsert.setString(2, firstname); stInsert.setString(3, lastname); stInsert.setString(4, email); stInsert.setString(5, password); stInsert.executeUpdate(); ResultSet rs = stInsert.getGeneratedKeys(); if (rs.next()) { id = rs.getInt(1); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } result = "" + id; return result; }
From source file:com.portfolio.data.provider.MysqlAdminProvider.java
@Override public String postUsers(String in, int userId) throws Exception { if (!credential.isAdmin(userId)) throw new RestWebApplicationException(Status.FORBIDDEN, "No admin right"); String result = null;/* w w w . j a va2s. c o m*/ String username = null; String password = null; String firstname = null; String lastname = null; String email = null; String active = "1"; int id = 0; //On prepare les requetes SQL PreparedStatement stInsert; String sqlInsert; //On recupere le body Document doc; doc = DomUtils.xmlString2Document(in, new StringBuffer()); Element users = doc.getDocumentElement(); NodeList children = null; children = users.getChildNodes(); // On parcourt une premire fois les enfants pour rcuperer la liste crire en base //On verifie le bon format if (users.getNodeName().equals("users")) { for (int i = 0; i < children.getLength(); i++) { if (children.item(i).getNodeName().equals("user")) { NodeList children2 = null; children2 = children.item(i).getChildNodes(); for (int y = 0; y < children2.getLength(); y++) { if (children2.item(y).getNodeName().equals("username")) { username = DomUtils.getInnerXml(children2.item(y)); } if (children2.item(y).getNodeName().equals("password")) { password = DomUtils.getInnerXml(children2.item(y)); } if (children2.item(y).getNodeName().equals("firstname")) { firstname = DomUtils.getInnerXml(children2.item(y)); } if (children2.item(y).getNodeName().equals("lastname")) { lastname = DomUtils.getInnerXml(children2.item(y)); } if (children2.item(y).getNodeName().equals("email")) { email = DomUtils.getInnerXml(children2.item(y)); } if (children2.item(y).getNodeName().equals("active")) { active = DomUtils.getInnerXml(children2.item(y)); } } } } } else { result = "Erreur lors de la recuperation des attributs de l'utilisateur dans le XML"; } //On ajoute l'utilisateur dans la base de donnees try { sqlInsert = "REPLACE INTO credential(login, display_firstname, display_lastname,email, password, active) VALUES (?, ?, ?, ?, UNHEX(SHA1(?)),?)"; stInsert = connection.prepareStatement(sqlInsert, Statement.RETURN_GENERATED_KEYS); if (dbserveur.equals("oracle")) { sqlInsert = "INSERT INTO credential(login, display_firstname, display_lastname,email, password, active) VALUES (?, ?, ?, ?, crypt(?),?)"; stInsert = connection.prepareStatement(sqlInsert, new String[] { "userid" }); } stInsert.setString(1, username); if (firstname == null) { firstname = " "; stInsert.setString(2, firstname); } else { stInsert.setString(2, firstname); } if (lastname == null) { lastname = " "; stInsert.setString(3, lastname); } else { stInsert.setString(3, lastname); } if (email == null) { email = " "; stInsert.setString(4, email); } else { stInsert.setString(4, email); } stInsert.setString(5, password); if (active == null) { active = " "; stInsert.setString(6, active); } else { stInsert.setString(6, active); } stInsert.executeUpdate(); ResultSet rs = stInsert.getGeneratedKeys(); if (rs.next()) { id = rs.getInt(1); } } catch (SQLException e) { e.printStackTrace(); } //On renvoie le body pour qu'il soit stock dans le log result = "<users>"; result += "<user "; result += DomUtils.getXmlAttributeOutputInt("id", id); result += ">"; result += DomUtils.getXmlElementOutput("username", username); result += DomUtils.getXmlElementOutput("password", password); result += DomUtils.getXmlElementOutput("firstname", firstname); result += DomUtils.getXmlElementOutput("lastname", lastname); result += DomUtils.getXmlElementOutput("email", email); result += DomUtils.getXmlElementOutput("active", active); result += "</user>"; result += "</users>"; return result; }