List of usage examples for org.dom4j DocumentHelper createElement
public static Element createElement(String name)
From source file:com.bstek.dorado.idesupport.output.RuleSetOutputter.java
License:Open Source License
public void output(Writer writer, RuleTemplateManager ruleTemplateManager) throws Exception { OutputFormat format = OutputFormat.createPrettyPrint(); format.setEncoding(Constants.DEFAULT_CHARSET); XMLWriter xmlWriter = new XMLWriter(writer, format); xmlWriter.startDocument();// ww w .j a v a 2 s . c om Element rootElement = DocumentHelper.createElement("RuleSet"); rootElement.addAttribute("version", ruleTemplateManager.getVersion()); xmlWriter.writeOpen(rootElement); OutputContext context = new OutputContext(); outputPackageInfos(xmlWriter, ruleTemplateManager, context); for (RuleTemplate ruleTemplate : ruleTemplateManager.getRuleTemplates()) { // PropertyDataType? // if (ruleTemplate.isAbstract() // && ruleTemplate.getSubRuleTemplates().length == 0) { // continue; // } outputRuleTemplate(xmlWriter, ruleTemplate, context); } xmlWriter.writeClose(rootElement); xmlWriter.endDocument(); xmlWriter.close(); }
From source file:com.bstek.dorado.idesupport.output.RuleSetOutputter.java
License:Open Source License
protected void outputPackageInfos(XMLWriter xmlWriter, RuleTemplateManager ruleTemplateManager, OutputContext context) throws Exception { Map<String, PackageInfo> finalPackageInfos = new LinkedHashMap<String, PackageInfo>( PackageManager.getPackageInfoMap()); Collection<PackageInfo> packageInfos = ruleTemplateManager.getPackageInfos(); if (packageInfos != null) { for (PackageInfo packageInfo : packageInfos) { finalPackageInfos.put(packageInfo.getName(), packageInfo); }/*w ww . j av a 2 s . c om*/ } Element packageInfosElement = DocumentHelper.createElement("PackageInfos"); xmlWriter.writeOpen(packageInfosElement); for (PackageInfo packageInfo : finalPackageInfos.values()) { Element packageInfoElement = DocumentHelper.createElement("PackageInfo"); setElementAttributes(packageInfoElement, packageInfo, "name,version"); xmlWriter.write(packageInfoElement); } xmlWriter.writeClose(packageInfosElement); }
From source file:com.bstek.dorado.idesupport.output.RuleSetOutputter.java
License:Open Source License
protected void outputRuleTemplate(XMLWriter xmlWriter, RuleTemplate ruleTemplate, OutputContext context) throws Exception { Element element = DocumentHelper.createElement("Rule"); setElementAttribute(element, ruleTemplate, "name"); RuleTemplate[] parents = ruleTemplate.getParents(); if (parents != null && parents.length > 0) { String parentsText = ""; for (RuleTemplate parent : parents) { if (parentsText.length() > 0) parentsText += ','; parentsText += parent.getName(); }/* www. j a va 2 s . c o m*/ element.addAttribute("parents", parentsText); } setElementAttributes(element, ruleTemplate, "label,abstract,nodeName,type,scope,sortFactor,category,robots,icon,labelProperty,autoGenerateId,clientTypes,deprecated,reserve"); if (!ruleTemplate.isVisible()) { element.addAttribute("visible", "false"); } xmlWriter.writeOpen(element); Collection<PropertyTemplate> primitiveProperties = ruleTemplate.getPrimitiveProperties().values(); if (!primitiveProperties.isEmpty()) { Element subElement = DocumentHelper.createElement("PrimitiveProps"); xmlWriter.writeOpen(subElement); for (PropertyTemplate property : primitiveProperties) { outputProperty(xmlWriter, property, context); } xmlWriter.writeClose(subElement); } Collection<PropertyTemplate> properties = ruleTemplate.getProperties().values(); if (!properties.isEmpty()) { Element subElement = DocumentHelper.createElement("Props"); xmlWriter.writeOpen(subElement); for (PropertyTemplate property : properties) { outputProperty(xmlWriter, property, context); } xmlWriter.writeClose(subElement); } Collection<ClientEvent> clientEvents = ruleTemplate.getClientEvents().values(); if (!clientEvents.isEmpty()) { Element subElement = DocumentHelper.createElement("ClientEvents"); xmlWriter.writeOpen(subElement); for (ClientEvent clientEvent : clientEvents) { outputClientEvent(xmlWriter, clientEvent, context); } xmlWriter.writeClose(subElement); } Collection<ChildTemplate> children = ruleTemplate.getChildren().values(); if (!children.isEmpty()) { Element subElement = DocumentHelper.createElement("Children"); xmlWriter.writeOpen(subElement); for (ChildTemplate childTemplate : children) { outputChildTemplate(xmlWriter, childTemplate, context); } xmlWriter.writeClose(subElement); } xmlWriter.writeClose(element); }
From source file:com.bstek.dorado.idesupport.output.RuleSetOutputter.java
License:Open Source License
protected void outputProperty(XMLWriter xmlWriter, PropertyTemplate property, OutputContext context) throws Exception { Element element = DocumentHelper.createElement("Prop"); setElementAttributes(element, property, "name,defaultValue,highlight,fixed,enumValues,editor,clientTypes,deprecated,reserve"); if (!property.isVisible()) { element.addAttribute("visible", "false"); }/*from w ww. jav a 2 s . c o m*/ if (StringUtils.isNotEmpty(property.getType())) { try { Class<?> type = ClassUtils.forName(property.getType()); if (!String.class.equals(type) && !type.isEnum()) { element.addAttribute("type", type.getName()); } } catch (ClassNotFoundException e) { // do nothing } } CompositeType compositeType = property.getCompositeType(); if (compositeType != CompositeType.Unsupport) { element.addAttribute("compositeType", compositeType.toString()); } ReferenceTemplate reference = property.getReference(); if (reference != null) { String referenceText = reference.getRuleTemplate().getName(); if (StringUtils.isNotEmpty(reference.getProperty())) { referenceText += ':' + reference.getProperty(); } element.addAttribute("reference", referenceText); } if (compositeType == CompositeType.Fixed || compositeType == CompositeType.Open) { xmlWriter.writeOpen(element); for (PropertyTemplate subProperty : property.getProperties().values()) { outputProperty(xmlWriter, subProperty, context); } xmlWriter.writeClose(element); } else { xmlWriter.write(element); } }
From source file:com.bstek.dorado.idesupport.output.RuleSetOutputter.java
License:Open Source License
protected void outputClientEvent(XMLWriter xmlWriter, ClientEvent clientEvent, OutputContext context) throws Exception { Element element = DocumentHelper.createElement("ClientEvent"); setElementAttributes(element, clientEvent, "name,parameters,clientTypes,deprecated,reserve"); xmlWriter.write(element);/*from ww w. j a v a 2s.com*/ }
From source file:com.bstek.dorado.idesupport.output.RuleSetOutputter.java
License:Open Source License
protected void outputChildTemplate(XMLWriter xmlWriter, ChildTemplate childTemplate, OutputContext context) throws Exception { Element element = DocumentHelper.createElement("Child"); RuleTemplate ruleTemplate = childTemplate.getRuleTemplate(); String ruleName = ruleTemplate.getName(); if (ruleTemplate.isGlobal()) { element.addAttribute("rule", ruleName); }/* ww w . ja va 2 s . c o m*/ setElementAttributes(element, childTemplate, "name,fixed,aggregated,clientTypes,deprecated,reserve"); if (!childTemplate.isPublic()) { element.addAttribute("public", Boolean.FALSE.toString()); } if (!childTemplate.isVisible()) { element.addAttribute("visible", "false"); } xmlWriter.writeOpen(element); if (!ruleTemplate.isGlobal()) { outputRuleTemplate(xmlWriter, ruleTemplate, context); } xmlWriter.writeClose(element); }
From source file:com.cosmosource.common.service.UserMgrManager.java
/** * @??: ?xml?/*from w w w . j a v a2 s . c o m*/ * @param nodeId * @param orgid * @return */ public String getOrgTreeData(String orgid, String ctx, String type) { if ("init".equals(type)) { Document doc = DocumentHelper.createDocument(); Element root = doc.addElement("tree"); root.addAttribute("id", "0"); TAcOrg org = (TAcOrg) dao.findById(TAcOrg.class, new Long(orgid)); Element el = root.addElement("item"); el.addAttribute("text", org.getOrgname()); el.addAttribute("id", org.getOrgid() + ""); // el.addAttribute("open", "1"); el.addAttribute("child", "1"); Element elx = el.addElement("userdata"); elx.addAttribute("name", "url"); elx.addText(ctx + "/common/userMgr/list.act?nodeId=" + org.getOrgid() + "&orgtype=" + org.getOrgtype()); // getOrgTreeDoc(new Long(orgid), el, ctx, org.getOrgtype()); return doc.asXML(); } else { Element root = DocumentHelper.createElement("tree"); root.addAttribute("id", orgid); List<TAcOrg> list = dao .findByHQL("select t from TAcOrg t where t.parentid=" + orgid + " order by orgcode "); if (list.size() <= 500) { for (TAcOrg org : list) { Element el = root.addElement("item"); el.addAttribute("text", org.getOrgname()); el.addAttribute("id", org.getOrgid() + ""); if ("1".equals(org.getIsbottom())) { el.addAttribute("child", "1"); } else { el.addAttribute("child", "0"); } // if(org.getParentid()==0){ // el.addAttribute("open", "1"); // } Element elx = el.addElement("userdata"); elx.addAttribute("name", "url"); if (!org.getOrgtype().equals("3")) { elx.addText(ctx + "/common/userMgr/list.act?nodeId=" + org.getOrgid() + "&orgtype=" + org.getOrgtype()); } else { elx.addText(ctx + "/common/userMgr/orgFrame.act?nodeId=" + org.getOrgid()); } } } return root.asXML(); } }
From source file:com.doculibre.constellio.services.ElevateServicesImpl.java
License:Open Source License
private Element buildQueryElementFromCache(String queryText, String queryDisplayText, String collectionName) { Element queryElement;//from ww w .jav a2 s .co m Map<String, List<String>> solrCoreElevationCache = elevationCache.get(collectionName); List<String> queryElevationCache = solrCoreElevationCache.get(queryText); Map<String, List<String>> solrCoreExclusionCache = exclusionCache.get(collectionName); List<String> queryExclusionCache = solrCoreExclusionCache.get(queryText); if ((queryElevationCache != null && !queryElevationCache.isEmpty()) || (queryExclusionCache != null && !queryExclusionCache.isEmpty())) { queryElement = DocumentHelper.createElement("query"); queryElement.addAttribute("text", queryText); queryElement.addAttribute("displayText", queryDisplayText); if (queryElevationCache != null) { for (String elevatedDocId : queryElevationCache) { Element docElement = DocumentHelper.createElement("doc"); docElement.addAttribute("id", elevatedDocId); queryElement.add(docElement); } } if (queryExclusionCache != null) { for (String excludedDocId : queryExclusionCache) { Element docElement = DocumentHelper.createElement("doc"); docElement.addAttribute("id", excludedDocId); docElement.addAttribute("exclude", "true"); queryElement.add(docElement); } } } else { queryElement = null; } return queryElement; }
From source file:com.doculibre.constellio.services.SolrServicesImpl.java
License:Open Source License
@SuppressWarnings("unchecked") private void updateSchemaFields(RecordCollection collection, Document schemaDocument) { Element fieldsElement = schemaDocument.getRootElement().element("fields"); List<Element> fieldElements = fieldsElement.elements("field"); for (Iterator<Element> it = fieldElements.iterator(); it.hasNext();) { it.next();// w w w . ja va 2 s . c o m it.remove(); } List<Element> copyFields = schemaDocument.getRootElement().elements("copyField"); for (Iterator<Element> it = copyFields.iterator(); it.hasNext();) { it.next(); it.remove(); } List<Element> dynamicFieldElements = fieldsElement.elements("dynamicField"); for (Iterator<Element> it = dynamicFieldElements.iterator(); it.hasNext();) { it.next(); it.remove(); } List<String> addedFieldNames = new ArrayList<String>(); Collection<IndexField> indexFields = collection.getIndexFields(); for (IndexField indexField : indexFields) { if (!addedFieldNames.contains(indexField.getName())) { addedFieldNames.add(indexField.getName()); FieldType fieldType = indexField.getFieldType(); Analyzer analyzer = indexField.getAnalyzer(); if (fieldType == null) { throw new RuntimeException(indexField.getName() + " has no type"); } Element fieldElement; if (indexField.isDynamicField()) { fieldElement = DocumentHelper.createElement("dynamicField"); } else { fieldElement = DocumentHelper.createElement("field"); } fieldsElement.add(fieldElement); addNotNullAttribute(fieldElement, "name", indexField.getName()); addNotNullAttribute(fieldElement, "type", fieldType.getName()); addNotNullAttribute(fieldElement, "indexed", indexField.isIndexed()); addNotNullAttribute(fieldElement, "stored", true); addNotNullAttribute(fieldElement, "multiValued", indexField.isMultiValued()); if (analyzer != null) { fieldElement.addAttribute("analyzer", analyzer.getAnalyzerClass().getClassName()); } } } // used by solrcloud Element fieldElement = DocumentHelper.createElement("field"); addNotNullAttribute(fieldElement, "name", "_version_"); addNotNullAttribute(fieldElement, "type", "long"); addNotNullAttribute(fieldElement, "indexed", true); addNotNullAttribute(fieldElement, "stored", true); fieldsElement.add(fieldElement); List<Element> uniqueKeyElements = schemaDocument.getRootElement().elements("uniqueKey"); for (Iterator<Element> it = uniqueKeyElements.iterator(); it.hasNext();) { it.next(); it.remove(); } IndexField uniqueKeyField = collection.getUniqueKeyIndexField(); if (uniqueKeyField != null) { Element uniqueKeyElement = DocumentHelper.createElement("uniqueKey"); uniqueKeyElement.setText(uniqueKeyField.getName()); schemaDocument.getRootElement().add(uniqueKeyElement); } List<Element> defaultSearchFieldElements = schemaDocument.getRootElement().elements("defaultSearchField"); for (Iterator<Element> it = defaultSearchFieldElements.iterator(); it.hasNext();) { it.next(); it.remove(); } IndexField defaultSearchField = collection.getDefaultSearchIndexField(); if (defaultSearchField != null) { Element defaultSearchFieldElement = DocumentHelper.createElement("defaultSearchField"); defaultSearchFieldElement.setText(defaultSearchField.getName()); schemaDocument.getRootElement().add(defaultSearchFieldElement); } List<Element> solrQueryParserElements = schemaDocument.getRootElement().elements("solrQueryParser"); for (Iterator<Element> it = solrQueryParserElements.iterator(); it.hasNext();) { it.next(); it.remove(); } String queryParserOperator = collection.getQueryParserOperator(); if (queryParserOperator != null) { Element solrQueryParserElement = DocumentHelper.createElement("solrQueryParser"); solrQueryParserElement.addAttribute("defaultOperator", queryParserOperator); schemaDocument.getRootElement().add(solrQueryParserElement); } for (IndexField indexField : indexFields) { if (!indexField.isDynamicField()) { for (CopyField copyFieldDest : indexField.getCopyFieldsDest()) { Element copyFieldElement = DocumentHelper.createElement("copyField"); String source; if (copyFieldDest.isSourceAllFields()) { source = "*"; } else { IndexField indexFieldSource = copyFieldDest.getIndexFieldSource(); source = indexFieldSource.getName(); } copyFieldElement.addAttribute("source", source); copyFieldElement.addAttribute("dest", copyFieldDest.getIndexFieldDest().getName()); addNotNullAttribute(copyFieldElement, "maxChars", copyFieldDest); // Ajout Rida schemaDocument.getRootElement().add(copyFieldElement); } } } writeSchema(collection.getName(), schemaDocument); }
From source file:com.doculibre.constellio.services.SolrServicesImpl.java
License:Open Source License
@SuppressWarnings("unchecked") @Override/*from w w w. j a va 2 s . c o m*/ public void updateSchemaFieldTypes(RecordCollection collection) { String collectionName = SolrCoreContext.DEFAULT_COLLECTION_NAME; if (collection != null) { collectionName = collection.getName(); } Document schemaDocument = readSchema(collectionName); Element typesElement = schemaDocument.getRootElement().element("types"); List<Element> fieldTypeElements = typesElement.elements("fieldType"); for (Iterator<Element> it = fieldTypeElements.iterator(); it.hasNext();) { it.next(); it.remove(); } FieldTypeServices fieldTypeServices = ConstellioSpringUtils.getFieldTypeServices(); for (FieldType fieldType : fieldTypeServices.list()) { Element fieldTypeElement = DocumentHelper.createElement("fieldType"); typesElement.add(fieldTypeElement); FieldTypeClass fieldTypeClass = fieldType.getFieldTypeClass(); addNotNullAttribute(fieldTypeElement, "name", fieldType); addNotNullAttribute(fieldTypeElement, "class", fieldTypeClass.getClassName()); addNotNullAttribute(fieldTypeElement, "indexed", fieldType); // Always true addNotNullAttribute(fieldTypeElement, "stored", true); addNotNullAttribute(fieldTypeElement, "multiValued", fieldType); addNotNullAttribute(fieldTypeElement, "omitNorms", fieldType); addNotNullAttribute(fieldTypeElement, "precisionStep", fieldType); addNotNullAttribute(fieldTypeElement, "positionIncrementGap", fieldType); addNotNullAttribute(fieldTypeElement, "sortMissingLast", fieldType); Analyzer analyzer = fieldType.getAnalyzer(); Analyzer queryAnalyzer = fieldType.getQueryAnalyzer(); if (analyzer != null) { Element analyzerElement = DocumentHelper.createElement("analyzer"); fieldTypeElement.add(analyzerElement); if (queryAnalyzer != null) { analyzerElement.addAttribute("type", "index"); } AnalyzerClass analyzerClass = analyzer.getAnalyzerClass(); if (analyzerClass != null) { analyzerElement.addAttribute("class", analyzerClass.getClassName()); } TokenizerClass tokenizerClass = analyzer.getTokenizerClass(); if (tokenizerClass != null) { Element tokenizerElement = DocumentHelper.createElement("tokenizer"); analyzerElement.add(tokenizerElement); tokenizerElement.addAttribute("class", tokenizerClass.getClassName()); } Collection<AnalyzerFilter> filters = analyzer.getFilters(); for (AnalyzerFilter filter : filters) { FilterClass filterClass = filter.getFilterClass(); Element filterElement = DocumentHelper.createElement("filter"); analyzerElement.add(filterElement); filterElement.addAttribute("class", filterClass.getClassName()); addNotNullAttribute(filterElement, "catenateAll", filter); addNotNullAttribute(filterElement, "catenateWords", filter); addNotNullAttribute(filterElement, "delimiter", filter); addNotNullAttribute(filterElement, "enablePositionIncrements", filter); addNotNullAttribute(filterElement, "encoder", filter); addNotNullAttribute(filterElement, "expand", filter); addNotNullAttribute(filterElement, "generateNumberParts", filter); addNotNullAttribute(filterElement, "generateWordParts", filter); addNotNullAttribute(filterElement, "ignoreCase", filter); addNotNullAttribute(filterElement, "inject", filter); addNotNullAttribute(filterElement, "language", filter); addNotNullAttribute(filterElement, "pattern", filter); if (filter.getProtectedText() != null) { filterElement.addAttribute("protected", filter.getProtectedText()); } addNotNullAttribute(filterElement, "replace", filter); addNotNullAttribute(filterElement, "replacement", filter); addNotNullAttribute(filterElement, "splitOnCaseChange", filter); if (filter.getSynonymsText() != null) { filterElement.addAttribute("synonyms", filter.getSynonymsText()); } if (filter.getWordsText() != null) { filterElement.addAttribute("words", filter.getWordsText()); } } } if (queryAnalyzer != null) { Element analyzerElement = DocumentHelper.createElement("analyzer"); fieldTypeElement.add(analyzerElement); analyzerElement.addAttribute("type", "query"); AnalyzerClass analyzerClass = queryAnalyzer.getAnalyzerClass(); if (analyzerClass != null) { analyzerElement.addAttribute("class", analyzerClass.getClassName()); } TokenizerClass tokenizerClass = queryAnalyzer.getTokenizerClass(); if (tokenizerClass != null) { Element tokenizerElement = DocumentHelper.createElement("tokenizer"); analyzerElement.add(tokenizerElement); tokenizerElement.addAttribute("class", tokenizerClass.getClassName()); } Collection<AnalyzerFilter> filters = queryAnalyzer.getFilters(); for (AnalyzerFilter filter : filters) { FilterClass filterClass = filter.getFilterClass(); Element filterElement = DocumentHelper.createElement("filter"); analyzerElement.add(filterElement); filterElement.addAttribute("class", filterClass.getClassName()); addNotNullAttribute(filterElement, "catenateAll", filter); addNotNullAttribute(filterElement, "catenateWords", filter); addNotNullAttribute(filterElement, "delimiter", filter); addNotNullAttribute(filterElement, "enablePositionIncrements", filter); addNotNullAttribute(filterElement, "encoder", filter); addNotNullAttribute(filterElement, "expand", filter); addNotNullAttribute(filterElement, "generateNumberParts", filter); addNotNullAttribute(filterElement, "generateWordParts", filter); addNotNullAttribute(filterElement, "ignoreCase", filter); addNotNullAttribute(filterElement, "inject", filter); addNotNullAttribute(filterElement, "language", filter); addNotNullAttribute(filterElement, "pattern", filter); if (filter.getProtectedText() != null) { filterElement.addAttribute("protected", filter.getProtectedText()); } addNotNullAttribute(filterElement, "replace", filter); addNotNullAttribute(filterElement, "replacement", filter); addNotNullAttribute(filterElement, "splitOnCaseChange", filter); if (filter.getSynonymsText() != null) { filterElement.addAttribute("synonyms", filter.getSynonymsText()); } if (filter.getWordsText() != null) { filterElement.addAttribute("words", filter.getWordsText()); } } } } writeSchema(collectionName, schemaDocument); if (collection != null) { // for _default_constellio, we do not need initialize initCore(collection); } }