Example usage for org.dom4j Node getStringValue

List of usage examples for org.dom4j Node getStringValue

Introduction

In this page you can find the example usage for org.dom4j Node getStringValue.

Prototype

String getStringValue();

Source Link

Document

Returns the XPath string-value of this node.

Usage

From source file:org.infoglue.cms.applications.managementtool.actions.ViewEntityPropertiesAction.java

License:Open Source License

/**
 * This method fetches a value from the xml that is the contentVersions Value. If the 
 * xml is null the property has not been created yet and no values are present.
 *//*from  w  ww.ja v a2 s. c om*/

public String getAttributeValue(String key) {
    String value = "";
    try {
        String xml = this.getXML();
        if (xml != null) {
            DOMBuilder domBuilder = new DOMBuilder();

            Document document = domBuilder.getDocument(xml);

            Node node = document.getRootElement().selectSingleNode("attributes/" + key);
            if (node != null) {
                value = node.getStringValue();
                if (value != null)
                    value = new VisualFormatter().escapeHTML(value);
            }
        }
    } catch (Exception e) {
        e.printStackTrace();
    }

    return value;
}

From source file:org.infoglue.cms.applications.managementtool.actions.ViewSystemUserPropertiesAction.java

License:Open Source License

/**
 * This method fetches a value from the xml that is the contentVersions Value. If the 
 * contentVersioVO is null the contentVersion has not been created yet and no values are present.
 *//*from   w  w  w . j av  a2  s  .  c  o m*/

public String getAttributeValue(String key) {
    logger.info("Getting: " + key);
    String value = "";
    try {
        String xml = this.getXML();
        if (xml != null) {
            logger.info("key:" + key);
            logger.info("XML:" + this.getXML());

            DOMBuilder domBuilder = new DOMBuilder();

            Document document = domBuilder.getDocument(this.getXML());
            logger.info("rootElement:" + document.getRootElement().asXML());

            Node node = document.getRootElement().selectSingleNode("attributes/" + key);
            if (node != null) {
                value = node.getStringValue();
                logger.info("Getting value: " + value);
                if (value != null)
                    value = new VisualFormatter().escapeHTML(value);
            }
        }
    } catch (Exception e) {
        e.printStackTrace();
    }

    return value;
}

From source file:org.infoglue.cms.controllers.kernel.impl.simple.InfoGluePrincipalControllerProxy.java

License:Open Source License

/**
 * Getting a property for a Principal - used for personalisation. 
 * This method starts with getting the property on the user and if it does not exist we check out the
 * group-properties as well./*from   w w w  .j a  v a  2s  .  c  om*/
 */

