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.oubeichen.gefexp.ShapesEditor.java

License:Open Source License

private void createRawOutput(ByteArrayOutputStream out) throws IOException {
    /*StringBuffer sb = new StringBuffer();
    Iterator it = getModel().getChildren()
    .iterator(), conit;//from   www  . ja va 2 s  .co m
    HashSet<Connection> hs = new HashSet<Connection>();
    sb.append("Shapes:\n"
    + getModel().getChildren()
          .size() + "\n");// shape
    while (it.hasNext()) {
       Shape sp = (Shape) it.next();
       sb.append(sp.toString() + "\n");
       sb.append("height:\n"
       + sp.getSize().height
       + "\nwidth:\n"
       + sp.getSize().width + "\n");
       sb.append("location:\n"
       + sp.getLocation().x + " "
       + sp.getLocation().y + "\n");
       conit = sp.getSourceConnections()
       .iterator();
       while (conit.hasNext()) {
    hs.add((Connection) conit.next());
       }
       conit = sp.getTargetConnections()
       .iterator();
       while (conit.hasNext()) {
    hs.add((Connection) conit.next());
       }
       sb.append("\n");// ?
    }
            
    sb.append("Connections:\n" + hs.size()
    + "\n");
    it = hs.iterator();
    while (it.hasNext()) {
       Connection con = (Connection) it
       .next();
       sb.append(con.getSource()
       .toString() + "\n");
       sb.append(con.getTarget()
       .toString() + "\n");
       sb.append("\n");// ?
    }
    out.write(sb.toString().getBytes());*/

    Document document = DocumentHelper.createDocument();
    Element root = document.addElement("diagram");// 
    Element shaperoot = root.addElement("shapes");
    Iterator it = getModel().getChildren().iterator(), conit;
    HashSet<Connection> hs = new HashSet<Connection>();
    while (it.hasNext()) {//shape
        Shape sp = (Shape) it.next();
        Element shapeElm = shaperoot.addElement("shape");
        shapeElm.addElement("name").addText(sp.toString());
        shapeElm.addElement("height").addText(String.valueOf(sp.getSize().height));
        shapeElm.addElement("width").addText(String.valueOf(sp.getSize().width));
        shapeElm.addElement("locx").addText(String.valueOf(sp.getLocation().x));
        shapeElm.addElement("locy").addText(String.valueOf(sp.getLocation().y));
        conit = sp.getSourceConnections().iterator();
        while (conit.hasNext()) {
            hs.add((Connection) conit.next());
        }
        conit = sp.getTargetConnections().iterator();
        while (conit.hasNext()) {
            hs.add((Connection) conit.next());
        }
    }
    Element connroot = root.addElement("connections");
    it = hs.iterator();
    while (it.hasNext()) {
        Element connElm = connroot.addElement("connection");
        Connection con = (Connection) it.next();
        connElm.addElement("source").addText(con.getSource().toString());
        connElm.addElement("target").addText(con.getTarget().toString());
    }
    OutputFormat format = OutputFormat.createPrettyPrint();
    format.setEncoding("UTF-8"); // XML?        
    XMLWriter writer;
    try {
        writer = new XMLWriter(out, format);
        writer.write(document);
        writer.close();
    } catch (IOException ex) {
        System.err.println("Cannot create output file!");
        ex.printStackTrace();
    }
    out.close();
}

From source file:com.pactera.edg.am.metamanager.extractor.util.Dom4jWriter.java

License:Open Source License

public static Document createDocument() {
    Document document = DocumentHelper.createDocument();
    Map<String, String> map = new TreeMap<String, String>();
    map.put("name", "");
    map.put("signature", "");
    map.put("version", "1.0.1");
    document.addProcessingInstruction("mm", map);

    return document;
}

From source file:com.panet.imeta.trans.steps.rssoutput.RssOutput.java

License:Open Source License

