summaryrefslogtreecommitdiff
path: root/src/plugins/preflighting/src/com/motorolamobility/preflighting/internal/commandoutput/DaemonXMLOutputter.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/preflighting/src/com/motorolamobility/preflighting/internal/commandoutput/DaemonXMLOutputter.java')
-rw-r--r--src/plugins/preflighting/src/com/motorolamobility/preflighting/internal/commandoutput/DaemonXMLOutputter.java80
1 files changed, 80 insertions, 0 deletions
diff --git a/src/plugins/preflighting/src/com/motorolamobility/preflighting/internal/commandoutput/DaemonXMLOutputter.java b/src/plugins/preflighting/src/com/motorolamobility/preflighting/internal/commandoutput/DaemonXMLOutputter.java
new file mode 100644
index 0000000..0870c73
--- /dev/null
+++ b/src/plugins/preflighting/src/com/motorolamobility/preflighting/internal/commandoutput/DaemonXMLOutputter.java
@@ -0,0 +1,80 @@
+/*
+ * Copyright (C) 2012 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.motorolamobility.preflighting.internal.commandoutput;
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.PrintStream;
+import java.util.List;
+
+import org.w3c.dom.CDATASection;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+
+import com.motorolamobility.preflighting.core.exception.PreflightingToolException;
+import com.motorolamobility.preflighting.core.validation.ApplicationValidationResult;
+import com.motorolamobility.preflighting.core.validation.Parameter;
+
+public class DaemonXMLOutputter extends XmlOutputter
+{
+ private static final String XML_TAG_CSV_OUTPUT = "CSVContent";
+
+ /*
+ * (non-Javadoc)
+ * @see com.motorolamobility.preflighting.commandoutput.XmlOutputter#generateCustomApplicationNodes(org.w3c.dom.Element, com.motorolamobility.preflighting.core.validation.ApplicationValidationResult, java.util.List)
+ */
+ @Override
+ protected void generateCustomApplicationNodes(Element applicationElem,
+ ApplicationValidationResult result, List<Parameter> parameters)
+ {
+ /*
+ * Put the validation result as a CDATA section inside xml output
+ */
+ ByteArrayOutputStream outStream = new ByteArrayOutputStream();
+ PrintStream stream = new PrintStream(outStream);
+ CSVOutputter outputter = new CSVOutputter();
+ try
+ {
+ outputter.print(result, stream, parameters);
+ Element csvout = document.createElement(XML_TAG_CSV_OUTPUT);
+ CDATASection cdata = document.createCDATASection(outStream.toString().trim());
+ csvout.appendChild(cdata);
+ applicationElem.appendChild(csvout);
+ Node manifest =
+ document.importNode(
+ result.getXmlResultDocument().getElementsByTagName("manifest").item(0),
+ true);
+ applicationElem.appendChild(manifest);
+
+ }
+ catch (PreflightingToolException e)
+ {
+ //do nothing
+ }
+ finally
+ {
+ stream.close();
+ try
+ {
+ outStream.close();
+ }
+ catch (IOException e)
+ {
+ //Do nothing.
+ }
+ }
+ }
+}