Java Code Examples for org.dom4j.Document#add()

The following examples show how to use org.dom4j.Document#add() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: UserSetHelper.java    From cuba with Apache License 2.0 6 votes vote down vote up
public static String generateSetFilter(Set ids, String entityClass, String componentId, String entityAlias) {
    Document document = DocumentHelper.createDocument();
    Element root = DocumentHelper.createElement("filter");
    Element or = root.addElement("and");

    Element condition = or.addElement("c");
    condition.addAttribute("name", "set");
    condition.addAttribute("inExpr", "true");
    condition.addAttribute("hidden", "true");
    condition.addAttribute("locCaption", "Set filter");
    condition.addAttribute("entityAlias", entityAlias);
    condition.addAttribute("class", entityClass);
    condition.addAttribute("type", ConditionType.CUSTOM.name());

    String listOfId = createIdsString(ids);
    String randomName = RandomStringUtils.randomAlphabetic(10);
    condition.addText(entityAlias + ".id in :component$" + componentId + "." + randomName);

    Element param = condition.addElement("param");
    param.addAttribute("name", "component$" + componentId + "." + randomName);
    param.addAttribute("isFoldersFilterEntitiesSet", "true");
    param.addText(listOfId);

    document.add(root);
    return Dom4j.writeDocument(document, true);
}
 
Example 2
Source File: BpmnXMLConverter.java    From FoxBPM with Apache License 2.0 5 votes vote down vote up
/**
 * 将bpmnModel转换成documnet
 * 
 * @param model
 *            bpmn模型
 */
public Document convertToXML(BpmnModel model) {
	
	if (null == model) {
		throw new BpmnConverterException("模型转换XML失败,模型实例不能为空!");
	}
	
	DocumentFactory factory = DocumentFactory.getInstance();
	Document doc = factory.createDocument();
	Element element = factory.createElement(BpmnXMLConstants.BPMN2_PREFIX + ':'
	        + BpmnXMLConstants.ELEMENT_DEFINITIONS, BpmnXMLConstants.BPMN2_NAMESPACE);
	element.addNamespace(BpmnXMLConstants.XSI_PREFIX, BpmnXMLConstants.XSI_NAMESPACE);
	element.addNamespace(BpmnXMLConstants.DC_PREFIX, BpmnXMLConstants.DC_NAMESPACE);
	element.addNamespace(BpmnXMLConstants.DI_PREFIX, BpmnXMLConstants.DI_NAMESPACE);
	element.addNamespace(BpmnXMLConstants.BPMNDI_PREFIX, BpmnXMLConstants.BPMNDI_NAMESPACE);
	element.addNamespace(BpmnXMLConstants.FOXBPM_PREFIX, BpmnXMLConstants.FOXBPM_NAMESPACE);
	element.addNamespace(BpmnXMLConstants.XSD_PREFIX, BpmnXMLConstants.XSD_NAMESPACE);
	element.addNamespace(BpmnXMLConstants.EMPTY_STRING, BpmnXMLConstants.XMLNS_NAMESPACE);
	// 添加属性
	element.addAttribute(BpmnXMLConstants.TARGET_NAMESPACE_ATTRIBUTE, BpmnXMLConstants.XMLNS_NAMESPACE);
	element.addAttribute(BpmnXMLConstants.ATTRIBUTE_ID, "Definitions_1");
	doc.add(element);
	// 流程转换
	try {
		for (Iterator<Process> iterator = model.getProcesses().iterator(); iterator.hasNext();) {
			ProcessExport.writeProcess(iterator.next(), element);
		}
		// 位置坐标转换
		BPMNDIExport.writeBPMNDI(model, element);
	} catch (Exception e) {
		LOGGER.error("模型转换XML失败,流程名" + model.getProcesses().get(0).getName(), e);
		if (e instanceof BpmnConverterException) {
			throw (BpmnConverterException) e;
		} else {
			throw new BpmnConverterException("模型转换XML失败,流程名:" + model.getProcesses().get(0).getName(), e);
		}
	}
	return doc;
}
 
Example 3
Source File: ConversionUtil.java    From pentaho-aggdesigner with GNU General Public License v2.0 5 votes vote down vote up
public static List<Document> generateMondrianDocsFromSSASSchema( final InputStream input )
  throws DocumentException, IOException, AggDesignerException {

  Document ssasDocument = parseAssl( input );

  // issue: if we have multi-line text, there is a problem with identing names / etc
  // solution: clean up the dom before traversal
  List allElements = ssasDocument.selectNodes( "//*" );
  for ( int i = 0; i < allElements.size(); i++ ) {
    Element element = (Element) allElements.get( i );
    element.setText( element.getText().replaceAll( "[\\s]+", " " ).trim() );
  }

  List ssasDatabases = ssasDocument.selectNodes( "//assl:Database" );
  List<Document> mondrianDocs = new ArrayList<Document>( ssasDatabases.size() );
  for ( int i = 0; i < ssasDatabases.size(); i++ ) {
    Document mondrianDoc = DocumentFactory.getInstance().createDocument();
    Element mondrianSchema = DocumentFactory.getInstance().createElement( "Schema" );
    mondrianDoc.add( mondrianSchema );
    Element ssasDatabase = (Element) ssasDatabases.get( i );
    mondrianSchema.add( DocumentFactory.getInstance()
      .createAttribute( mondrianSchema, "name", getXPathNodeText( ssasDatabase, "assl:Name" ) ) );
    populateCubes( mondrianSchema, ssasDatabase );

    mondrianDocs.add( mondrianDoc );
  }

  return mondrianDocs;
}