public boolean processRow(StepMetaInterface smi, StepDataInterface sdi) throws KettleException {
    meta = (RssOutputMeta) smi;//from  w  w  w. ja  va  2 s  .  c o m
    data = (RssOutputData) sdi;

    Object[] r = getRow(); // this also waits for a previous step to be finished.

    if (r == null) // no more input to be expected...
    {
        if (!first) {
            if (!meta.isCustomRss()) {
                // No more input..so write and close the file.
                WriteToFile(data.channeltitlevalue, data.channellinkvalue, data.channeldescriptionvalue,
                        data.channelpubdatevalue, data.channelcopyrightvalue, data.channelimagelinkvalue,
                        data.channelimagedescriptionvalue, data.channelimagelinkvalue,
                        data.channelimageurlvalue, data.channellanguagevalue, data.channelauthorvalue);
            } else {

                // Write to document
                OutputFormat format = org.dom4j.io.OutputFormat.createPrettyPrint();
                // Set encoding ...          
                if (Const.isEmpty(meta.getEncoding()))
                    format.setEncoding("iso-8859-1");
                else
                    format.setEncoding(meta.getEncoding());

                try {
                    XMLWriter writer = new XMLWriter(new FileWriter(new File(data.filename)), format);
                    writer.write(data.document);
                    writer.close();
                } catch (Exception e) {
                } finally {
                    data.document = null;
                }

            }
        }
        setOutputDone();
        return false;
    }

    if (first) {
        first = false;
        data.inputRowMeta = getInputRowMeta();
        data.outputRowMeta = data.inputRowMeta.clone();
        meta.getFields(data.outputRowMeta, getStepname(), null, null, this);
        // Let's check for filename...

        if (meta.isFilenameInField()) {
            if (Const.isEmpty(meta.getFileNameField())) {
                logError(Messages.getString("RssOutput.Log.FilenameFieldMissing"));
                setErrors(1);
                stopAll();
                return false;
            }

            // get filename field index
            data.indexOfFieldfilename = data.inputRowMeta.indexOfValue(meta.getFileNameField());
            if (data.indexOfFieldfilename < 0) {
                // The field is unreachable !
                logError(Messages.getString("RssOutput.Log.ErrorFindingField", meta.getFileNameField()));
                throw new KettleException(
                        Messages.getString("RssOutput.Log.ErrorFindingField", meta.getFileNameField()));
            }

        } else {
            data.filename = buildFilename();
        }

        // Check if filename is empty..
        if (Const.isEmpty(data.filename)) {
            logError(Messages.getString("RssOutput.Log.FilenameEmpty"));
            throw new KettleException(Messages.getString("RssOutput.Log.FilenameEmpty"));
        }

        // Do we need to create parent folder ?
        if (meta.isCreateParentFolder()) {
            // Check for parent folder
            FileObject parentfolder = null;
            try {
                // Get parent folder
                parentfolder = KettleVFS.getFileObject(data.filename).getParent();
                if (!parentfolder.exists()) {
                    if (log.isDetailed())
                        log.logDetailed(toString(), Messages.getString("RssOutput.Log.ParentFolderExists",
                                parentfolder.getName().toString()));
                    parentfolder.createFolder();
                    if (log.isDetailed())
                        log.logDetailed(toString(), Messages.getString("RssOutput.Log.CanNotCreateParentFolder",
                                parentfolder.getName().toString()));
                }
            } catch (Exception e) {
                // The field is unreachable !
                logError(Messages.getString("RssOutput.Log.CanNotCreateParentFolder",
                        parentfolder.getName().toString()));
                throw new KettleException(Messages.getString("RssOutput.Log.CanNotCreateParentFolder",
                        parentfolder.getName().toString()));

            } finally {
                if (parentfolder != null) {
                    try {
                        parentfolder.close();
                    } catch (Exception ex) {
                    }
                    ;
                }
            }
        }

        if (!meta.isCustomRss()) {
            // Let's check for mandatory fields ...
            if (Const.isEmpty(meta.getChannelTitle())) {
                logError(Messages.getString("RssOutput.Log.ChannelTitleMissing"));
                setErrors(1);
                stopAll();
                return false;
            }
            if (Const.isEmpty(meta.getChannelDescription())) {
                logError(Messages.getString("RssOutput.Log.ChannelDescription"));
                setErrors(1);
                stopAll();
                return false;
            }
            if (Const.isEmpty(meta.getChannelLink())) {
                logError(Messages.getString("RssOutput.Log.ChannelLink"));
                setErrors(1);
                stopAll();
                return false;
            }

            // Let's take the index of channel title field ...
            data.indexOfFieldchanneltitle = data.inputRowMeta.indexOfValue(meta.getChannelTitle());
            if (data.indexOfFieldchanneltitle < 0) {
                // The field is unreachable !
                logError(Messages.getString("RssOutput.Log.ErrorFindingField", meta.getChannelTitle()));
                throw new KettleException(
                        Messages.getString("RssOutput.Log.ErrorFindingField", meta.getChannelTitle()));
            }
            data.channeltitlevalue = data.inputRowMeta.getString(r, data.indexOfFieldchanneltitle);

            // Let's take the index of channel description field ...   
            data.indexOfFieldchanneldescription = data.inputRowMeta.indexOfValue(meta.getChannelDescription());
            if (data.indexOfFieldchanneldescription < 0) {
                // The field is unreachable !
                logError(Messages.getString("RssOutput.Log.ErrorFindingField", meta.getChannelDescription()));
                throw new KettleException(
                        Messages.getString("RssOutput.Log.ErrorFindingField", meta.getChannelDescription()));
            }

            data.channeldescriptionvalue = data.inputRowMeta.getString(r, data.indexOfFieldchanneldescription);

            // Let's take the index of channel link field ...   
            data.indexOfFieldchannellink = data.inputRowMeta.indexOfValue(meta.getChannelLink());
            if (data.indexOfFieldchannellink < 0) {
                // The field is unreachable !
                logError(Messages.getString("RssOutput.Log.ErrorFindingField", meta.getChannelLink()));
                throw new KettleException(
                        Messages.getString("RssOutput.Log.ErrorFindingField", meta.getChannelLink()));
            }

            data.channellinkvalue = data.inputRowMeta.getString(r, data.indexOfFieldchannellink);

            if (!Const.isEmpty(meta.getItemTitle())) {
                // Let's take the index of item title field ...   
                data.indexOfFielditemtitle = data.inputRowMeta.indexOfValue(meta.getItemTitle());
                if (data.indexOfFielditemtitle < 0) {
                    // The field is unreachable !
                    logError(Messages.getString("RssOutput.Log.ErrorFindingField", meta.getItemTitle()));
                    throw new KettleException(
                            Messages.getString("RssOutput.Log.ErrorFindingField", meta.getItemTitle()));
                }
            }

            if (!Const.isEmpty(meta.getItemDescription())) {
                // Let's take the index of item description field ...
                data.indexOfFielditemdescription = data.inputRowMeta.indexOfValue(meta.getItemDescription());
                if (data.indexOfFielditemdescription < 0) {
                    // The field is unreachable !
                    logError(Messages.getString("RssOutput.Log.ErrorFindingField", meta.getItemDescription()));
                    throw new KettleException(
                            Messages.getString("RssOutput.Log.ErrorFindingField", meta.getItemDescription()));
                }
            }
            if (meta.AddGeoRSS()) {
                if (Const.isEmpty(meta.getGeoPointLong()))
                    throw new KettleException(Messages.getString("RssOutput.Log.GeoPointLatEmpty"));
                if (Const.isEmpty(meta.getGeoPointLong()))
                    throw new KettleException(Messages.getString("RssOutput.Log.GeoPointLongEmpty"));

                // Let's take the index of item geopointX field ...
                data.indexOfFielditempointx = data.inputRowMeta.indexOfValue(meta.getGeoPointLat());
                if (data.indexOfFielditempointx < 0) {
                    // The field is unreachable !
                    logError(Messages.getString("RssOutput.Log.ErrorFindingField", meta.getGeoPointLat()));
                    throw new KettleException(
                            Messages.getString("RssOutput.Log.ErrorFindingField", meta.getGeoPointLat()));
                }
                // Let's take the index of item geopointY field ...
                data.indexOfFielditempointy = data.inputRowMeta.indexOfValue(meta.getGeoPointLong());
                if (data.indexOfFielditempointy < 0) {
                    // The field is unreachable !
                    logError(Messages.getString("RssOutput.Log.ErrorFindingField", meta.getGeoPointLong()));
                    throw new KettleException(
                            Messages.getString("RssOutput.Log.ErrorFindingField", meta.getGeoPointLong()));
                }
            }

            //It's time to check non empty fields !
            // Channel PubDate field ...
            if (!Const.isEmpty(meta.getChannelPubDate())) {
                data.indexOfFieldchannelpubdate = data.inputRowMeta.indexOfValue(meta.getChannelPubDate());
                if (data.indexOfFieldchannelpubdate < 0) {
                    // The field is unreachable !
                    logError(Messages.getString("RssOutput.Log.ErrorFindingField", meta.getChannelPubDate()));
                    throw new KettleException(
                            Messages.getString("RssOutput.Log.ErrorFindingField", meta.getChannelPubDate()));
                }

                data.channelpubdatevalue = data.inputRowMeta.getDate(r, data.indexOfFieldchannelpubdate);
            }
            // Channel Language field ...
            if (!Const.isEmpty(meta.getChannelLanguage())) {
                data.indexOfFieldchannellanguage = data.inputRowMeta.indexOfValue(meta.getChannelLanguage());
                if (data.indexOfFieldchannellanguage < 0) {
                    // The field is unreachable !
                    logError(Messages.getString("RssOutput.Log.ErrorFindingField", meta.getChannelLanguage()));
                    throw new KettleException(
                            Messages.getString("RssOutput.Log.ErrorFindingField", meta.getChannelLanguage()));
                }

                data.channellanguagevalue = data.inputRowMeta.getString(r, data.indexOfFieldchannellanguage);
            }

            // Channel Copyright field ...
            if (!Const.isEmpty(meta.getChannelCopyright())) {
                data.indexOfFieldchannelcopyright = data.inputRowMeta.indexOfValue(meta.getChannelCopyright());
                if (data.indexOfFieldchannelcopyright < 0) {
                    // The field is unreachable !
                    logError(Messages.getString("RssOutput.Log.ErrorFindingField", meta.getChannelCopyright()));
                    throw new KettleException(
                            Messages.getString("RssOutput.Log.ErrorFindingField", meta.getChannelCopyright()));
                }

                data.channelcopyrightvalue = data.inputRowMeta.getString(r, data.indexOfFieldchannelcopyright);
            }

            // Channel Author field ...
            if (!Const.isEmpty(meta.getChannelAuthor())) {
                data.indexOfFieldchannelauthor = data.inputRowMeta.indexOfValue(meta.getChannelAuthor());
                if (data.indexOfFieldchannelauthor < 0) {
                    // The field is unreachable !
                    logError(Messages.getString("RssOutput.Log.ErrorFindingField", meta.getChannelAuthor()));
                    throw new KettleException(
                            Messages.getString("RssOutput.Log.ErrorFindingField", meta.getChannelAuthor()));
                }

                data.channelauthorvalue = data.inputRowMeta.getString(r, data.indexOfFieldchannelauthor);
            }

            // Channel Image field ...
            if (meta.AddImage()) {
                // Channel image title
                if (!Const.isEmpty(meta.getChannelImageTitle())) {
                    data.indexOfFieldchannelimagetitle = data.inputRowMeta
                            .indexOfValue(meta.getChannelImageTitle());
                    if (data.indexOfFieldchannelimagetitle < 0) {
                        // The field is unreachable !
                        logError(Messages.getString("RssOutput.Log.ErrorFindingField",
                                meta.getChannelImageTitle()));
                        throw new KettleException(Messages.getString("RssOutput.Log.ErrorFindingField",
                                meta.getChannelImageTitle()));
                    }

                    data.channelimagetitlevalue = data.inputRowMeta.getString(r,
                            data.indexOfFieldchannelimagetitle);
                }

                // Channel link title
                if (!Const.isEmpty(meta.getChannelImageLink())) {
                    data.indexOfFieldchannelimagelink = data.inputRowMeta
                            .indexOfValue(meta.getChannelImageLink());
                    if (data.indexOfFieldchannelimagelink < 0) {
                        // The field is unreachable !
                        logError(Messages.getString("RssOutput.Log.ErrorFindingField",
                                meta.getChannelImageLink()));
                        throw new KettleException(Messages.getString("RssOutput.Log.ErrorFindingField",
                                meta.getChannelImageLink()));
                    }

                    data.channelimagelinkvalue = data.inputRowMeta.getString(r,
                            data.indexOfFieldchannelimagelink);
                }

                // Channel url title
                if (!Const.isEmpty(meta.getChannelImageUrl())) {
                    data.indexOfFieldchannelimageurl = data.inputRowMeta
                            .indexOfValue(meta.getChannelImageUrl());
                    if (data.indexOfFieldchannelimageurl < 0) {
                        // The field is unreachable !
                        logError(Messages.getString("RssOutput.Log.ErrorFindingField",
                                meta.getChannelImageUrl()));
                        throw new KettleException(Messages.getString("RssOutput.Log.ErrorFindingField",
                                meta.getChannelImageUrl()));
                    }

                    data.channelimageurlvalue = data.inputRowMeta.getString(r,
                            data.indexOfFieldchannelimageurl);
                }

                // Channel description title
                if (!Const.isEmpty(meta.getChannelImageDescription())) {
                    data.indexOfFieldchannelimagedescription = data.inputRowMeta
                            .indexOfValue(meta.getChannelImageDescription());
                    if (data.indexOfFieldchannelimagedescription < 0) {
                        // The field is unreachable !
                        logError(Messages.getString("RssOutput.Log.ErrorFindingField",
                                meta.getChannelImageDescription()));
                        throw new KettleException(Messages.getString("RssOutput.Log.ErrorFindingField",
                                meta.getChannelImageDescription()));
                    }

                    data.channelimagedescriptionvalue = data.inputRowMeta.getString(r,
                            data.indexOfFieldchannelimagedescription);
                }

            }

            // Item link field ...
            if (!Const.isEmpty(meta.getItemLink())) {
                data.indexOfFielditemlink = data.inputRowMeta.indexOfValue(meta.getItemLink());
                if (data.indexOfFielditemlink < 0) {
                    // The field is unreachable !
                    logError(Messages.getString("RssOutput.Log.ErrorFindingField", meta.getItemLink()));
                    throw new KettleException(
                            Messages.getString("RssOutput.Log.ErrorFindingField", meta.getItemLink()));
                }

            }

            // Item pubdate field ...
            if (!Const.isEmpty(meta.getItemPubDate())) {
                data.indexOfFielditempubdate = data.inputRowMeta.indexOfValue(meta.getItemPubDate());
                if (data.indexOfFielditempubdate < 0) {
                    // The field is unreachable !
                    logError(Messages.getString("RssOutput.Log.ErrorFindingField", meta.getItemPubDate()));
                    throw new KettleException(
                            Messages.getString("RssOutput.Log.ErrorFindingField", meta.getItemPubDate()));
                }
            }

            // Item author field ...
            if (!Const.isEmpty(meta.getItemAuthor())) {
                data.indexOfFielditemauthor = data.inputRowMeta.indexOfValue(meta.getItemAuthor());
                if (data.indexOfFielditemauthor < 0) {
                    // The field is unreachable !
                    logError(Messages.getString("RssOutput.Log.ErrorFindingField", meta.getItemAuthor()));
                    throw new KettleException(
                            Messages.getString("RssOutput.Log.ErrorFindingField", meta.getItemAuthor()));
                }
            }
        } else {
            // Custom RSS
            // Check Custom channel fields
            data.customchannels = new int[meta.getChannelCustomFields().length];
            for (int i = 0; i < meta.getChannelCustomFields().length; i++) {
                data.customchannels[i] = data.inputRowMeta.indexOfValue(meta.getChannelCustomFields()[i]);
                if (data.customchannels[i] < 0) // couldn't find field!
                {
                    throw new KettleStepException(Messages.getString("RssOutput.Exception.FieldRequired", //$NON-NLS-1$
                            meta.getChannelCustomFields()[i])); //$NON-NLS-2$
                }
            }
            // Check Custom channel fields
            data.customitems = new int[meta.getItemCustomFields().length];
            for (int i = 0; i < meta.getItemCustomFields().length; i++) {
                data.customitems[i] = data.inputRowMeta.indexOfValue(meta.getItemCustomFields()[i]);
                if (data.customitems[i] < 0) // couldn't find field!
                {
                    throw new KettleStepException(Messages.getString("RssOutput.Exception.FieldRequired", //$NON-NLS-1$
                            meta.getItemCustomFields()[i])); //$NON-NLS-2$
                }
            }
            // Prepare Output RSS Custom document
            data.document = DocumentHelper.createDocument();
            data.rssElement = data.document.addElement("rss");
            data.rssElement.addAttribute("version", "2.0");
            // add namespaces here ...
            for (int i = 0; i < meta.getNameSpaces().length; i++) {
                data.rssElement.addAttribute(environmentSubstitute(meta.getNameSpacesTitle()[i]),
                        environmentSubstitute(meta.getNameSpaces()[i]));
            }

            // Add channel
            data.channel = data.rssElement.addElement("channel");

            // Set channel Only the first time ...
            for (int i = 0; i < data.customchannels.length; i++) {
                String channelname = environmentSubstitute(meta.getChannelCustomTags()[i]);
                String channelvalue = data.inputRowMeta.getString(r, data.customchannels[i]);

                if (log.isDetailed())
                    log.logDetailed(toString(), "outputting channel value <" + channelname + ">" + channelvalue
                            + "<" + channelname + "/>");

                // add Channel
                Element channeltag = data.channel.addElement(channelname);
                channeltag.setText(channelvalue);

            }
        }
    } // end test first time

    // Let's get value for each item...
    if (!meta.isCustomRss()) {
        String itemtitlevalue = null;
        String itemauthorvalue = null;
        String itemlinkvalue = null;
        Date itemdatevalue = null;
        String itemdescvalue = null;
        String itemgeopointx = null;
        String itemgeopointy = null;

        if (data.indexOfFielditemtitle > -1)
            itemtitlevalue = data.inputRowMeta.getString(r, data.indexOfFielditemtitle);
        if (data.indexOfFielditemauthor > -1)
            itemauthorvalue = data.inputRowMeta.getString(r, data.indexOfFielditemauthor);
        if (data.indexOfFielditemlink > -1)
            itemlinkvalue = data.inputRowMeta.getString(r, data.indexOfFielditemlink);
        if (data.indexOfFielditempubdate > -1)
            itemdatevalue = data.inputRowMeta.getDate(r, data.indexOfFielditempubdate);
        if (data.indexOfFielditemdescription > -1)
            itemdescvalue = data.inputRowMeta.getString(r, data.indexOfFielditemdescription);
        if (data.indexOfFielditempointx > -1)
            itemgeopointx = data.inputRowMeta.getString(r, data.indexOfFielditempointx);
        if (data.indexOfFielditempointy > -1)
            itemgeopointy = data.inputRowMeta.getString(r, data.indexOfFielditempointy);

        // Now add entry ..
        if (!createEntry(itemauthorvalue, itemtitlevalue, itemlinkvalue, itemdatevalue, itemdescvalue,
                itemgeopointx, itemgeopointy))
            throw new KettleException("Error adding item to feed");
    } else {

        // Set item tag at each row received 
        if (meta.isDisplayItem()) {
            data.itemtag = data.channel.addElement("item");
        }
        for (int i = 0; i < data.customitems.length; i++) {
            // get item value and name
            String itemname = environmentSubstitute(meta.getItemCustomTags()[i]);
            String itemvalue = data.inputRowMeta.getString(r, data.customitems[i]);

            if (log.isDetailed())
                log.logDetailed(toString(),
                        "outputting item value <" + itemname + ">" + itemvalue + "<" + itemname + "/>");

            // add Item
            if (meta.isDisplayItem()) {
                Element itemtagsub = data.itemtag.addElement(itemname);
                itemtagsub.setText(itemvalue);
            } else {
                // display item at channel level
                data.channel.addElement(itemname);
                data.channel.setText(itemvalue);
            }
        }
    }

    try {
        putRow(data.outputRowMeta, r); // in case we want it to go further...
        incrementLinesOutput();

        if (checkFeedback(getLinesOutput())) {
            if (log.isDebug())
                logDebug(Messages.getString("RssOutput.Log.Linenr", "" + getLinesOutput()));
        }

    } catch (KettleStepException e) {
        logError(Messages.getString("RssOutputMeta.Log.ErrorInStep") + e.getMessage()); //$NON-NLS-1$
        setErrors(1);
        stopAll();
        setOutputDone(); // signal end to receiver(s)
        return false;
    }

    return true;
}

