Example usage for org.dom4j DocumentHelper createDocument

List of usage examples for org.dom4j DocumentHelper createDocument

Introduction

In this page you can find the example usage for org.dom4j DocumentHelper createDocument.

Prototype

public static Document createDocument() 

Source Link

Usage

From source file:com.flaptor.hounder.indexer.RmiIndexerStub.java

License:Apache License

private static Document generateDeleteDocument(String url) {
    org.dom4j.Document dom = DocumentHelper.createDocument();
    Element root = dom.addElement("documentDelete");
    root.addElement("documentId").addText(url);
    return dom;/*ww  w.ja  v a 2  s  .c o m*/
}

From source file:com.flaptor.hounder.indexer.RmiIndexerStub.java

License:Apache License

private static Document generateCommandDocument(String command) {
    org.dom4j.Document dom = DocumentHelper.createDocument();
    Element root = dom.addElement("command");
    root.addAttribute("name", command);
    return dom;/*from  w  w  w.ja  v  a2  s. c o  m*/
}

From source file:com.flaptor.hounder.indexer.SanitizerModule.java

License:Apache License

public static void main(String[] args) {
    String text = args[0];/*from   w  w w .  j  a  v  a 2 s. c om*/
    Document doc = DocumentHelper.createDocument();
    Element root = doc.addElement("documentAdd");
    root.addElement("text").addText(text);
    root.addElement("field").addAttribute("name", "text").addAttribute("indexed", "true")
            .addAttribute("stored", "true").addAttribute("tokenized", "true").addText(text);
    SanitizerModule mod = new SanitizerModule();
    Document[] docs = mod.internalProcess(doc);
    for (Document d : docs) {
        System.out.println(DomUtil.domToString(d));
    }
}

From source file:com.flaptor.hounder.searcher.OpenSearch.java

License:Apache License

/**
 * Creates a OpenSearch's compatible DOM document.
 * The generated dom contains only valid xml characters (infringing chars are removed).
 * Compliant with OpenSearch 1.0 with most of the Nutch 0.8.1 extensions.
 * @param baseUrl the url of the webapp/*from  ww  w  .  j a  v  a  2  s.  c o  m*/
 * @param htmlSearcher the name of the component (servlet/jsp) that returns the search results in an HTML page
 * @param opensearchSearcher the name of the component (servlet/jsp) that returns the search results in an OpenSearch RSS page
 * @param extraParams the parameters present in the request, not passed explicitly (such as sort, reverse, etc.)
 * @param queryString the query string, as entered by the user
 * @param start the offset of the first result
 * @param count the number of results requested (the actual number of results found may be smaller)
 * @param sr the SearchResults structure containing the result of performing the query
 * @return a DOM document
 * <br>An empty sr argument means that no results were found.
 */
public static final Document buildDom_1_0(String baseUrl, String htmlSearcher, String opensearchSearcher,
        String extraParams, String queryString, int start, int count, GroupedSearchResults sr, int status,
        String statusMessage, boolean useXslt) {

    String encodedQuery = null;
    try {
        encodedQuery = URLEncoder.encode(queryString, "UTF-8");
    } catch (UnsupportedEncodingException e) {
        // Should never happen!
        encodedQuery = "";
    }
    Document dom = DocumentHelper.createDocument();
    if (useXslt) {
        Map<String, String> map = new HashMap<String, String>();
        map.put("type", "text/xsl");
        map.put("href", xsltPath);
        dom.addProcessingInstruction("xml-stylesheet", map);
    }

    Namespace opensearchNs = DocumentHelper.createNamespace("opensearch", XMLNS_A9_OPENSEARCH_1_0);
    Namespace hounderNs = DocumentHelper.createNamespace("hounder", XMLNS_HOUNDER_OPENSEARCH_1_0);
    Element root;
    Element channel;
    if (!useXslt) {
        root = dom.addElement("rss").addAttribute("version", "2.0");
        channel = root.addElement("channel");
    } else {
        channel = dom.addElement("searchResults");
        root = channel;
    }
    root.add(opensearchNs);
    root.add(hounderNs);

    channel.addElement("title").addText(titlePrefix + " " + DomUtil.filterXml(queryString));
    channel.addElement("link")
            .addText(baseUrl + "/" + htmlSearcher + "?query=" + encodedQuery + "&start=" + start + extraParams);
    channel.addElement("description").addText(descPrefix + " " + DomUtil.filterXml(queryString));
    channel.addElement(QName.get("totalResults", opensearchNs))
            .addText(Integer.toString(sr.totalGroupsEstimation()));
    channel.addElement(QName.get("startIndex", opensearchNs)).addText(Integer.toString(start));
    channel.addElement(QName.get("itemsPerPage", opensearchNs)).addText(Integer.toString(count));
    channel.addElement(QName.get("query", hounderNs)).addText(DomUtil.filterXml(queryString));
    AQuery suggestedQuery = sr.getSuggestedQuery();
    if (null != suggestedQuery) {
        channel.addElement(QName.get("suggestedQuery", hounderNs))
                .addText(DomUtil.filterXml(suggestedQuery.toString()));
    }
    channel.addElement(QName.get("status", hounderNs)).addText(Integer.toString(status));
    channel.addElement(QName.get("statusDesc", hounderNs)).addText(statusMessage);
    if (sr.lastDocumentOffset() > 0) {
        channel.addElement(QName.get("nextPage", hounderNs)).addText(baseUrl + "/" + opensearchSearcher
                + "?query=" + encodedQuery + "&start=" + (sr.lastDocumentOffset()) + extraParams);
    }

    for (int i = 0; i < sr.groups(); i++) {
        Vector<org.apache.lucene.document.Document> docs = sr.getGroup(i).last();
        Element parent = null;
        for (int j = 0; j < docs.size(); j++) {
            org.apache.lucene.document.Document doc = sr.getGroup(i).last().get(j);
            if (0 == j) {// j=0 is head of group. j>0 is tail
                parent = createAndAddElement(doc, channel, hounderNs);
            } else {
                createAndAddElement(doc, parent, hounderNs);
            }

        }
    }
    return dom;
}