public String getPrincipalPropertyValue(Database db, InfoGluePrincipal infoGluePrincipal, String propertyName,
        Integer languageId, Integer repositoryId, boolean useLanguageFallback, boolean escapeSpecialCharacters,
        boolean findLargestValue, boolean findPrioValue) throws Exception {
    String key = "" + infoGluePrincipal.getName() + "_" + propertyName + "_" + languageId + "_" + repositoryId
            + "_" + useLanguageFallback + "_" + escapeSpecialCharacters + "_" + findLargestValue + "_"
            + findPrioValue;
    logger.info("key:" + key);
    Object object = (String) CacheController.getCachedObject("principalPropertyValueCache", key);

    if (object instanceof NullObject) {
        logger.info("There was an cached property but it was null:" + object);
        return null;
    } else if (object != null) {
        logger.info("There was an cached principalPropertyValue:" + object);
        return (String) object;
    }

    logger.info("Reading principalPropertyValue again:" + key);
    String value = "";

    if (infoGluePrincipal == null || propertyName == null)
        return null;

    boolean hasPropertyName = false;
    List<ContentTypeDefinitionVO> userContentTypes = ContentTypeDefinitionController.getController()
            .getContentTypeDefinitionVOList(ContentTypeDefinitionVO.EXTRANET_USER_PROPERTIES, db);
    for (ContentTypeDefinitionVO ctVO : userContentTypes) {
        List<ContentTypeAttribute> attributes = ContentTypeDefinitionController.getController()
                .getContentTypeAttributes(ctVO.getSchemaValue());
        outer: for (ContentTypeAttribute attribute : attributes) {
            if (attribute.getName().equals(propertyName)) {
                hasPropertyName = true;
                break outer;
            }
        }
    }
    logger.info("User hasPropertyName:" + hasPropertyName);

    if (hasPropertyName) {
        Collection userPropertiesList = UserPropertiesController.getController()
                .getUserPropertiesList(infoGluePrincipal.getName(), languageId, db, true);
        Iterator userPropertiesListIterator = userPropertiesList.iterator();
        while (userPropertiesListIterator.hasNext()) {
            UserProperties userProperties = (UserProperties) userPropertiesListIterator.next();

            if (userProperties != null && userProperties.getLanguage().getLanguageId().equals(languageId)
                    && userProperties.getValue() != null && propertyName != null) {
                String propertyXML = userProperties.getValue();
                if (propertyXML != null && propertyXML.indexOf(propertyName) > -1) {
                    value = getAttributeValue(propertyXML, propertyName, escapeSpecialCharacters);
                    if (value != null && !value.equals(""))
                        break;
                }
            }
        }
    }

    hasPropertyName = false;
    List<ContentTypeDefinitionVO> roleContentTypes = ContentTypeDefinitionController.getController()
            .getContentTypeDefinitionVOList(ContentTypeDefinitionVO.EXTRANET_ROLE_PROPERTIES, db);
    for (ContentTypeDefinitionVO ctVO : roleContentTypes) {
        List<ContentTypeAttribute> attributes = ContentTypeDefinitionController.getController()
                .getContentTypeAttributes(ctVO.getSchemaValue());
        outer: for (ContentTypeAttribute attribute : attributes) {
            if (attribute.getName().equals(propertyName)) {
                hasPropertyName = true;
                break outer;
            }
        }
    }
    logger.info("Role hasPropertyName:" + hasPropertyName);

    if (value.equals("") && hasPropertyName) {
        List roles = infoGluePrincipal.getRoles();
        String largestValue = "-1";
        String prioValue = null;
        int latestPriority = 0;
        Iterator rolesIterator = roles.iterator();
        while (rolesIterator.hasNext()) {
            InfoGlueRole role = (InfoGlueRole) rolesIterator.next();
            Collection rolePropertiesList = RolePropertiesController.getController()
                    .getRolePropertiesList(role.getName(), languageId, db, true);

            Iterator rolePropertiesListIterator = rolePropertiesList.iterator();
            while (rolePropertiesListIterator.hasNext()) {
                RoleProperties roleProperties = (RoleProperties) rolePropertiesListIterator.next();

                if (roleProperties != null && roleProperties.getLanguage().getLanguageId().equals(languageId)
                        && roleProperties.getValue() != null && propertyName != null) {
                    String propertyXML = roleProperties.getValue();
                    DOMBuilder domBuilder = new DOMBuilder();
                    Document document = domBuilder.getDocument(propertyXML);

                    Node propertyPriorityNode = document.getRootElement()
                            .selectSingleNode("attributes/PropertyPriority");
                    int currentPriority = 0;
                    if (propertyPriorityNode != null) {
                        try {
                            String propertyPriorityValue = propertyPriorityNode.getStringValue();
                            logger.info("propertyPriorityValue:" + propertyPriorityValue);

                            if (propertyPriorityValue != null && !propertyPriorityValue.equals(""))
                                currentPriority = new Integer(propertyPriorityValue);
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                    }

                    Node node = document.getRootElement().selectSingleNode("attributes/" + propertyName);
                    if (node != null) {
                        value = node.getStringValue();
                        logger.info("Getting value: " + value);
                        if (value != null && escapeSpecialCharacters)
                            value = new VisualFormatter().escapeHTML(value);

                        if (value != null && !value.equals("") && findLargestValue
                                && new Integer(largestValue).intValue() < new Integer(value).intValue())
                            largestValue = value;

                        logger.info("" + findLargestValue + ":" + findPrioValue + ":" + currentPriority + "="
                                + latestPriority);
                        if (value != null && !value.equals("") && !findLargestValue && findPrioValue
                                && currentPriority > latestPriority) {
                            logger.info("Using other value..");
                            prioValue = value;
                            latestPriority = currentPriority;
                        }

                        break;
                    }
                }
            }
        }

        if (findLargestValue)
            value = largestValue;

        if (findPrioValue && prioValue != null) {
            value = prioValue;
            logger.info("Using prio value");
        }

        if (value.equals("") && useLanguageFallback) {
            LanguageVO masterLanguageVO = LanguageDeliveryController.getLanguageDeliveryController()
                    .getMasterLanguageForRepository(db, repositoryId);
            if (!masterLanguageVO.getLanguageId().equals(languageId))
                value = getPrincipalPropertyValue(infoGluePrincipal, propertyName,
                        masterLanguageVO.getLanguageId(), repositoryId, useLanguageFallback,
                        escapeSpecialCharacters, findLargestValue);
        }
    }

    hasPropertyName = false;
    List<ContentTypeDefinitionVO> groupContentTypes = ContentTypeDefinitionController.getController()
            .getContentTypeDefinitionVOList(ContentTypeDefinitionVO.EXTRANET_GROUP_PROPERTIES, db);
    for (ContentTypeDefinitionVO ctVO : groupContentTypes) {
        List<ContentTypeAttribute> attributes = ContentTypeDefinitionController.getController()
                .getContentTypeAttributes(ctVO.getSchemaValue());
        outer: for (ContentTypeAttribute attribute : attributes) {
            if (attribute.getName().equals(propertyName)) {
                hasPropertyName = true;
                break outer;
            }
        }
    }
    logger.info("Group hasPropertyName:" + hasPropertyName);
    if (value.equals("") && hasPropertyName) {
        //Timer t = new Timer();
        List groups = infoGluePrincipal.getGroups();
        String largestValue = "-1";
        String prioValue = null;
        int latestPriority = 0;
        Iterator groupsIterator = groups.iterator();
        while (groupsIterator.hasNext()) {
            InfoGlueGroup group = (InfoGlueGroup) groupsIterator.next();

            Collection<GroupPropertiesVO> groupPropertiesList = GroupPropertiesController.getController()
                    .getGroupPropertiesVOList(group.getName(), languageId, db);
            //Collection groupPropertiesList = GroupPropertiesController.getController().getGroupPropertiesList(group.getName(), languageId, db, true);
            //t.printElapsedTime("getGroupPropertiesList");

            Iterator groupPropertiesListIterator = groupPropertiesList.iterator();
            while (groupPropertiesListIterator.hasNext()) {
                GroupPropertiesVO groupProperties = (GroupPropertiesVO) groupPropertiesListIterator.next();
                //GroupProperties groupProperties = (GroupProperties)groupPropertiesListIterator.next();

                //if(groupProperties != null && groupProperties.getLanguage().getLanguageId().equals(languageId) && groupProperties.getValue() != null && propertyName != null)
                if (groupProperties != null && groupProperties.getLanguageId().equals(languageId)
                        && groupProperties.getValue() != null && propertyName != null) {
                    String propertyXML = groupProperties.getValue();
                    DOMBuilder domBuilder = new DOMBuilder();
                    Document document = domBuilder.getDocument(propertyXML);

                    Node propertyPriorityNode = document.getRootElement()
                            .selectSingleNode("attributes/PropertyPriority");
                    int currentPriority = 0;
                    if (propertyPriorityNode != null) {
                        try {
                            String propertyPriorityValue = propertyPriorityNode.getStringValue();
                            logger.info("propertyPriorityValue:" + propertyPriorityValue);

                            if (propertyPriorityValue != null && !propertyPriorityValue.equals(""))
                                currentPriority = new Integer(propertyPriorityValue);
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                    }

                    Node node = document.getRootElement().selectSingleNode("attributes/" + propertyName);
                    if (node != null) {
                        value = node.getStringValue();
                        logger.info("Getting value: " + value);
                        if (value != null && escapeSpecialCharacters)
                            value = new VisualFormatter().escapeHTML(value);

                        if (value != null && !value.equals("") && findLargestValue
                                && new Integer(largestValue).intValue() < new Integer(value).intValue())
                            largestValue = value;

                        logger.info("" + findLargestValue + ":" + findPrioValue + ":" + currentPriority + "="
                                + latestPriority);
                        if (value != null && !value.equals("") && !findLargestValue && findPrioValue
                                && currentPriority > latestPriority) {
                            logger.info("Using other value..");
                            prioValue = value;
                            latestPriority = currentPriority;
                        }

                        break;
                    }
                }
            }

            //t.printElapsedTime("group part done:" + largestValue + ":" + prioValue);
            if (!largestValue.equals("-1") || prioValue != null)
                logger.warn("FOUND VALUE:" + largestValue + ":" + prioValue);
        }

        if (findLargestValue)
            value = largestValue;

        if (findPrioValue && prioValue != null) {
            value = prioValue;
            logger.info("Using prio value");
        }

        if (value.equals("") && useLanguageFallback) {
            LanguageVO masterLanguageVO = LanguageDeliveryController.getLanguageDeliveryController()
                    .getMasterLanguageForRepository(db, repositoryId);
            if (!masterLanguageVO.getLanguageId().equals(languageId))
                value = getPrincipalPropertyValue(infoGluePrincipal, propertyName,
                        masterLanguageVO.getLanguageId(), repositoryId, useLanguageFallback,
                        escapeSpecialCharacters, findLargestValue);
        }
    }

    if (value != null)
        CacheController.getCachedObject("principalPropertyValueCache", key);

    if (value != null)
        CacheController.cacheObject("principalPropertyValueCache", key, value);
    else
        CacheController.cacheObject("principalPropertyValueCache", key, new NullObject());

    return value;
}

From source file:org.infoglue.cms.controllers.kernel.impl.simple.ShortcutController.java

License:Open Source License

/**
 * Returns a list of all available shortcuts defined in the system including personal 
 * @param userPrincipal a user principal
 * @return a list ShortcutVOs representing available shortcuts
 *///from w  w w .j  a  va 2  s.com
public List getAvailableShortcutVOList(InfoGluePrincipal userPrincipal) throws SystemException {
    List availableShortcutVOList = new ArrayList();

    try {
        Map args = new HashMap();
        args.put("globalKey", "infoglue");
        PropertySet propertySet = PropertySetManager.getInstance("jdbc", args);

        String xml = getDataPropertyValue(propertySet, "serverNode_-1_shortcuts");
        logger.info("xml:" + xml);

        if (xml != null) {
            DOMBuilder domBuilder = new DOMBuilder();

            Document document = domBuilder.getDocument(xml);

            List nodes = document.getRootElement().selectNodes("shortcut");
            logger.info("nodes:" + nodes.size());

            Iterator nodesIterator = nodes.iterator();
            while (nodesIterator.hasNext()) {
                Node node = (Node) nodesIterator.next();
                logger.info("Node:" + node.asXML());

                Node nameNode = node.selectSingleNode("name");
                Node urlNode = node.selectSingleNode("url");
                Node popupNode = node.selectSingleNode("popup");

                String name = nameNode.getStringValue();
                String url = urlNode.getStringValue();
                String popup = popupNode.getStringValue();

                ShortcutVO shortcut = new ShortcutVO(name, url, Boolean.valueOf(popup).booleanValue());

                availableShortcutVOList.add(shortcut);
            }
        }

    } catch (Exception e) {
        logger.error("An error occurred when reading shortcuts:" + e.getMessage(), e);
    }

    return availableShortcutVOList;
}

From source file:org.infoglue.igide.cms.connection.InfoglueProxy.java

License:Open Source License

private static List<ContentTypeDefinition> deserializeContentTypeDefinitions(String xml)
        throws DocumentException, UnsupportedEncodingException {
    List<ContentTypeDefinition> result = new ArrayList<ContentTypeDefinition>();
    SAXReader reader = new SAXReader();
    Document document = reader.read(new java.io.ByteArrayInputStream(xml.getBytes("UTF-8")));

    List list = document.selectNodes("//definitions/definition");
    for (Iterator iter = list.iterator(); iter.hasNext();) {
        ContentTypeDefinition def = new ContentTypeDefinition();
        // def.setConnection(connection);
        Element row = (Element) iter.next();
        def.setId(toInteger(row.valueOf("@id")));
        def.setType(toInteger(row.valueOf("@type")));
        def.setName(row.valueOf("@name"));
        Node value = row.selectSingleNode("schemaValue");
        String val = value.getStringValue();
        def.setSchemaValue(URLDecoder.decode(val, "UTF-8"));
        result.add(def);/*  ww  w . j ava 2s .  c  o  m*/
        Logger.logInfo(def);
    }
    return result;
}

From source file:org.infoglue.igide.cms.connection.InfoglueProxy.java

License:Open Source License

private static ContentVersion deserializeContentVersion(String xml, boolean headonly)
        throws DocumentException, UnsupportedEncodingException {
    SAXReader reader = new SAXReader();
    Logger.logConsole("Parsing XML:" + xml);
    Document document = reader.read(new java.io.ByteArrayInputStream(xml.getBytes("UTF-8")));
    //Document document = reader.read(new StringBufferInputStream(xml));
    Logger.logConsole("document:" + document);
    ContentVersion contentVersion = new ContentVersion();
    String value = "";

    Node node = document.selectSingleNode("/contentVersion/head");
    System.out.println("Creating contentVersion of: " + node.asXML());

    contentVersion.setId(toInteger(node.valueOf("@id")));
    contentVersion.setLanguageId(toInteger(node.valueOf("@languageId")));
    contentVersion.setContentId(toInteger(node.valueOf("@contentId")));
    contentVersion.setStateId(toInteger(node.valueOf("@activeVersionStateId")));
    contentVersion.setVersionModifier(node.valueOf("@activeVersionModifier"));
    contentVersion.setLanguageName(node.valueOf("@languageName"));
    try {// www. jav  a2 s  .c om
        contentVersion.setMod(new Date(new Long(node.valueOf("@mod")).longValue()));
    } catch (Exception e) {
        System.out.println("failed to set date: " + node.valueOf("@mod"));
    }
    contentVersion.setActive(node.valueOf("@isActive").equalsIgnoreCase("true"));

    if (!headonly) {
        Node val = document.selectSingleNode("/contentVersion/value");
        value = val.getStringValue();
        if (enableCompression) {
            Base64Encoder decoder = new Base64Encoder();
            byte[] b_value = decoder.decode(value);
            CompressionHelper zip = new CompressionHelper();
            String decoded = zip.decompress(b_value);
            contentVersion.setValue(decoded);
        } else {
            contentVersion.setValue(URLDecoder.decode(value, "UTF-8"));
        }
    }

    return contentVersion;
}

From source file:org.jdbcluster.dao.DaoConfigImpl.java

License:Apache License

public String getPropertieValue(String daoId, String Property) {
    String xPath = "//jdbcluster/daotype/dao[@id='" + daoId + "']/property[@name='" + Property + "']/value";
    Node node = document.selectSingleNode(xPath);

    if (node == null) {
        return null;
    } else {//from w ww .j  a  v a 2s .  c  om
        return node.getStringValue();
    }
}

From source file:org.mule.tooling.jubula.xmlparser.JubulaDocumentParser.java

License:Open Source License

public String getTestNameByID(int secuencialID) {
    Node testcaseNameNode = document
            .selectSingleNode("//testsuite/test-run/testcase[" + secuencialID + "]/name");
    Node paramterNameNode = document
            .selectSingleNode("//testsuite/test-run/testcase[" + secuencialID + "]/parameter/parameter-name");
    Node paramterValueNode = document
            .selectSingleNode("//testsuite/test-run/testcase[" + secuencialID + "]/parameter/parameter-value");

    String name = "Not Provided";

    if (testcaseNameNode != null) {
        name = testcaseNameNode.getStringValue();
        if (paramterValueNode != null) {
            name += " (" + paramterNameNode.getStringValue() + ": " + paramterValueNode.getStringValue() + ")";
        }//w ww. jav a2  s .  co  m
    }

    return name;
}

From source file:org.mule.tooling.jubula.xmlparser.JubulaDocumentParser.java

License:Open Source License

public String getTestSuitName() {
    Node node = document.selectSingleNode("//testsuite/name");
    return node.getStringValue();
}

From source file:org.mule.tooling.jubula.xmlparser.JubulaDocumentParser.java

License:Open Source License

public String getProjectName() {
    Node node = document.selectSingleNode("//project/name");
    return node.getStringValue();
}