From source file:com.petpet.c3po.analysis.ProfileGenerator.java

License:Apache License

/**
 * Generates a profile matching the given filter with the given sample set
 * size and including the elements if set to true.
 *
 * @param filter//from   w w w  . ja  va 2 s .com
 *          the filter to use.
 * @param sampleSize
 *          the size of the samples.
 * @param includeelements
 *          whether or not to include the element identifiers.
 * @return the xml document of the profile.
 */
public Document generateProfile(Filter filter, int sampleSize, boolean includeelements) {
    // TODO check if subFilter is changed
    // if not then it does not have a collection filter...
    // and the collection name should be different...
    Filter subFilter = filter.subFilter("collection");
    final long count = this.persistence.count(ELEMENT_CLASS, subFilter);

    final Document document = DocumentHelper.createDocument();
    final String name = this.getCollectionNameFromFilter(filter);
    final Element root = this.createRootElement(document, name, count);
    final Element partition = this.createPartition(root, filter);
    this.genereateFilterElement(partition, filter);
    final Element properties = this.createPropertiesElement(partition);
    this.generateProperties(filter, properties);
    this.createSamples(filter, partition, sampleSize);
    this.createElements(filter, partition, includeelements);

    return document;
}

From source file:com.poka.util.XmlSax.java

public Document load(String f, boolean isHiberConfig) {
    Document document = null;// w  ww . ja v  a2 s  . c om
    try {
        SAXReader saxReader = new SAXReader();
        //saxReader.setValidation(false);  
        //saxReader.setFeature("http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd", false);              
        //document = saxReader.read(f); //?XML,document
        if (isHiberConfig) {
            saxReader.setEntityResolver(new EntityResolver() {
                @Override
                public InputSource resolveEntity(String publicId, String systemId)
                        throws SAXException, IOException {
                    // TODO Auto-generated method stub
                    InputSource is = new InputSource(this.getClass().getClassLoader()
                            .getResourceAsStream("com/poka/images/hibernate-configuration-3.0.dtd"));
                    is.setPublicId(publicId);
                    is.setSystemId(systemId);
                    return is;
                }
            });
            saxReader.setValidation(true);
        }
        File tFile = new File(f);
        if (!tFile.exists() && !isHiberConfig) {
            document = DocumentHelper.createDocument();
            //    document.addDocType("hibernate-configuration", "-//Hibernate/Hibernate Configuration DTD 3.0//EN", "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd");

            // 
            Element root = DocumentHelper.createElement("root");
            document.setRootElement(root);
        } else {
            document = saxReader.read(tFile);
        }

    } catch (DocumentException ex) {
    }
    return document;
}