From source file:com.flaptor.hounder.searcher.XmlResults.java

License:Apache License

/**
 * Creates a XML search results document (verbose version).
 * The generated dom contains only valid xml characters (infringing chars are removed).
 * @param queryString the query string, as entered by the user
 * @param start the offset of the first result
 * @param count the number of results requested (the actual number of results found may be smaller)
 * @param orderBy the field by which the results are sorted
 * @param sr the GroupedSearchResults structure containing the result of performing the query
 * @param status the code returned by the searcher
 * @param statusMsg the status description
 * @param xsltUri the uri for the xslt used to process the xml on the client side, 
 *          or null if no client-side processing is needed
 * @param rangeField field for which a range filter will be applied, or null if no filter used.
 * @param rangeStart start value for the range filter.
 * @param rangeEnd end value for the range filter.
 * @param params a map of parameters sent to the searcher with the request.
 * @return a DOM document// ww  w. j av  a2s . co m
 * <br>An empty sr argument means that no results were found.
 */
public static final Document buildXml(String queryString, int start, int count, String orderBy,
        GroupedSearchResults sr, int status, String statusMsg, String xsltUri, String rangeField,
        String rangeStart, String rangeEnd, Map<String, String[]> params) {

    Document dom = DocumentHelper.createDocument();
    if (null != xsltUri) {
        Map<String, String> map = new HashMap<String, String>();
        map.put("type", "text/xsl");
        map.put("href", xsltUri);
        dom.addProcessingInstruction("xml-stylesheet", map);
    }
    Element root;
    Element group;
    root = dom.addElement("SearchResults");
    root.addElement("totalResults").addText(Integer.toString(sr.totalResults()));
    root.addElement("totalGroupsEstimation").addText(Integer.toString(sr.totalGroupsEstimation()));
    if (count > 0) {
        root.addElement("startIndex").addText(Integer.toString(start));
    }
    if (count > 0) {
        root.addElement("itemsPerPage").addText(Integer.toString(count));
    }
    if (null != orderBy) {
        root.addElement("orderBy").addText(DomUtil.filterXml(orderBy));
    }
    if (null != queryString) {
        root.addElement("query").addText(DomUtil.filterXml(queryString));
    }
    if (null != rangeField) {
        root.addElement("filter").addAttribute("field", rangeField).addAttribute("start", rangeStart)
                .addAttribute("end", rangeEnd);
    }
    if (null != params) {
        for (String key : params.keySet()) {
            if (null == root.selectSingleNode(key)) {
                String val = params.get(key)[0];
                root.addElement(key).addText(val);
            }
        }
    }
    AQuery suggestedQuery = sr.getSuggestedQuery();
    if (null != suggestedQuery) {
        root.addElement("suggestedQuery")
                .addText(DomUtil.filterXml(((LazyParsedQuery) suggestedQuery).getQueryString()));
    }
    root.addElement("status").addText(Integer.toString(status));
    root.addElement("statusDesc").addText(statusMsg);

    for (int i = 0; i < sr.groups(); i++) {
        String name = sr.getGroup(i).first();
        group = root.addElement("group").addAttribute("name", name);
        Vector<org.apache.lucene.document.Document> docs = sr.getGroup(i).last();
        for (int j = 0; j < docs.size(); j++) {
            org.apache.lucene.document.Document doc = sr.getGroup(i).last().get(j);
            createAndAddElement(doc, group);
        }
    }
    return dom;
}

