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 64924 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 problems described in this defect is attached.
patch_163352.txt (text/plain), 15.62 KB, created by
vrushali satpute
on 2007-04-25 16:09:37 EDT
(
hide
)
Description:
Patch for the problems described in this defect is attached.
Filename:
MIME Type:
Creator:
vrushali satpute
Created:
2007-04-25 16:09:37 EDT
Size:
15.62 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 25 Apr 2007 19:54:51 -0000 >@@ -12,6 +12,9 @@ > > package org.eclipse.tptp.monitoring.logui.internal.wizards; > >+import java.io.ByteArrayOutputStream; >+import java.io.IOException; >+import java.io.StringWriter; > import java.net.URL; > import java.util.ArrayList; > import java.util.HashMap; >@@ -20,17 +23,22 @@ > import java.util.Map; > import java.util.Set; > >+import org.apache.xml.serialize.OutputFormat; >+import org.apache.xml.serialize.XMLSerializer; > import org.eclipse.core.runtime.IConfigurationElement; > import org.eclipse.core.runtime.IStatus; > import org.eclipse.core.runtime.Platform; > 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; >@@ -38,7 +46,9 @@ > import org.eclipse.tptp.monitoring.logui.internal.LogUIMessages; > import org.eclipse.tptp.monitoring.logui.internal.MonitoringLogUIPlugin; > import org.eclipse.tptp.platform.common.ui.trace.internal.helpers.TraceUIManager; >+import org.w3c.dom.Document; > import org.w3c.dom.Element; >+import org.w3c.dom.Node; > import org.w3c.dom.NodeList; > > import com.ibm.icu.util.StringTokenizer; >@@ -50,7 +60,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 +102,101 @@ > 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 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(); >+ } >+ 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 25 Apr 2007 19:54:49 -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,7 @@ > 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.wizards.LogFileElement.Filter; > import org.eclipse.tptp.platform.common.ui.internal.CommonUIPlugin; > import org.eclipse.ui.PlatformUI; > import org.eclipse.ui.dialogs.IOverwriteQuery; >@@ -59,11 +62,13 @@ > > Iterator keySet = getDoubleList().getTargetItems().iterator(); > String key = ""; >+ List filterList = new ArrayList(); > while(keySet.hasNext()) { > key = (String) keySet.next(); >- xmlString.append(lsMgr.generateLogSetPrefEntry(key)); >+ xmlString.append(lsMgr.generateLogSetPrefEntry(key)); >+ populateLogSetFilterList(key,filterList); > } >- >+ xmlString.append(lsMgr.generateLogSetFilterDefEntry(filterList)); > xmlString.append(" </"); > xmlString.append(LogSetManager.LOGSETS_KEY); > xmlString.append(">"); >@@ -108,6 +113,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 25 Apr 2007 19:54:50 -0000 >@@ -12,12 +12,19 @@ > > 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.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; >@@ -28,7 +35,9 @@ > import org.eclipse.tptp.monitoring.logui.internal.MonitoringLogUIPlugin; > 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; > > public class ImportLogSetsUI extends ImportExportLogSetsUI { >@@ -45,16 +54,22 @@ > 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) >+ if(idx==0){ > name = elem.getAttribute("name"); >- lsMgr.loadLogSet(elem); >+ populateLogSetFilterList(rSource,elem,filterList); >+ lsMgr.loadLogSet(elem); >+ } > } >- >+ lsMgr.saveLogSetFilters(filterList); >+ rSource.clear(); >+ > if(name != null) > { > lsMgr.setDefaultLogSet(name); >@@ -63,6 +78,69 @@ > 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(); >+ List tempfilterList = new ArrayList(); >+ Node filterNode = null; >+ if ((new File(fileName)).exists()) >+ { >+ try { >+ FileInputStream inputStream = new FileInputStream(fileName); >+ Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(inputStream); >+ 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(LogSetManager.toString(filterNode).getBytes()); >+ rSource.load(is, LogSetManager.RESOURCE_OPTIONS); >+ return rSource; >+ } >+ } >+ } >+ catch(Exception exception) >+ { >+ exception.printStackTrace(); >+ MonitoringLogUIPlugin.log(exception); >+ } >+ } >+ return null; >+ } >+ > protected List populateFilterList() > { > String fileName = sourceNameField.getText().trim(); >#P org.eclipse.tptp.platform.common.ui >Index: src-common-internal/org/eclipse/hyades/ui/filters/internal/util/FilterResourceFileHandler.java >=================================================================== >RCS file: /cvsroot/tptp/platform/org.eclipse.tptp.platform.common.ui/src-common-internal/org/eclipse/hyades/ui/filters/internal/util/FilterResourceFileHandler.java,v >retrieving revision 1.3 >diff -u -r1.3 FilterResourceFileHandler.java >--- src-common-internal/org/eclipse/hyades/ui/filters/internal/util/FilterResourceFileHandler.java 4 Oct 2006 17:49:40 -0000 1.3 >+++ src-common-internal/org/eclipse/hyades/ui/filters/internal/util/FilterResourceFileHandler.java 25 Apr 2007 19:54:55 -0000 >@@ -13,7 +13,10 @@ > package org.eclipse.hyades.ui.filters.internal.util; > > import java.io.IOException; >+import java.io.InputStream; >+import java.io.OutputStream; > import java.util.Collections; >+import java.util.Map; > import java.util.Vector; > > import org.eclipse.emf.common.util.URI; >@@ -119,6 +122,37 @@ > CommonPlugin.logError(e); > } > } >+ public void save(OutputStream oStream,Map resourceMap) >+ { >+ try >+ { >+ if (_resource instanceof XMLResource) { >+ ((XMLResource)_resource).setEncoding("UTF-8"); >+ } >+ _resource.save(oStream,resourceMap); >+ >+ } catch (IOException e) { >+ CommonPlugin.logError(e); >+ } >+ } >+ public void load(InputStream is,Map resourceMap) >+ { >+ if (_resource == null) >+ { >+ restoreResource(); >+ } >+ else >+ { >+ try >+ { >+ unload(false); >+ _resource.load(is,resourceMap); >+ } >+ catch (IOException e) { >+ CommonPlugin.logError(e); >+ } >+ } >+ } > > public void load() > {
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