From source file:com.pureinfo.common.namedvalue.action.TreenamedValueQueryAction.java

License:Open Source License

/**
 * /*from w  w w  .ja  v  a2  s  .  c  o m*/
 */
private Document makeDoc() {
    Document doc = DocumentHelper.createDocument();
    Element root = doc.addElement("tree-named-values");
    for (int i = 0; i < m_defaults.length; i++) {
        if (m_defaults == null && m_nvs == null) {
            continue;
        }
        Element ele = root.addElement("values");
        ele.addAttribute("level", "" + i + 1);
        ele.addAttribute("default", m_defaults[i] == null ? "" : m_defaults[i]);
        addValues(ele, m_nvs[i]);
    }
    return doc;
}

From source file:com.pureinfo.dolphin.export.impl.XmlExporterImpl.java

License:Open Source License

/**
 * @see com.pureinfo.dolphin.export.IExporter#export(OutputStream,
 *      DolphinExportGoods)/*from  w ww .  j  a  va2 s.com*/
 */
public void export(OutputStream _os, IExportGoods _goods) throws PureException {
    try {
        //1. to create XML element
        Document doc = DocumentHelper.createDocument();
        Element root = doc.addElement(_goods.getName());

        //2. to prepare column names
        if (!_goods.hasHeader()) {
            throw new PureRuntimeException(PureException.SETTING_MISSING, "headers required in goods");
        }
        String[] colNames = _goods.getHeaders();

        //3. to export data
        Object[] values;
        Iterator iter = _goods.iterator();
        while (iter.hasNext()) {
            values = _goods.unpackGoods(iter.next());
            exportRow(root, values, colNames);
        }

        //4. to output to stream
        new XMLWriter(_os, OutputFormat.createPrettyPrint()).write(doc);
    } catch (Exception ex) {
        throw new PureException(PureException.UNKNOWN, "", ex);
    }
}