From source file:com.founder.fix.fixflow.core.impl.util.XmlUtil.java

License:Apache License

public static Document createDocument() {
    Document document = DocumentHelper.createDocument();
    return document;
}

From source file:com.glaf.activiti.extension.xml.ExtensionWriter.java

License:Apache License

public Document write(List<ExtensionEntity> extensions) {
    Document doc = DocumentHelper.createDocument();
    if (extensions != null && extensions.size() > 0) {
        Element root = doc.addElement("bpm-cfg");
        Iterator<ExtensionEntity> iterator = extensions.iterator();
        while (iterator.hasNext()) {
            ExtensionEntity extension = iterator.next();
            if (root.attribute("type") == null && extension.getType() != null) {
                root.addAttribute("type", extension.getType());
            }/*from  w  w  w  .j av a  2  s.c o  m*/
            if (StringUtils.isNotEmpty(extension.getTaskName())) {
                Element element = root.addElement("taskmgr");
                element.addAttribute("processName", extension.getProcessName());
                element.addAttribute("taskName", extension.getTaskName());
                if (extension.getFieldValue("taskMgmtType") != null) {
                    Element elem = element.addElement("taskMgmtType");
                    elem.setText(extension.getFieldValue("taskMgmtType"));
                }
                if (extension.getFieldValue("handlers") != null) {
                    Element elem = element.addElement("handlers");
                    elem.setText(extension.getFieldValue("handlers"));
                }
                if (extension.getFields() != null && extension.getFields().size() > 0) {
                    Element elem = element.addElement("properties");
                    Iterator<ExtensionFieldEntity> iter = extension.getFields().values().iterator();
                    while (iter.hasNext()) {
                        ExtensionFieldEntity field = iter.next();
                        Element e = elem.addElement("property");
                        e.addAttribute("key", field.getName());
                        e.addCDATA(field.getValue());
                    }
                }
            } else if (StringUtils.isNotEmpty(extension.getName())) {
                Element element = root.addElement("action");
                element.addAttribute("processName", extension.getProcessName());
                element.addAttribute("name", extension.getName());
                if (extension.getFieldValue("sql") != null) {
                    Element elem = element.addElement("sql");
                    elem.addCDATA(extension.getFieldValue("sql"));
                }
                if (extension.getFieldValue("handlers") != null) {
                    Element elem = element.addElement("handlers");
                    elem.setText(extension.getFieldValue("handlers"));
                }
                if (extension.getParams() != null && extension.getParams().size() > 0) {
                    Element em = element.addElement("parameters");
                    Iterator<ExtensionParamEntity> iter = extension.getParams().iterator();
                    while (iter.hasNext()) {
                        ExtensionParamEntity param = iter.next();
                        Element e = em.addElement("parameter");
                        e.addAttribute("name", param.getName());
                        e.addAttribute("type", param.getType());
                        e.addCDATA(param.getValue());
                    }
                }
            }
        }
    }
    return doc;
}

From source file:com.glaf.core.xml.XmlWriter.java

License:Apache License

