use of org.jdom.output.XMLOutputter in project intellij-community by JetBrains.
the class MavenProjectsTree method getFilterConfigCrc.
public int getFilterConfigCrc(ProjectFileIndex fileIndex) {
ApplicationManager.getApplication().assertReadAccessAllowed();
readLock();
try {
final CRC32 crc = new CRC32();
MavenExplicitProfiles profiles = myExplicitProfiles;
if (profiles != null) {
updateCrc(crc, profiles.hashCode());
}
Collection<MavenProject> allProjects = myVirtualFileToProjectMapping.values();
crc.update(allProjects.size() & 0xFF);
for (MavenProject mavenProject : allProjects) {
VirtualFile pomFile = mavenProject.getFile();
Module module = fileIndex.getModuleForFile(pomFile);
if (module == null)
continue;
if (!Comparing.equal(fileIndex.getContentRootForFile(pomFile), pomFile.getParent()))
continue;
updateCrc(crc, module.getName());
MavenId mavenId = mavenProject.getMavenId();
updateCrc(crc, mavenId.getGroupId());
updateCrc(crc, mavenId.getArtifactId());
updateCrc(crc, mavenId.getVersion());
MavenId parentId = mavenProject.getParentId();
if (parentId != null) {
updateCrc(crc, parentId.getGroupId());
updateCrc(crc, parentId.getArtifactId());
updateCrc(crc, parentId.getVersion());
}
updateCrc(crc, mavenProject.getDirectory());
updateCrc(crc, MavenFilteredPropertyPsiReferenceProvider.getDelimitersPattern(mavenProject).pattern());
updateCrc(crc, mavenProject.getModelMap().hashCode());
updateCrc(crc, mavenProject.getResources().hashCode());
updateCrc(crc, mavenProject.getTestResources().hashCode());
updateCrc(crc, getFilterExclusions(mavenProject).hashCode());
updateCrc(crc, mavenProject.getProperties().hashCode());
for (String each : mavenProject.getFilterPropertiesFiles()) {
File file = new File(each);
updateCrc(crc, file.lastModified());
}
XMLOutputter outputter = new XMLOutputter(Format.getCompactFormat());
Writer crcWriter = new Writer() {
@Override
public void write(char[] cbuf, int off, int len) throws IOException {
for (int i = off, end = off + len; i < end; i++) {
crc.update(cbuf[i]);
}
}
@Override
public void flush() throws IOException {
}
@Override
public void close() throws IOException {
}
};
try {
Element resourcePluginCfg = mavenProject.getPluginConfiguration("org.apache.maven.plugins", "maven-resources-plugin");
if (resourcePluginCfg != null) {
outputter.output(resourcePluginCfg, crcWriter);
}
Element warPluginCfg = mavenProject.getPluginConfiguration("org.apache.maven.plugins", "maven-war-plugin");
if (warPluginCfg != null) {
outputter.output(warPluginCfg, crcWriter);
}
} catch (IOException e) {
LOG.error(e);
}
}
return (int) crc.getValue();
} finally {
readUnlock();
}
}
use of org.jdom.output.XMLOutputter in project zaproxy by zaproxy.
the class DriverConfiguration method write.
public void write() {
final Document doc = new Document();
final Element root = new Element("driverConfiguration");
doc.addContent(root);
for (int i = 0; i < names.size(); i++) {
final Element driver = new Element("driver");
root.addContent(driver);
final Element name = new Element("name");
driver.addContent(name);
name.addContent(names.get(i));
final Element path = new Element("path");
driver.addContent(path);
path.addContent(paths.get(i));
final Element slot = new Element("slot");
driver.addContent(slot);
slot.addContent(slots.get(i).toString());
final Element slotListIndex = new Element("slotListIndex");
driver.addContent(slotListIndex);
slotListIndex.addContent(slotListIndexes.get(i).toString());
}
try {
final OutputStream fileOutputStream = new BufferedOutputStream(new FileOutputStream(file));
final XMLOutputter out = new XMLOutputter();
out.output(doc, fileOutputStream);
fileOutputStream.close();
} catch (final FileNotFoundException e) {
JOptionPane.showMessageDialog(null, new String[] { "Error accessing key store: ", e.toString() }, "Error", JOptionPane.ERROR_MESSAGE);
logger.error(e.getMessage(), e);
} catch (final IOException e) {
JOptionPane.showMessageDialog(null, new String[] { "Error accessing key store: ", e.toString() }, "Error", JOptionPane.ERROR_MESSAGE);
logger.error(e.getMessage(), e);
}
setChanged();
notifyObservers();
}
use of org.jdom.output.XMLOutputter in project intellij-community by JetBrains.
the class AbstractFileType method readSyntaxTable.
@NotNull
public static SyntaxTable readSyntaxTable(@NotNull Element root) {
SyntaxTable table = new SyntaxTable();
for (Element element : root.getChildren()) {
if (ELEMENT_OPTIONS.equals(element.getName())) {
for (final Object o1 : element.getChildren(ELEMENT_OPTION)) {
Element e = (Element) o1;
String name = e.getAttributeValue(ATTRIBUTE_NAME);
String value = e.getAttributeValue(ATTRIBUTE_VALUE);
if (VALUE_LINE_COMMENT.equals(name)) {
table.setLineComment(value);
} else if (VALUE_COMMENT_START.equals(name)) {
table.setStartComment(value);
} else if (VALUE_COMMENT_END.equals(name)) {
table.setEndComment(value);
} else if (VALUE_HEX_PREFIX.equals(name)) {
table.setHexPrefix(value);
} else if (VALUE_NUM_POSTFIXES.equals(name)) {
table.setNumPostfixChars(value);
} else if (VALUE_LINE_COMMENT_AT_START.equals(name)) {
table.lineCommentOnlyAtStart = Boolean.valueOf(value).booleanValue();
} else if (VALUE_HAS_BRACES.equals(name)) {
table.setHasBraces(Boolean.valueOf(value).booleanValue());
} else if (VALUE_HAS_BRACKETS.equals(name)) {
table.setHasBrackets(Boolean.valueOf(value).booleanValue());
} else if (VALUE_HAS_PARENS.equals(name)) {
table.setHasParens(Boolean.valueOf(value).booleanValue());
} else if (VALUE_HAS_STRING_ESCAPES.equals(name)) {
table.setHasStringEscapes(Boolean.valueOf(value).booleanValue());
}
}
} else if (ELEMENT_KEYWORDS.equals(element.getName())) {
boolean ignoreCase = Boolean.valueOf(element.getAttributeValue(ATTRIBUTE_IGNORE_CASE)).booleanValue();
table.setIgnoreCase(ignoreCase);
loadKeywords(element, table.getKeywords1());
} else if (ELEMENT_KEYWORDS2.equals(element.getName())) {
loadKeywords(element, table.getKeywords2());
} else if (ELEMENT_KEYWORDS3.equals(element.getName())) {
loadKeywords(element, table.getKeywords3());
} else if (ELEMENT_KEYWORDS4.equals(element.getName())) {
loadKeywords(element, table.getKeywords4());
}
}
boolean DUMP_TABLE = false;
if (DUMP_TABLE) {
Element element = new Element("temp");
writeTable(element, table);
XMLOutputter outputter = JDOMUtil.createOutputter("\n");
try {
outputter.output((Element) element.getContent().get(0), System.out);
} catch (IOException ignored) {
}
}
return table;
}
use of org.jdom.output.XMLOutputter in project ACS by ACS-Community.
the class TestHighLevelNodes method testXmlMACI.
public void testXmlMACI() throws Exception {
logger.info("MACI XML string -- Classic: " + xmlXml);
SAXBuilder sb = new SAXBuilder();
InputStream is = new ByteArrayInputStream(rdbXml.getBytes("UTF-8"));
Document doc = sb.build(is);
XMLOutputter xout = new XMLOutputter(Format.getPrettyFormat());
ByteArrayOutputStream out = new ByteArrayOutputStream();
xout.output(doc, out);
logger.info("MACI XML string -- RDB: " + out.toString());
// This fails at the moment because XML returns namespace info, TMCDB doesn't
assertXMLEqual("MACI XML pieces are similar ", xmlXml, rdbXml);
}
use of org.jdom.output.XMLOutputter in project OpenClinica by OpenClinica.
the class PrintHorizontalFormBuilder method createMarkupNoDE.
/**
* Sequentially create a String of XML representing all of the sections on a
* Case Report Form, for the purpose of web-page display.
*
* @return A string representing the XML or XHTML.
*/
public String createMarkupNoDE() {
// data associated with it, pass on the responsibility to another object
ViewPersistanceHandler persistanceHandler = new ViewPersistanceHandler();
ViewBuilderPrintDecorator builderUtil = new ViewBuilderPrintDecorator();
// This object holds the printed output of the JDom Document object,
// which represents
// the XML for each section's HTML tables. The object is re-written
// each time a new section is generated
Writer writer = new StringWriter();
// This object contains all of the markup for all of the sections.
StringBuilder webPageBuilder = new StringBuilder();
// Keep track of the section number so we can create page numbers
int pageNumber = 0;
if (isInternetExplorer) {
for (DisplaySectionBean displaySecBean : this.displaySectionBeans) {
this.reconfigureView = builderUtil.hasThreePlusColumns(displaySecBean);
// reformulated for IE
if (reconfigureView)
break;
}
}
int uniqueId = 0;
// Print all the sections of a group-type table
for (DisplaySectionBean displaySecBean : this.displaySectionBeans) {
// The CellFactoryPrintDecorator object that generates the content
// for HTML table TD cells.
CellFactoryPrintDecorator cellFactory = new CellFactoryPrintDecorator();
// The object that handles the repetition model attributes for the
// HTML table elements
RepeatManager repeatManager = new RepeatManager();
// These classes "decorate" the FormBeanUtil and ViewBuilderUtil
// classes to
// provide special services required in printing
FormBeanUtilDecorator formUtilDecorator = new FormBeanUtilDecorator();
// Does this particular section have to be reconfigured for printing
// in IE browsers?
boolean changeHTMLForIE = false;
if (reconfigureView) {
// changeHTMLForIE = builderUtil.hasThreePlusColumns(displaySecBean);
}
++pageNumber;
sectionBean = displaySecBean.getSection();
if (involvesDataEntry) {
List<ItemDataBean> itemDataBeans;
persistanceHandler = new ViewPersistanceHandler();
itemDataBeans = persistanceHandler.fetchPersistedData(sectionBean.getId(), eventCRFbean.getId());
if (!itemDataBeans.isEmpty()) {
hasDbFormValues = true;
}
persistanceHandler.setItemDataBeans(itemDataBeans);
}
// Keep track of whether a group has any repeat behavior; true or
// false
boolean repeatFlag;
// The number of repeating table rows that the group will start
// with.
int repeatNumber;
// the div tag that will be the root node for each printable section
Element divRoot = new Element("div");
divRoot.setAttribute("id", ("toplevel" + pageNumber));
divRoot.setAttribute("class", "toplevel");
// remove float properties for IE browsers
if (isInternetExplorer) {
divRoot.setAttribute("style", "float:none");
}
Document doc = new Document(divRoot);
// Show the section's title, subtitle, or instructions
builderUtil.showTitles(divRoot, sectionBean, pageNumber, isInternetExplorer);
// One way to generate an id for the repeating tbody or tr element
// The tabindex attribute for select and input tags
int tabindex = 1;
// Should discrepancy note icons be displayed
boolean hasDiscrepancyMgt = false;
StudyBean studBean = this.getStudyBean();
if (studBean != null && studBean.getStudyParameterConfig().getDiscrepancyManagement().equalsIgnoreCase("true")) {
hasDiscrepancyMgt = true;
}
//Not to show discrepancy flags in the print crfs when there is no data
hasDiscrepancyMgt = false;
// its list of DisplayItemBeans
for (DisplayItemGroupBean displayItemGroup : displaySecBean.getDisplayFormGroups()) {
ArrayList headerlist = new ArrayList();
ArrayList bodylist = new ArrayList();
ArrayList subHeadList = new ArrayList();
List<DisplayItemBean> currentDisplayItems = displayItemGroup.getItems();
// A Map that contains persistent (stored in a database),
// repeated rows
// in a matrix type table
// The Map index is the Item id of the first member of the row;
// the value is a List
// of item beans that make up the row
SortedMap<Integer, List<ItemDataBean>> ordinalItemDataMap = new TreeMap<Integer, List<ItemDataBean>>();
// Is this a persistent matrix table and does it already have
// repeated rows
// in the database?
boolean hasStoredRepeatedRows = false;
// Is this a non-group type table that shares the same section
// as a group table?
// boolean unGroupedTable = displayItemGroup.getItemGroupBean().getName().equalsIgnoreCase(BeanFactory.UNGROUPED);
boolean unGroupedTable = displayItemGroup.getGroupMetaBean().isRepeatingGroup() ? false : true;
// Load any database values into the DisplayItemBeans
if (hasDbFormValues) {
currentDisplayItems = persistanceHandler.loadDataIntoDisplayBeans(currentDisplayItems, (!unGroupedTable));
/*
* The highest number ordinal represents how many repeated
* rows there are. If the ordinal in ItemDataBeans > 1, then
* we know that the group has persistent repeated rows. Get
* a structure that maps each ordinal (i.e., >= 2) to its
* corresponding List of ItemDataBeans. Then iterate the
* existing DisplayBeans, with the number of new rows
* equaling the highest ordinal number minus 1 (meaning, the
* first row represents the row of the group table that
* would exist if the user displayed the table, but didn't
* generate any new rows). For example, in a List of
* ItemDataBeans, if the highest ordinal property among
* these beans is 5, then the matrix table has 4 repeated
* rows from the database. Provide each new row with its
* values by using the ItemDataBeans.
*/
if (involvesDataEntry && !unGroupedTable && persistanceHandler.hasPersistentRepeatedRows(currentDisplayItems)) {
hasStoredRepeatedRows = true;
// if the displayitems contain duplicate item ids, then
// these duplicates
// represent repeated rows. Separate them into a Map of
// new rows that
// will be appended to the HTML table.
ordinalItemDataMap = persistanceHandler.handleExtraGroupRows();
}
}
// end if hasDbFormValues
// Does the table have a group header?
String groupHeader = displayItemGroup.getGroupMetaBean().getHeader();
boolean hasGroupHeader = groupHeader != null && groupHeader.length() > 0;
// Add group header, if there is one
if (hasGroupHeader) {
Element divGroupHeader = new Element("div");
// necessary?
divGroupHeader.setAttribute("class", "aka_group_header");
Element strong = new Element("strong");
strong.setAttribute("style", "float:none");
strong.addContent(groupHeader);
divGroupHeader.addContent(strong);
divRoot.addContent(divGroupHeader);
}
Element tableDiv = new Element("div");
tableDiv.setAttribute("class", "tableDiv");
if (isInternetExplorer) {
tableDiv.setAttribute("style", "float:none");
}
divRoot.addContent(tableDiv);
// This group represents "orphaned" items (those without a
// group) if
// the FormGroupBean has a group label of UNGROUPED
Element orphanTable = null;
if (unGroupedTable) {
orphanTable = formUtilDecorator.createXHTMLTableFromNonGroup(currentDisplayItems, tabindex, hasDiscrepancyMgt, hasDbFormValues, true);
// We have to track the point the tabindex has reached here
// The tabindex will increment by the size of the
// displayItemGroup List
tabindex += currentDisplayItems.size();
tableDiv.addContent(orphanTable);
continue;
}
// end if unGroupedTable
uniqueId++;
String repeatParentId = "repeatParent" + uniqueId;
repeatNumber = displayItemGroup.getGroupMetaBean().getRepeatNum();
// If the form has repeat behavior, this number is > 0
// Do not allow repeat numbers < 1
repeatNumber = repeatNumber < 1 ? 1 : repeatNumber;
// And a limit of 12
repeatNumber = repeatNumber > 12 ? 12 : repeatNumber;
// This is always true during this iteration
repeatFlag = true;
Element table = createTable();
// add the thead element
Element thead = new Element("tr");
tableDiv.addContent(table);
// table.addContent(thead);
// Does this group involve a Horizontal checkbox or radio
// button?
boolean hasResponseLayout = builderUtil.hasResponseLayout(currentDisplayItems);
// add th elements to the thead element
// We have to create an extra thead column for the Remove Row
// button, if
// the table involves repeating rows; thus the final boolean
// parameter
List<Element> thTags = repeatFlag ? createTheadContentsFromDisplayItems(currentDisplayItems, true) : createTheadContentsFromDisplayItems(currentDisplayItems, false);
int i = 0;
for (Element el : thTags) {
i++;
thead.addContent(el);
if (i % maxColRow == 0) {
headerlist.add(thead);
thead = new Element("tr");
}
}
if (i % maxColRow != 0)
headerlist.add(thead);
// in this manner.
if (hasResponseLayout) {
addResponseLayoutRow(subHeadList, currentDisplayItems);
}
Element row;
Element td;
// For each row in the table
row = new Element("tr");
// tag
if (repeatFlag && !(involvesDataEntry && hasStoredRepeatedRows)) {
table = repeatManager.addParentRepeatAttributes(table, repeatParentId, repeatNumber, displayItemGroup.getGroupMetaBean().getRepeatMax());
}
// The content for the table cells. For each item...
int j = 0;
for (DisplayItemBean displayBean : currentDisplayItems) {
j++;
// What type of input: text, radio, checkbox, etc.?
String responseName = displayBean.getMetadata().getResponseSet().getResponseType().getName();
// horizontal
if (displayBean.getMetadata().getResponseLayout().equalsIgnoreCase("horizontal") && (responseName.equalsIgnoreCase("checkbox") || responseName.equalsIgnoreCase("radio"))) {
// The final true parameter is for disabling D Notes
Element[] elements = cellFactory.createCellContentsForChecks(responseName, displayBean, displayBean.getMetadata().getResponseSet().getOptions().size(), ++tabindex, false, true);
for (Element el : elements) {
el = builderUtil.setClassNames(el);
if (repeatFlag) {
el = repeatManager.addChildRepeatAttributes(el, repeatParentId, displayBean.getItem().getId(), null);
}
row.addContent(el);
}
// move to the next item
continue;
}
td = new Element("td");
td = builderUtil.setClassNames(td);
// Create cells within each row
td = cellFactory.createCellContents(td, responseName, displayBean, ++tabindex, hasDiscrepancyMgt, hasDbFormValues, true);
if (repeatFlag) {
}
row.addContent(td);
if (j % maxColRow == 0) {
bodylist.add(row);
row = new Element("tr");
if (repeatFlag) {
repeatParentId = repeatParentId + uniqueId++;
}
}
}
// end for displayBean
if (j % maxColRow != 0)
bodylist.add(row);
//Creating the first/main table
if (hasStoredRepeatedRows) {
Element newRow = new Element("tr");
Element div = new Element("div");
div.setAttribute("id", "repeatCaption");
Element newCol = new Element("td");
Element strong = new Element("strong");
strong.addContent("Repeat: 1");
div.addContent(strong);
newCol.addContent(div);
newRow.addContent(newCol);
table.addContent(newRow);
}
if (!hasStoredRepeatedRows)
for (int ii = 0; ii < repeatNumber; ii++) {
divRoot.addContent(createTableWithoutData(bodylist, headerlist, subHeadList, ii, unGroupedTable));
}
// being clicked
if (hasStoredRepeatedRows) {
List storedRepeatedRows = builderUtil.generatePersistentMatrixRows(ordinalItemDataMap, currentDisplayItems, tabindex, repeatParentId, hasDiscrepancyMgt, true, maxColRow);
// add these new rows to the table
int count = 1;
for (int l = 0; l < storedRepeatedRows.size(); l++) {
++count;
List<Element> rowsList = (ArrayList) storedRepeatedRows.get(l);
divRoot.addContent(createTableWithData(rowsList, headerlist, subHeadList, count));
}
}
}
// end for displayFormGroup
XMLOutputter outp = new XMLOutputter();
Format format = Format.getPrettyFormat();
format.setOmitDeclaration(true);
outp.setFormat(format);
// The writer object contains the markup for one printable section
writer = new StringWriter();
try {
outp.output(doc, writer);
} catch (IOException e) {
e.printStackTrace();
}
// The webPageBuilder object contains the markup for all of the
// sections
// in the print view
webPageBuilder.append(writer.toString());
}
return webPageBuilder.toString();
}
Aggregations