From source file:com.pureinfo.srm.action.CodeGetActionBase.java

License:Open Source License

/**
 * @return// w ww .  j  a va  2 s  .  com
 */
private Document createErrorXML() {
    Document doc = DocumentHelper.createDocument();
    Element xRoot = doc.addElement("responseXML");
    addInfo(xRoot, "success", "false");
    addInfo(xRoot, "value", "ERROR");
    addInfo(xRoot, "msg", "");
    return doc;
}

From source file:com.pureinfo.srm.action.CodeGetActionBase.java

License:Open Source License

/**
 * @param _info/*from w w w.ja  va  2s.com*/
 * @return
 */
private Document wrapInfo(CodeInfo _info) {
    Document doc = DocumentHelper.createDocument();
    Element xRoot = doc.addElement("responseXML");
    addInfo(xRoot, "success", "true");
    addInfo(xRoot, "value", _info.value);
    if (_info.cross_boundary) {
        String sMsg = " " + _info.round + " ";
        addInfo(xRoot, "msg", sMsg);
    }
    return doc;
}

From source file:com.pureinfo.srm.org.action.SubQueryAction.java

License:Open Source License

/**
 * @param _groups/*from   www .  j a  v  a  2 s .c  om*/
 * @return
 */
private Document groups2Doc(OPGroup[] _groups) {
    Document doc = DocumentHelper.createDocument();

    Element xRoot = doc.addElement("datas");
    Element xType = xRoot.addElement("types");
    xType.addAttribute("default", _groups[0].sDefault);
    Element xOP = xType.addElement("type");
    xOP.addText("----");
    xOP.addAttribute("value", "");
    for (int i = 0; i < _groups[0].options.length; i++) {
        xOP = xType.addElement("type");
        xOP.addText(_groups[0].options[i][1]);
        xOP.addAttribute("value", _groups[0].options[i][0]);
    }

    if (_groups[1] == null) {
        Element xV1 = xRoot.addElement("level0");
        xOP = xV1.addElement("org");
        xOP.addText("----");
        xOP.addAttribute("value", "");
    } else {
        Element xV1 = xRoot.addElement("level0");
        xV1.addAttribute("default", _groups[1].sDefault);
        xOP = xV1.addElement("org");
        xOP.addText("----");
        xOP.addAttribute("value", "");
        for (int i = 0; i < _groups[1].options.length; i++) {
            xOP = xV1.addElement("org");
            xOP.addText(_groups[1].options[i][1]);
            xOP.addAttribute("value", _groups[1].options[i][0]);
            if (_groups[1].options[i].length > 2) {
                xOP.addAttribute("code", _groups[1].options[i][2]);
            }
        }
    }

    if (_groups[2] == null) {
        Element xV1 = xRoot.addElement("level1");
        xOP = xV1.addElement("org");
        xOP.addText("----");
        xOP.addAttribute("value", "");
    } else {
        OPGroup group = _groups[2];
        if (group.options.length == 0) {
            Element xV1 = xRoot.addElement("level1");
            xV1.addAttribute("default", group.sDefault);
            xOP = xV1.addElement("org");
            xOP.addText("");
            xOP.addAttribute("value", "");
        } else {
            Element xV1 = xRoot.addElement("level1");
            xV1.addAttribute("default", group.sDefault);
            xOP = xV1.addElement("org");
            xOP.addText("----");
            xOP.addAttribute("value", "");
            for (int i = 0; i < group.options.length; i++) {
                xOP = xV1.addElement("org");
                xOP.addText(group.options[i][1]);
                xOP.addAttribute("value", group.options[i][0]);
                if (group.options[i].length > 2) {
                    xOP.addAttribute("code", group.options[i][2]);
                }
            }
        }
    }

    if (_groups.length > 3 && _groups[3] != null) {
        OPGroup group = _groups[3];
        if (group.options.length == 0) {
            Element xV1 = xRoot.addElement("level1_2");
            xV1.addAttribute("default", group.sDefault);
            xOP = xV1.addElement("org");
            xOP.addText("");
            xOP.addAttribute("value", "");
        } else {
            Element xV1 = xRoot.addElement("level1_2");
            xV1.addAttribute("default", group.sDefault);
            xOP = xV1.addElement("org");
            xOP.addText("----");
            xOP.addAttribute("value", "");
            for (int i = 0; i < group.options.length; i++) {
                xOP = xV1.addElement("org");
                xOP.addText(group.options[i][1]);
                xOP.addAttribute("value", _groups[3].options[i][0]);
                if (group.options[i].length > 2) {
                    xOP.addAttribute("code", group.options[i][2]);
                }
            }
        }
    }

    return doc;
}