public Document write(List<ClassDefinition> rows) {
    Document doc = DocumentHelper.createDocument();
    Element root = doc.addElement("mapping");
    for (ClassDefinition classDefinition : rows) {
        Element element = root.addElement("entity");
        element.addAttribute("name", classDefinition.getEntityName());
        element.addAttribute("package", classDefinition.getPackageName());
        element.addAttribute("moduleName", classDefinition.getModuleName());
        element.addAttribute("table", classDefinition.getTableName());
        element.addAttribute("title", classDefinition.getTitle());
        element.addAttribute("englishTitle", classDefinition.getEnglishTitle());
        FieldDefinition idField = classDefinition.getIdField();
        if (idField != null) {
            Element idElement = element.addElement("id");
            idElement.addAttribute("name", idField.getName());
            idElement.addAttribute("column", idField.getColumnName());
            idElement.addAttribute("type", idField.getType());
            idElement.addAttribute("title", idField.getTitle());
            idElement.addAttribute("englishTitle", idField.getEnglishTitle());
            if (idField.getLength() > 0) {
                idElement.addAttribute("length", String.valueOf(idField.getLength()));
            }//ww w.j a  v a  2s .c  om
        }

        Map<String, FieldDefinition> fields = classDefinition.getFields();
        Set<Entry<String, FieldDefinition>> entrySet = fields.entrySet();
        for (Entry<String, FieldDefinition> entry : entrySet) {
            String name = entry.getKey();
            FieldDefinition field = entry.getValue();
            if (idField != null
                    && StringUtils.equalsIgnoreCase(idField.getColumnName(), field.getColumnName())) {
                continue;
            }
            Element elem = element.addElement("property");
            elem.addAttribute("name", name);
            elem.addAttribute("column", field.getColumnName());
            elem.addAttribute("type", field.getType());
            elem.addAttribute("title", field.getTitle());
            elem.addAttribute("englishTitle", field.getEnglishTitle());

            if (StringUtils.equals(field.getType(), "String") && field.getLength() > 0) {
                elem.addAttribute("length", String.valueOf(field.getLength()));
            }
            if (field.isUnique()) {
                elem.addAttribute("unique", String.valueOf(field.isUnique()));
            }
            if (field.isSearchable()) {
                elem.addAttribute("searchable", String.valueOf(field.isSearchable()));
            }
            if (!field.isNullable()) {
                elem.addAttribute("nullable", String.valueOf(field.isNullable()));
            }
            if (field.isEditable()) {
                elem.addAttribute("editable", String.valueOf(field.isEditable()));
            }
            if (field.getDisplayType() > 0) {
                elem.addAttribute("displayType", String.valueOf(field.getDisplayType()));
            }
        }
    }
    return doc;
}

From source file:com.glaf.dts.util.XmlWriter.java

License:Apache License

public Document write(List<DataTransfer> rows) {
    Document doc = DocumentHelper.createDocument();
    Element root = doc.addElement("mapping");
    for (DataTransfer dataTransfer : rows) {
        Element element = root.addElement("entity");
        element.addAttribute("name", dataTransfer.getEntityName());
        element.addAttribute("package", dataTransfer.getPackageName());
        element.addAttribute("entityName", dataTransfer.getEntityName());
        element.addAttribute("className", dataTransfer.getClassName());
        element.addAttribute("table", dataTransfer.getTableName());
        element.addAttribute("title", dataTransfer.getTitle());
        element.addAttribute("englishTitle", dataTransfer.getEnglishTitle());
        element.addAttribute("parseType", dataTransfer.getParseType());
        element.addAttribute("parseClass", dataTransfer.getParseClass());
        element.addAttribute("filePrefix", dataTransfer.getFilePrefix());
        element.addAttribute("aggregationKeys", dataTransfer.getAggregationKeys());
        element.addAttribute("deleteFetch", dataTransfer.getDeleteFetch());
        element.addAttribute("insertOnly", dataTransfer.getInsertOnly());
        element.addAttribute("primaryKey", dataTransfer.getPrimaryKey());
        element.addAttribute("queryIds", dataTransfer.getQueryIds());
        element.addAttribute("split", dataTransfer.getSplit());
        element.addAttribute("stopWord", dataTransfer.getStopWord());
        element.addAttribute("temporaryFlag", dataTransfer.getTemporaryFlag());
        element.addAttribute("batchSize", String.valueOf(dataTransfer.getBatchSize()));
        element.addAttribute("startRow", String.valueOf(dataTransfer.getStartRow()));
        element.addAttribute("stopSkipRow", String.valueOf(dataTransfer.getStopSkipRow()));
        element.addAttribute("systemFlag", dataTransfer.getSystemFlag());

        ColumnDefinition idField = dataTransfer.getIdColumn();
        if (idField != null) {
            Element idElement = element.addElement("id");
            idElement.addAttribute("name", idField.getName());
            idElement.addAttribute("column", idField.getColumnName());
            idElement.addAttribute("type", idField.getType());
            idElement.addAttribute("title", idField.getTitle());
            idElement.addAttribute("englishTitle", idField.getEnglishTitle());
            if (idField.getLength() > 0) {
                idElement.addAttribute("length", String.valueOf(idField.getLength()));
            }//from   w  ww .  j a  v a  2 s .  com
            if (idField.getValueExpression() != null) {
                idElement.addAttribute("valueExpression", idField.getValueExpression());
            }
        }

        List<ColumnDefinition> columns = dataTransfer.getColumns();
        for (ColumnDefinition field : columns) {
            if (idField != null
                    && StringUtils.equalsIgnoreCase(idField.getColumnName(), field.getColumnName())) {
                continue;
            }
            Element elem = element.addElement("property");
            elem.addAttribute("name", field.getName());
            elem.addAttribute("column", field.getColumnName());
            elem.addAttribute("type", field.getType());
            if (field.getTitle() != null) {
                elem.addAttribute("title", field.getTitle());
            }
            if (field.getEnglishTitle() != null) {
                elem.addAttribute("englishTitle", field.getEnglishTitle());
            }
            if (field.getValueExpression() != null) {
                elem.addAttribute("valueExpression", field.getValueExpression());
            }

            if (field.getLength() > 0) {
                elem.addAttribute("length", String.valueOf(field.getLength()));
            }
            if (field.getPosition() != null && field.getPosition() > 0) {
                elem.addAttribute("position", String.valueOf(field.getPosition()));
            }
            if (field.getPrecision() > 0) {
                elem.addAttribute("precision", String.valueOf(field.getPrecision()));
            }
            if (field.isUnique()) {
                elem.addAttribute("unique", String.valueOf(field.isUnique()));
            }
            if (field.isSearchable()) {
                elem.addAttribute("searchable", String.valueOf(field.isSearchable()));
            }
            if (!field.isNullable()) {
                elem.addAttribute("nullable", String.valueOf(field.isNullable()));
            }
            if (field.isEditable()) {
                elem.addAttribute("editable", String.valueOf(field.isEditable()));
            }
            elem.addAttribute("displayType", String.valueOf(field.getDisplayType()));
        }
    }
    return doc;
}

