Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 65218 Details for
Bug 163352
import filters are not exported when export the logset
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read
this important communication.
[patch]
Patch for the defect
patch_163352.txt (text/plain), 23.00 KB, created by
Rohit Shetty
on 2007-04-27 11:26:03 EDT
(
hide
)
Description:
Patch for the defect
Filename:
MIME Type:
Creator:
Rohit Shetty
Created:
2007-04-27 11:26:03 EDT
Size:
23.00 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.tptp.monitoring.logui >Index: src/org/eclipse/tptp/monitoring/logui/internal/wizards/LogSetManager.java >=================================================================== >RCS file: /cvsroot/tptp/monitoring/org.eclipse.tptp.monitoring.logui/src/org/eclipse/tptp/monitoring/logui/internal/wizards/LogSetManager.java,v >retrieving revision 1.11 >diff -u -r1.11 LogSetManager.java >--- src/org/eclipse/tptp/monitoring/logui/internal/wizards/LogSetManager.java 21 Mar 2007 21:30:59 -0000 1.11 >+++ src/org/eclipse/tptp/monitoring/logui/internal/wizards/LogSetManager.java 27 Apr 2007 14:51:15 -0000 >@@ -12,6 +12,7 @@ > > package org.eclipse.tptp.monitoring.logui.internal.wizards; > >+import java.io.ByteArrayOutputStream; > import java.net.URL; > import java.util.ArrayList; > import java.util.HashMap; >@@ -26,11 +27,14 @@ > import org.eclipse.core.runtime.Status; > import org.eclipse.emf.common.util.URI; > import org.eclipse.emf.ecore.util.EcoreUtil; >+import org.eclipse.emf.ecore.xmi.XMLResource; > import org.eclipse.hyades.internal.execution.local.common.Constants; > import org.eclipse.hyades.models.hierarchy.TRCAgentProxy; > import org.eclipse.hyades.ui.filters.IFilterScopes; > import org.eclipse.hyades.ui.filters.internal.util.FilterInformationManager; > import org.eclipse.hyades.ui.filters.internal.util.FilterQueries; >+import org.eclipse.hyades.ui.filters.internal.util.FilterResourceFileHandler; >+import org.eclipse.hyades.ui.filters.internal.util.FilterResourceHandler; > import org.eclipse.hyades.ui.internal.util.XMLUtil; > > import org.eclipse.jface.preference.IPreferenceStore; >@@ -50,7 +54,12 @@ > public static final String LOGSET_TAG = "logset"; > public static final String LOGELEMENT_TAG = "LogFileElement"; > public static final String DEFAULT_LOGSET = LogUIMessages._54; >- >+ public static final String FILTER_TAG = "filters"; >+ public static final String EXPORT_URI="/temp.txt"; >+ public static final Map RESOURCE_OPTIONS = new HashMap(); >+ { >+ RESOURCE_OPTIONS.put(XMLResource.OPTION_DECLARE_XML, Boolean.FALSE); >+ } > private IPreferenceStore preferenceStore = MonitoringLogUIPlugin.getDefault().getPreferenceStore(); > private String defaultLogSet; > private Map logSetsList = new HashMap(); >@@ -87,7 +96,69 @@ > loadParserRegistry(); > > } >+ public void saveLogSetFilters(List logSetFilterList) { >+ FilterResourceHandler rTarget = FilterResourceHandler.instance(); //list of all existing filters >+ Object[] targetFilterQueries = rTarget.toArray(); >+ if(targetFilterQueries.length > 0){ >+ for (int i = 0; i < targetFilterQueries.length; i++) >+ { >+ FilterQueries existingFQ = (FilterQueries) targetFilterQueries[i]; >+ if(existingFQ != null){ >+ String targetFilterName = (existingFQ).name(); >+ for (Iterator iter = logSetFilterList.iterator(); iter.hasNext();) { >+ FilterQueries fq = (FilterQueries) iter.next(); >+ if(fq != null){ >+ if(targetFilterName.equals(fq.name())){ >+ rTarget.removeFilter(existingFQ); >+ } >+ rTarget.addFilter(fq); >+ } >+ } >+ } >+ } >+ } >+ else{ >+ for (Iterator iter = logSetFilterList.iterator(); iter.hasNext();) { >+ FilterQueries fq = (FilterQueries) iter.next(); >+ if(fq != null){ >+ rTarget.addFilter(fq); >+ } >+ } >+ } >+ rTarget.save(); >+ } > >+ public String generateLogSetFilterDefEntry(List logSetFilterList){ >+ if (logSetFilterList != null && (logSetFilterList.size() > 0)) { >+ StringBuffer xmlString = new StringBuffer(); >+ xmlString.append(" <"); >+ xmlString.append(FILTER_TAG); >+ xmlString.append("> "); >+ FilterResourceFileHandler rtarget = FilterResourceFileHandler.instance(URI.createFileURI(EXPORT_URI)); >+ rtarget.clear(); >+ for (Iterator iter = logSetFilterList.iterator(); iter.hasNext();) { >+ FilterQueries fq = (FilterQueries)iter.next(); >+ if(fq != null){ >+ rtarget.addFilter(fq.copy()); >+ } >+ } >+ if (rtarget instanceof XMLResource) { >+ ((XMLResource) rtarget).setEncoding("UTF-8"); >+ } >+ ByteArrayOutputStream oStream = new ByteArrayOutputStream(); >+ rtarget.save(oStream, RESOURCE_OPTIONS); >+ byte[] b = oStream.toByteArray(); >+ String filterStr = new String(b); >+ xmlString.append(filterStr); >+ xmlString.append(" </"); >+ xmlString.append(FILTER_TAG); >+ xmlString.append("> "); >+ return xmlString.toString(); >+ >+ } >+ return ""; >+ } >+ > public void loadLogSets(){ > > String prefXML = preferenceStore.getString(LOGSETS_KEY); >Index: src/org/eclipse/tptp/monitoring/logui/internal/wizards/ExportLogSetsUI.java >=================================================================== >RCS file: /cvsroot/tptp/monitoring/org.eclipse.tptp.monitoring.logui/src/org/eclipse/tptp/monitoring/logui/internal/wizards/ExportLogSetsUI.java,v >retrieving revision 1.8 >diff -u -r1.8 ExportLogSetsUI.java >--- src/org/eclipse/tptp/monitoring/logui/internal/wizards/ExportLogSetsUI.java 21 Mar 2007 21:30:59 -0000 1.8 >+++ src/org/eclipse/tptp/monitoring/logui/internal/wizards/ExportLogSetsUI.java 27 Apr 2007 14:51:14 -0000 >@@ -23,6 +23,8 @@ > import java.util.List; > > import org.eclipse.core.runtime.Path; >+import org.eclipse.hyades.ui.filters.internal.util.FilterQueries; >+import org.eclipse.hyades.ui.filters.internal.util.FilterResourceHandler; > import org.eclipse.hyades.ui.internal.util.ContextIds; > import org.eclipse.hyades.ui.internal.util.XMLUtil; > import org.eclipse.jface.dialogs.IDialogConstants; >@@ -32,6 +34,8 @@ > import org.eclipse.swt.widgets.Composite; > import org.eclipse.tptp.monitoring.logui.internal.LogUIMessages; > import org.eclipse.tptp.monitoring.logui.internal.MonitoringLogUIPlugin; >+import org.eclipse.tptp.monitoring.logui.internal.util.FilterTransformationHelper; >+import org.eclipse.tptp.monitoring.logui.internal.wizards.LogFileElement.Filter; > import org.eclipse.tptp.platform.common.ui.internal.CommonUIPlugin; > import org.eclipse.ui.PlatformUI; > import org.eclipse.ui.dialogs.IOverwriteQuery; >@@ -47,27 +51,31 @@ > > public boolean finish() { > >- StringBuffer xmlString = new StringBuffer(); >+ StringBuffer xmiString = new StringBuffer(); > >- xmlString.append("<?xml"); >- xmlString.append(XMLUtil.createXMLAttribute("version","1.0", false)).append(XMLUtil.createXMLAttribute("encoding","UTF-8", false)); >- xmlString.append("?>"); >- >- xmlString.append(" <"); >- xmlString.append(LogSetManager.LOGSETS_KEY); >- xmlString.append("> "); >+ xmiString.append("<?xml"); >+ xmiString.append(XMLUtil.createXMLAttribute("version","1.0", false)).append(XMLUtil.createXMLAttribute("encoding","UTF-8", false)); >+ xmiString.append("?>"); >+ >+ xmiString.append(" <"); >+ xmiString.append(LogSetManager.LOGSETS_KEY); >+ xmiString.append("> "); > > Iterator keySet = getDoubleList().getTargetItems().iterator(); > String key = ""; >+ List filterList = new ArrayList(); > while(keySet.hasNext()) { > key = (String) keySet.next(); >- xmlString.append(lsMgr.generateLogSetPrefEntry(key)); >+ xmiString.append(lsMgr.generateLogSetPrefEntry(key)); >+ populateLogSetFilterList(key,filterList); > } >+ xmiString.append(lsMgr.generateLogSetFilterDefEntry(filterList)); >+ xmiString.append(" </"); >+ xmiString.append(LogSetManager.LOGSETS_KEY); >+ xmiString.append(">"); > >- xmlString.append(" </"); >- xmlString.append(LogSetManager.LOGSETS_KEY); >- xmlString.append(">"); >- >+ String xmlString = FilterTransformationHelper.convertXmiToXml(xmiString.toString()); >+ > String filePath = sourceNameField.getText().trim(); > if (!filePath.endsWith(".logsxml")) > filePath += ".logsxml"; >@@ -100,7 +108,6 @@ > writer.close(); > > } catch (IOException ioException) { >- ioException.printStackTrace(); > MonitoringLogUIPlugin.log(ioException); > return false; > } >@@ -108,6 +115,34 @@ > return true; > } > >+ protected void populateLogSetFilterList(String key,List filterList){ >+ List logSet = (List) lsMgr.getLogSets().get(key); >+ if (logSet != null) { >+ LogFileElement element = null; >+ Filter filter = null; >+ for (Iterator iter1 = logSet.iterator(); iter1.hasNext();) { >+ element = (LogFileElement) iter1.next(); >+ filter = element.getFilter(); >+ if (filter != null) { >+ String filterName = filter.getName(); >+ FilterQueries fq = FilterResourceHandler.instance().filter(filterName); >+ if(fq != null){ >+ boolean flag = true; >+ for (Iterator iter2 = filterList.iterator(); iter2.hasNext();) { >+ if(((FilterQueries)iter2.next()).name().equals(fq.name())){ >+ flag = false; >+ break; >+ } >+ } >+ if(flag){ >+ filterList.add(fq); >+ } >+ } >+ } >+ } >+ } >+ } >+ > protected List populateFilterList() { > > lsMgr = LogSetManager.getInstance(); >Index: src/org/eclipse/tptp/monitoring/logui/internal/wizards/ImportLogSetsUI.java >=================================================================== >RCS file: /cvsroot/tptp/monitoring/org.eclipse.tptp.monitoring.logui/src/org/eclipse/tptp/monitoring/logui/internal/wizards/ImportLogSetsUI.java,v >retrieving revision 1.7 >diff -u -r1.7 ImportLogSetsUI.java >--- src/org/eclipse/tptp/monitoring/logui/internal/wizards/ImportLogSetsUI.java 21 Mar 2007 21:30:59 -0000 1.7 >+++ src/org/eclipse/tptp/monitoring/logui/internal/wizards/ImportLogSetsUI.java 27 Apr 2007 14:51:14 -0000 >@@ -12,12 +12,20 @@ > > package org.eclipse.tptp.monitoring.logui.internal.wizards; > >+import java.io.ByteArrayInputStream; > import java.io.File; > import java.io.FileInputStream; > import java.io.IOException; >+import java.io.InputStream; >+import java.io.StringReader; > import java.util.ArrayList; >+import java.util.Iterator; > import java.util.List; > >+import javax.xml.parsers.DocumentBuilderFactory; >+import org.eclipse.emf.common.util.URI; >+import org.eclipse.hyades.ui.filters.internal.util.FilterQueries; >+import org.eclipse.hyades.ui.filters.internal.util.FilterResourceFileHandler; > import org.eclipse.hyades.ui.internal.util.ContextIds; > import org.eclipse.hyades.ui.internal.util.XMLUtil; > import org.eclipse.jface.dialogs.IMessageProvider; >@@ -26,10 +34,14 @@ > import org.eclipse.swt.widgets.Composite; > import org.eclipse.tptp.monitoring.logui.internal.LogUIMessages; > import org.eclipse.tptp.monitoring.logui.internal.MonitoringLogUIPlugin; >+import org.eclipse.tptp.monitoring.logui.internal.util.FilterTransformationHelper; > import org.eclipse.tptp.platform.common.ui.internal.CommonUIPlugin; > import org.eclipse.ui.PlatformUI; >+import org.w3c.dom.Document; > import org.w3c.dom.Element; >+import org.w3c.dom.Node; > import org.w3c.dom.NodeList; >+import org.xml.sax.InputSource; > > public class ImportLogSetsUI extends ImportExportLogSetsUI { > >@@ -45,24 +57,110 @@ > public boolean finish() { > > List list = doubleList.getTargetItems(); >+ List filterList = new ArrayList(); >+ FilterResourceFileHandler rSource = populateLogSetFilterXML(); > String name=null; > for(int idx=0; idx<list.size(); idx++) > { > Element elem = (Element)list.get(idx); > > if(idx==0) >+ { > name = elem.getAttribute("name"); >- lsMgr.loadLogSet(elem); >+ } >+ >+ if(rSource != null) >+ { >+ populateLogSetFilterList(rSource,elem,filterList); >+ } >+ >+ lsMgr.loadLogSet(elem); > } > >+ if(filterList.size() > 0) >+ lsMgr.saveLogSetFilters(filterList); >+ >+ if(rSource != null) >+ rSource.clear(); >+ > if(name != null) > { > lsMgr.setDefaultLogSet(name); > lsMgr.openLogSet(name); > } >+ > return true; > } > >+ private void populateLogSetFilterList(FilterResourceFileHandler rSource , Element elem,List filterList){ >+ NodeList logNodeList = XMLUtil.getChildrenByName(elem,LogSetManager.LOGELEMENT_TAG); >+ Element element = null; >+ for (int i = 0, maxi = logNodeList.getLength(); i < maxi; i++) { >+ if (logNodeList.item(i) instanceof Element) { >+ element = (Element) logNodeList.item(i); >+ NodeList filterNodes = XMLUtil.getChildrenByName(element, "filter"); >+ if (filterNodes != null && filterNodes.getLength() > 0) { >+ if (filterNodes.item(0) instanceof Element) { >+ String filterName = ((Element) filterNodes.item(0)).getAttribute("name"); >+ FilterQueries fq = rSource.filter(filterName); >+ if(fq != null){ >+ boolean flag = true; >+ for (Iterator iter2 = filterList.iterator(); iter2.hasNext();) { >+ if(((FilterQueries)iter2.next()).name().equals(fq.name())){ >+ flag = false; >+ break; >+ } >+ } >+ if(flag){ >+ filterList.add(fq); >+ } >+ } >+ } >+ } >+ } >+ >+ } >+ } >+ >+ protected FilterResourceFileHandler populateLogSetFilterXML() >+ { >+ String fileName = sourceNameField.getText().trim(); >+ Node filterNode = null; >+ if ((new File(fileName)).exists()) >+ { >+ try { >+ FileInputStream inputStream = new FileInputStream(fileName); >+ Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(inputStream); >+ Element root = doc.getDocumentElement(); >+ String xmlString = FilterTransformationHelper.toString(root); >+ >+ String xmiString = FilterTransformationHelper.convertXmlToXmi(xmlString); >+ >+ doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new InputSource(new StringReader(xmiString))); >+ Element elem = doc.getDocumentElement(); >+ NodeList nl = elem.getChildNodes(); >+ for(int l1 = 0; l1 < nl.getLength(); l1++) >+ { >+ if(nl.item(l1).getNodeName().equals(LogSetManager.FILTER_TAG)) >+ { >+ filterNode = (Element)nl.item(l1); >+ FilterResourceFileHandler rSource = FilterResourceFileHandler.instance(URI.createFileURI(fileName)); //filters list to store new imported filters >+ rSource.clear(); >+ >+ InputStream is = new ByteArrayInputStream(FilterTransformationHelper.toString(filterNode).getBytes()); >+ rSource.load(is, LogSetManager.RESOURCE_OPTIONS); >+ return rSource; >+ } >+ } >+ } >+ catch(Exception exception) >+ { >+ MonitoringLogUIPlugin.log(exception); >+ } >+ } >+ return null; >+ } >+ > protected List populateFilterList() > { > String fileName = sourceNameField.getText().trim(); >Index: src/org/eclipse/tptp/monitoring/logui/internal/util/FilterTransformationHelper.java >=================================================================== >RCS file: src/org/eclipse/tptp/monitoring/logui/internal/util/FilterTransformationHelper.java >diff -N src/org/eclipse/tptp/monitoring/logui/internal/util/FilterTransformationHelper.java >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ src/org/eclipse/tptp/monitoring/logui/internal/util/FilterTransformationHelper.java 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,299 @@ >+/********************************************************************** >+ * Copyright (c) 2006, 2007 IBM Corporation and others. >+ * All rights reserved. This program and the accompanying materials >+ * are made available under the terms of the Eclipse Public License v1.0 >+ * which accompanies this distribution, and is available at >+ * http://www.eclipse.org/legal/epl-v10.html >+ * $Id: FilterTransformationHelper.java,v 1.11 2007/03/21 21:30:59 >+ * >+ * Contributors: >+ * IBM - Initial API and implementation >+ **********************************************************************/ >+package org.eclipse.tptp.monitoring.logui.internal.util; >+ >+import java.io.IOException; >+import java.io.StringReader; >+import java.io.StringWriter; >+ >+import javax.xml.parsers.DocumentBuilder; >+import javax.xml.parsers.DocumentBuilderFactory; >+ >+import org.apache.xml.serialize.OutputFormat; >+import org.apache.xml.serialize.XMLSerializer; >+import org.eclipse.tptp.monitoring.logui.internal.MonitoringLogUIPlugin; >+ >+import org.w3c.dom.Document; >+import org.w3c.dom.Element; >+import org.w3c.dom.NamedNodeMap; >+import org.w3c.dom.Node; >+import org.w3c.dom.NodeList; >+import org.xml.sax.InputSource; >+ >+public class FilterTransformationHelper >+{ >+ public static String convertXmiToXml(String xmiString) >+ { >+ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); >+ try >+ { >+ DocumentBuilder builder = factory.newDocumentBuilder(); >+ >+ Document document = builder.parse(new InputSource(new StringReader(xmiString))); >+ >+ Document newDocument = builder.newDocument(); >+ >+ Element element = (Element) document.getElementsByTagName("logsets").item(0); >+ if(element != null) >+ { >+ buildXMLDocument(element, null, newDocument); >+ } >+ >+ Node root = newDocument.getElementsByTagName("logsets").item(0); >+ >+ return toString(root); >+ } >+ catch (Exception e) >+ { >+ MonitoringLogUIPlugin.log(e); >+ return null; >+ } >+ } >+ >+ private static void buildXMLDocument(Element element, Element parent, Document newDocument) >+ { >+ String nodeName = element.getNodeName(); >+ if(!nodeName.equals("xmi:XMI")) >+ { >+ if(nodeName.equals("HierarchyExtensions:SimpleSearchQuery")) >+ { >+ nodeName = "LogAnalyzerFilter"; >+ } >+ >+ Element newElement = newDocument.createElement(nodeName); >+ >+ newElement.setTextContent(element.getTextContent()); >+ >+ NamedNodeMap attributes = element.getAttributes(); >+ for(int i = 0; i < attributes.getLength(); i++) >+ { >+ Node attribute = attributes.item(i); >+ String name = attribute.getNodeName(); >+ if(name.equals("xsi:type")) >+ { >+ name = "category"; >+ } >+ else if(nodeName.equals("valueType") && name.equals("href")) >+ { >+ name = "type"; >+ } >+ >+ String value = attribute.getNodeValue(); >+ if(value.startsWith("HierarchyExtensions:")) >+ { >+ value = value.replace("HierarchyExtensions:", "Hierarchial"); >+ } >+ else if(value.startsWith("ecore:E")) >+ { >+ value = value.replace("ecore:E", "Event:"); >+ } >+ else if(value.contains("http://www.eclipse.org")) >+ { >+ value = value.replace("http://www.eclipse.org/emf/2002/Ecore#//E", ""); >+ } >+ else if(value.startsWith("org.eclipse.hyades.log.ui.ImportLogFilterType:")) >+ { >+ value = value.replace("org.eclipse.hyades.log.ui.ImportLogFilterType:", "ImportLogFilterType:"); >+ } >+ >+ newElement.setAttribute(name, value); >+ } >+ >+ if(parent == null) >+ { >+ newDocument.appendChild(newElement); >+ } >+ else >+ { >+ parent.appendChild(newElement); >+ } >+ >+ parent = newElement; >+ } >+ >+ NodeList children = element.getChildNodes(); >+ for(int i = 0; i < children.getLength(); i++) >+ { >+ Object object = children.item(i); >+ if(object instanceof Element) >+ { >+ Element child = (Element) object; >+ if(child != null) >+ { >+ buildXMLDocument(child, parent, newDocument); >+ } >+ } >+ } >+ } >+ >+ public static String convertXmlToXmi(String xmlString) >+ { >+ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); >+ try >+ { >+ DocumentBuilder builder = factory.newDocumentBuilder(); >+ >+ Document document = builder.parse(new InputSource(new StringReader(xmlString))); >+ >+ Document newDocument = builder.newDocument(); >+ >+ Element element = (Element) document.getElementsByTagName("logsets").item(0); >+ if(element != null) >+ { >+ buildXmiDocument(element, null, newDocument); >+ } >+ >+ Node root = newDocument.getElementsByTagName("logsets").item(0); >+ >+ return toString(root); >+ } >+ catch (Exception e) >+ { >+ MonitoringLogUIPlugin.log(e); >+ return null; >+ } >+ } >+ >+ private static void buildXmiDocument(Element element, Element parent, Document newDocument) >+ { >+ String nodeName = element.getNodeName(); >+ >+ if(nodeName.equals("LogAnalyzerFilter")) >+ { >+ nodeName = "HierarchyExtensions:SimpleSearchQuery"; >+ } >+ >+ Element newElement = newDocument.createElement(nodeName); >+ >+ newElement.setTextContent(element.getTextContent()); >+ >+ NamedNodeMap attributes = element.getAttributes(); >+ for(int i = 0; i < attributes.getLength(); i++) >+ { >+ Node attribute = attributes.item(i); >+ String name = attribute.getNodeName(); >+ if(name.equals("category")) >+ { >+ name = "xsi:type"; >+ } >+ else if(nodeName.equals("valueType") && name.equals("type")) >+ { >+ name = "href"; >+ } >+ >+ String value = attribute.getNodeValue(); >+ if(value.startsWith("Hierarchial")) >+ { >+ value = value.replace("Hierarchial", "HierarchyExtensions:"); >+ } >+ else if(value.startsWith("Event:")) >+ { >+ value = value.replace("Event:", "ecore:E"); >+ } >+ else if(nodeName.equals("valueType") && name.equals("href")) >+ { >+ value = "http://www.eclipse.org/emf/2002/Ecore#//E" + value; >+ } >+ else if(value.startsWith("ImportLogFilterType:")) >+ { >+ value = value.replace("ImportLogFilterType:", "org.eclipse.hyades.log.ui.ImportLogFilterType:"); >+ } >+ >+ newElement.setAttribute(name, value); >+ } >+ >+ if(parent == null) >+ { >+ newDocument.appendChild(newElement); >+ } >+ else >+ { >+ parent.appendChild(newElement); >+ } >+ parent = newElement; >+ >+ if(nodeName.equals("filters")) >+ { >+ Element xmiElement = newDocument.createElement("xmi:XMI"); >+ >+ xmiElement.setAttribute("xmi:version", "2.0"); >+ xmiElement.setAttribute("xmlns:xmi", "http://www.omg.org/XMI"); >+ xmiElement.setAttribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance"); >+ xmiElement.setAttribute("xmlns:HierarchyExtensions", "http://www.eclipse.org/hyades/models/hierarchy-extensions.xmi"); >+ xmiElement.setAttribute("xmlns:ecore", "http://www.eclipse.org/emf/2002/Ecore"); >+ >+ parent.appendChild(xmiElement); >+ >+ parent = xmiElement; >+ } >+ >+ NodeList children = element.getChildNodes(); >+ for(int i = 0; i < children.getLength(); i++) >+ { >+ Object object = children.item(i); >+ if(object instanceof Element) >+ { >+ Element child = (Element) object; >+ if(child != null) >+ { >+ buildXmiDocument(child, parent, newDocument); >+ } >+ } >+ } >+ } >+ >+ public static String toString(Node xml) >+ { >+ return toString(xml, true); >+ } >+ >+ public static String toString(Node xml, boolean printHeader) >+ { >+ return toString(xml, printHeader, true); >+ } >+ >+ public static String toString(Node xml, boolean printHeader, boolean printIndents) >+ { >+ short type = xml.getNodeType(); >+ if (type == 3) >+ { >+ return xml.getNodeValue(); >+ } >+ >+ XMLSerializer serializer = new XMLSerializer(); >+ serializer.setNamespaces(true); >+ OutputFormat formatter = new OutputFormat(); >+ formatter.setOmitXMLDeclaration(!printHeader); >+ formatter.setIndenting(printIndents); >+ serializer.setOutputFormat(formatter); >+ StringWriter writer = new StringWriter(); >+ serializer.setOutputCharStream(writer); >+ >+ try >+ { >+ if (type == 9) >+ { >+ serializer.serialize((Document) xml); >+ } >+ else >+ { >+ serializer.serialize((Element) xml); >+ } >+ } >+ catch (IOException error) >+ { >+ throw new RuntimeException(error.getMessage(), error); >+ } >+ >+ return writer.toString(); >+ } >+}
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 163352
:
64924
|
64947
| 65218 |
65219
|
65283
|
66473