From source file:com.glaf.jbpm.config.JbpmExtensionWriter.java

License:Apache License

public Document write(List<Extension> extensions) {
    Document doc = DocumentHelper.createDocument();
    if (extensions != null && extensions.size() > 0) {
        Element root = doc.addElement("bpm-cfg");
        Iterator<Extension> iterator = extensions.iterator();
        while (iterator.hasNext()) {
            Extension extension = iterator.next();
            if (root.attribute("type") == null && extension.getType() != null) {
                root.addAttribute("type", extension.getType());
            }/* w  w  w . ja v  a 2 s . c  o  m*/
            if (StringUtils.isNotEmpty(extension.getTaskName())) {
                Element element = root.addElement("taskmgr");
                element.addAttribute("processName", extension.getProcessName());
                element.addAttribute("taskName", extension.getTaskName());
                if (extension.getFieldValue("taskMgmtType") != null) {
                    Element elem = element.addElement("taskMgmtType");
                    elem.setText(extension.getFieldValue("taskMgmtType"));
                }
                if (extension.getFieldValue("handlers") != null) {
                    Element elem = element.addElement("handlers");
                    elem.setText(extension.getFieldValue("handlers"));
                }
                if (extension.getFields() != null && extension.getFields().size() > 0) {
                    Element elem = element.addElement("properties");
                    Iterator<ExtensionField> iter = extension.getFields().values().iterator();
                    while (iter.hasNext()) {
                        ExtensionField field = iter.next();
                        Element e = elem.addElement("property");
                        e.addAttribute("key", field.getName());
                        e.addCDATA(field.getValue());
                    }
                }
            } else if (StringUtils.isNotEmpty(extension.getName())) {
                Element element = root.addElement("action");
                element.addAttribute("processName", extension.getProcessName());
                element.addAttribute("name", extension.getName());
                if (extension.getFieldValue("sql") != null) {
                    Element elem = element.addElement("sql");
                    elem.addCDATA(extension.getFieldValue("sql"));
                }
                if (extension.getFieldValue("handlers") != null) {
                    Element elem = element.addElement("handlers");
                    elem.setText(extension.getFieldValue("handlers"));
                }
                if (extension.getParams() != null && extension.getParams().size() > 0) {
                    Element em = element.addElement("parameters");
                    Iterator<ExtensionParam> iter = extension.getParams().iterator();
                    while (iter.hasNext()) {
                        ExtensionParam param = iter.next();
                        Element e = em.addElement("parameter");
                        e.addAttribute("name", param.getName());
                        e.addAttribute("type", param.getType());
                        e.addCDATA(param.getValue());
                    }
                }
            }
        }
    }
    return doc;
}