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 75938 Details for
Bug 194954
BtM annotations
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 bug 194954
194954-patch.txt (text/plain), 23.05 KB, created by
Richard Y.S. HUANG
on 2007-08-13 02:20:17 EDT
(
hide
)
Description:
patch for bug 194954
Filename:
MIME Type:
Creator:
Richard Y.S. HUANG
Created:
2007-08-13 02:20:17 EDT
Size:
23.05 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.tptp.trace.arm.ui >Index: src/org/eclipse/tptp/trace/arm/ui/provisional/handler/ARMInstrumentHandler.java >=================================================================== >RCS file: /cvsroot/tptp/trace/org.eclipse.tptp.trace.arm.ui/src/org/eclipse/tptp/trace/arm/ui/provisional/handler/ARMInstrumentHandler.java,v >retrieving revision 1.3 >diff -u -r1.3 ARMInstrumentHandler.java >--- src/org/eclipse/tptp/trace/arm/ui/provisional/handler/ARMInstrumentHandler.java 16 Apr 2007 21:45:51 -0000 1.3 >+++ src/org/eclipse/tptp/trace/arm/ui/provisional/handler/ARMInstrumentHandler.java 10 Aug 2007 01:33:34 -0000 >@@ -137,32 +137,35 @@ > //return current instrument point > String instrumentPointId = launchconfiguration.getAttribute(InstrumentLaunchConfiguration.CURRENT_INSTRUMENT_POINT, (String)null); > if( instrumentPointId == null) >- return filterElement; >- >- //construct related key of instrument point filters >- String activeFilterKey = ArmConstants.ACTIVE_FILTER_PREFIX + instrumentPointId; >- String filterSetKey = ArmConstants.FILTER_SET_PREFIX + instrumentPointId + "_" + launchconfiguration.getName(); >- >- //retrieve filter set of current instrument point from internal cache >- Map filterSetMap = InstrumentSelectManager.getInstance().getFilterSet(filterSetKey); >- if (filterSetMap == null) { >- //save default filter set of current instrument point into internal cache >- String filterSetValue = ArmUtil.getInstrumentPointFilterSet(instrumentPointId); >- InstrumentSelectManager.getInstance().storeSelectionListInCache(filterSetKey, filterSetValue); >- } >- >- String activefilterSetId = launchconfiguration.getAttribute(activeFilterKey, (String)null); >- if( activefilterSetId == null) >- result = (FilterSetElement)InstrumentSelectManager.getInstance().getFilterSetCopy(filterSetKey).iterator().next(); >- else >- result = InstrumentSelectManager.getInstance().getFilterSetElement(filterSetKey, activefilterSetId); >- >- if (result == null) { > result = filterElement; >+ else{ >+ //construct related key of instrument point filters >+ String activeFilterKey = ArmConstants.ACTIVE_FILTER_PREFIX + instrumentPointId; >+ String filterSetKey = ArmConstants.FILTER_SET_PREFIX + instrumentPointId + "_" + launchconfiguration.getName(); >+ >+ //retrieve filter set of current instrument point from internal cache >+ Map filterSetMap = InstrumentSelectManager.getInstance().getFilterSet(filterSetKey); >+ if (filterSetMap == null) { >+ //save default filter set of current instrument point into internal cache >+ String filterSetValue = ArmUtil.getInstrumentPointFilterSet(instrumentPointId); >+ InstrumentSelectManager.getInstance().storeSelectionListInCache(filterSetKey, filterSetValue); >+ } >+ >+ String activefilterSetId = launchconfiguration.getAttribute(activeFilterKey, (String)null); >+ if( activefilterSetId == null) >+ result = (FilterSetElement)InstrumentSelectManager.getInstance().getFilterSetCopy(filterSetKey).iterator().next(); >+ else >+ result = InstrumentSelectManager.getInstance().getFilterSetElement(filterSetKey, activefilterSetId); >+ >+ if (result == null) { >+ result = filterElement; >+ } >+ >+ /* Combine the two list */ >+ result.getChildren().addAll(filterElement.getChildren()); > } >- >- /* Combine the two list */ >- result.getChildren().addAll(filterElement.getChildren()); >+ //append filter set element from BtM annotation to result filter set >+ InstrumentUtil.appendAnnotationToFilterSet(launchconfiguration, result); > > } catch (CoreException e) { > LogHelper.error(e); >#P org.eclipse.tptp.monitoring.instrumentation.ui >Index: src/org/eclipse/tptp/monitoring/instrumentation/ui/provisional/handler/CBEInstrumentHandler.java >=================================================================== >RCS file: /cvsroot/tptp/monitoring/org.eclipse.tptp.monitoring.instrumentation.ui/src/org/eclipse/tptp/monitoring/instrumentation/ui/provisional/handler/CBEInstrumentHandler.java,v >retrieving revision 1.3 >diff -u -r1.3 CBEInstrumentHandler.java >--- src/org/eclipse/tptp/monitoring/instrumentation/ui/provisional/handler/CBEInstrumentHandler.java 16 Mar 2007 18:32:27 -0000 1.3 >+++ src/org/eclipse/tptp/monitoring/instrumentation/ui/provisional/handler/CBEInstrumentHandler.java 10 Aug 2007 01:33:37 -0000 >@@ -232,29 +232,33 @@ > > /** > * return specific filter set element for CBE analysis type >- * @param filterElement default filter set element from data collection >+ * @param filterSetElement default filter set from data collection > * @param launchconfiguration launch configuration > * @param isProbekit flag whether is probekit type > * @return specific filter set element for CBE > */ >- private FilterSetElement getFilterSetElement(FilterSetElement filterElement,ILaunchConfiguration launchconfiguration, boolean isProbekit) { >+ private FilterSetElement getFilterSetElement(FilterSetElement filterSetElement,ILaunchConfiguration launchconfiguration, boolean isProbekit) { > FilterSetElement result = null; > > try { >- if (!launchconfiguration.getAttribute(InstrumentLaunchConfiguration.ENABLE_CBE_INSTRUMENT_FILTER_SET, false)) >- return filterElement; >- >- String filterSetId = launchconfiguration.getAttribute(InstrumentLaunchConfiguration.CBE_ACTIVE_INSTRUMENT_FILTER_SET, ""); >- String filterSetKey = InstrumentLaunchConfiguration.CBE_INSTRUMENT_FILTER_SET_KEY + "_" + launchconfiguration.getName(); >- result = InstrumentSelectManager.getInstance().getFilterSetElement(filterSetKey, filterSetId); >- >- if (result == null) >- result = filterElement; >- else if (isProbekit) { >- result.getChildren().addAll(InstrumentUtil.getFilterElementListByProbe(points)); >+ if (launchconfiguration.getAttribute(InstrumentLaunchConfiguration.ENABLE_CBE_INSTRUMENT_FILTER_SET, false)){ >+ String filterSetId = launchconfiguration.getAttribute(InstrumentLaunchConfiguration.CBE_ACTIVE_INSTRUMENT_FILTER_SET, ""); >+ String filterSetKey = InstrumentLaunchConfiguration.CBE_INSTRUMENT_FILTER_SET_KEY + "_" + launchconfiguration.getName(); >+ result = InstrumentSelectManager.getInstance().getFilterSetElement(filterSetKey, filterSetId); >+ >+ if (result == null) >+ result = filterSetElement; >+ else if (isProbekit) >+ result.getChildren().addAll(InstrumentUtil.getFilterElementListByProbe(points)); >+ >+ }else{ >+ result= filterSetElement; > } >+ //append filter set element from BtM annotation to result filter set >+ InstrumentUtil.appendAnnotationToFilterSet(launchconfiguration, result); >+ > } catch (CoreException e) { >- LogHelper.error(e); >+ LogHelper.error(e); > } > > return result; >Index: src/org/eclipse/tptp/monitoring/instrumentation/ui/provisional/handler/JmxInstrumentHandler.java >=================================================================== >RCS file: /cvsroot/tptp/monitoring/org.eclipse.tptp.monitoring.instrumentation.ui/src/org/eclipse/tptp/monitoring/instrumentation/ui/provisional/handler/JmxInstrumentHandler.java,v >retrieving revision 1.2 >diff -u -r1.2 JmxInstrumentHandler.java >--- src/org/eclipse/tptp/monitoring/instrumentation/ui/provisional/handler/JmxInstrumentHandler.java 16 Mar 2007 18:32:27 -0000 1.2 >+++ src/org/eclipse/tptp/monitoring/instrumentation/ui/provisional/handler/JmxInstrumentHandler.java 10 Aug 2007 01:33:37 -0000 >@@ -116,18 +116,23 @@ > FilterSetElement result = null; > > try { >- if (!launchconfiguration.getAttribute(InstrumentLaunchConfiguration.ENABLE_JMX_INSTRUMENT_FILTER_SET, false)) >- return filterElement; >- >- String filterSetId = launchconfiguration.getAttribute(InstrumentLaunchConfiguration.JMX_ACTIVE_INSTRUMENT_FILTER_SET, ""); >- String filterSetKey = InstrumentLaunchConfiguration.JMX_INSTRUMENT_FILTER_SET_KEY + "_" + launchconfiguration.getName(); >- result = InstrumentSelectManager.getInstance().getFilterSetElement(filterSetKey, filterSetId); >- >- if (result == null) >+ if (!launchconfiguration.getAttribute(InstrumentLaunchConfiguration.ENABLE_JMX_INSTRUMENT_FILTER_SET, false)){ > result = filterElement; >- else if (isProbekit) { >- result.getChildren().addAll(InstrumentUtil.getFilterElementListByProbe(points)); >+ }else{ >+ String filterSetId = launchconfiguration.getAttribute(InstrumentLaunchConfiguration.JMX_ACTIVE_INSTRUMENT_FILTER_SET, ""); >+ String filterSetKey = InstrumentLaunchConfiguration.JMX_INSTRUMENT_FILTER_SET_KEY + "_" + launchconfiguration.getName(); >+ result = InstrumentSelectManager.getInstance().getFilterSetElement(filterSetKey, filterSetId); >+ >+ if (result == null) >+ result = filterElement; >+ else if (isProbekit) { >+ result.getChildren().addAll(InstrumentUtil.getFilterElementListByProbe(points)); >+ } > } >+ >+ //append filter set element from BtM annotation to result filter set >+ InstrumentUtil.appendAnnotationToFilterSet(launchconfiguration, result); >+ > } catch (CoreException e) { > LogHelper.error(e); > } >#P org.eclipse.tptp.platform.instrumentation.ui >Index: src/org/eclipse/tptp/platform/instrumentation/ui/internal/util/InstrumentUtil.java >=================================================================== >RCS file: /cvsroot/tptp/platform/org.eclipse.tptp.platform.instrumentation.ui/src/org/eclipse/tptp/platform/instrumentation/ui/internal/util/InstrumentUtil.java,v >retrieving revision 1.21 >diff -u -r1.21 InstrumentUtil.java >--- src/org/eclipse/tptp/platform/instrumentation/ui/internal/util/InstrumentUtil.java 31 May 2007 20:38:14 -0000 1.21 >+++ src/org/eclipse/tptp/platform/instrumentation/ui/internal/util/InstrumentUtil.java 10 Aug 2007 01:33:41 -0000 >@@ -17,7 +17,10 @@ > import java.io.FileOutputStream; > import java.io.IOException; > import java.io.InputStream; >+import java.lang.reflect.Method; >+import java.net.MalformedURLException; > import java.net.URL; >+import java.net.URLClassLoader; > import java.net.URLConnection; > import java.util.ArrayList; > import java.util.Arrays; >@@ -34,8 +37,6 @@ > import org.eclipse.core.resources.IContainer; > import org.eclipse.core.resources.IFile; > import org.eclipse.core.resources.IFolder; >-import org.eclipse.core.resources.IProject; >-import org.eclipse.core.resources.IProjectDescription; > import org.eclipse.core.resources.IResource; > import org.eclipse.core.resources.IWorkspaceRoot; > import org.eclipse.core.resources.ResourcesPlugin; >@@ -46,12 +47,12 @@ > import org.eclipse.core.runtime.Platform; > import org.eclipse.debug.core.ILaunchConfiguration; > import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy; >-import org.eclipse.hyades.trace.internal.ui.TraceConstants; > import org.eclipse.hyades.trace.ui.UIPlugin; > import org.eclipse.hyades.trace.ui.internal.launcher.IProfileLaunchConfigurationConstants; > import org.eclipse.hyades.trace.ui.internal.util.FilterSetElement; > import org.eclipse.hyades.trace.ui.internal.util.FilterTableElement; > import org.eclipse.jdt.core.Flags; >+import org.eclipse.jdt.core.ICompilationUnit; > import org.eclipse.jdt.core.IJavaElement; > import org.eclipse.jdt.core.IJavaModel; > import org.eclipse.jdt.core.IJavaProject; >@@ -63,6 +64,7 @@ > import org.eclipse.jdt.core.JavaModelException; > import org.eclipse.jdt.core.dom.Statement; > import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants; >+import org.eclipse.jdt.launching.JavaRuntime; > import org.eclipse.jdt.ui.jarpackager.JarPackageData; > import org.eclipse.jface.preference.IPreferenceStore; > import org.eclipse.jface.text.IRegion; >@@ -71,6 +73,8 @@ > import org.eclipse.tptp.platform.instrumentation.ui.internal.InstrumentConstants; > import org.eclipse.tptp.platform.instrumentation.ui.internal.InstrumentUIPlugin; > import org.eclipse.tptp.platform.instrumentation.ui.internal.LogHelper; >+import org.eclipse.tptp.platform.instrumentation.ui.internal.annotation.Filter; >+import org.eclipse.tptp.platform.instrumentation.ui.internal.annotation.Instrumentation; > import org.eclipse.tptp.platform.instrumentation.ui.internal.core.InstrumentPoint; > import org.eclipse.tptp.platform.instrumentation.ui.internal.core.InstrumentSelectManager; > import org.eclipse.tptp.platform.instrumentation.ui.internal.launcher.deleg.application.InstrumentLaunchConfiguration; >@@ -871,4 +875,140 @@ > } > return result; > } >+ >+ /** >+ * Convert annotation info to Filter element, then append it to filter element set >+ * ARM,CBE and JMX handler class will used these filter set to generate specific >+ * instrumentation file sent to AC to profile. >+ * >+ * @param configuration launch configuration >+ * @param filterSetElement filter element set >+ */ >+ public static void appendAnnotationToFilterSet(ILaunchConfiguration configuration,FilterSetElement filterSetElement) throws CoreException { >+ List annotationInfoList = configuration.getAttribute( >+ InstrumentLaunchConfiguration.ATTR_ANNOTATION_LIST, new ArrayList()); >+ for (int i = 0; i < annotationInfoList.size(); i++) { >+ String annoationInfo = (String) annotationInfoList.get(i); >+ if (annoationInfo == null || annoationInfo.length() < 1) >+ continue; >+ // AnnotationInfo will follow pattern: >+ // PACKAGE_NAME;CLASS_NAME;METHOD_NAME;FILTER >+ String[] filterInfoFields = annoationInfo.split(";"); >+ InstrumentFilterTableElement filterElement = new InstrumentFilterTableElement( >+ filterInfoFields[1], filterInfoFields[2], >+ filterInfoFields[3], filterInfoFields[0]); >+ if (Filter.INCLUDE.toString().equals(filterInfoFields[3])) {// instrument filter field >+ filterSetElement.getChildren().add(0, filterElement); >+ } else { >+ List filterList = filterSetElement.getChildren(); >+ for (int j = 0; j < filterList.size(); j++) { >+ InstrumentFilterTableElement element = (InstrumentFilterTableElement) filterList.get(j); >+ // insert annotation exclude filter in front of the first exclude filter element >+ if (Filter.EXCLUDE.toString().equals(element.getVisibility())) { >+ filterList.add(j, filterElement); >+ break; >+ } >+ } >+ } >+ } >+ } >+ >+ /** >+ * handle BtM annotation information from user java project and save these annotation info to launch configuration >+ * @param configuration The launch configuration >+ */ >+ public static void handleAnnotation( >+ ILaunchConfigurationWorkingCopy configuration) throws CoreException { >+ // first we must clear annotation list information in launchConfiguration >+ configuration.setAttribute(InstrumentLaunchConfiguration.ATTR_ANNOTATION_LIST,(List) null); >+ >+ // get user java project >+ IJavaProject javaProject = getJavaProject(configuration); >+ >+ // get class loader used to load user project class >+ ClassLoader loader = getProjectClassLoader(javaProject); >+ if (loader == null) >+ return; >+ >+ List cuList = new ArrayList(getCompilationUnitList(javaProject)); >+ List aa = new ArrayList(); >+ for (int i = 0; i < cuList.size(); i++) { >+ ICompilationUnit cu = (ICompilationUnit) cuList.get(i); >+ String packageName = cu.getPackageDeclarations()[0].getElementName(); >+ String className = cu.getElementName(); >+ className = className.substring(0, className.lastIndexOf(".java")); >+ String qualifiedClassName = packageName + "." + className; >+ try { >+ Class userClass = loader.loadClass(qualifiedClassName); >+ Instrumentation classAnnotation = (Instrumentation) userClass.getAnnotation(Instrumentation.class); >+ if (classAnnotation != null) >+ aa.add(populateAnnonationString(userClass, "*", classAnnotation)); >+ Method[] methods = userClass.getDeclaredMethods(); >+ for (int j = 0; j < methods.length; j++) { >+ Instrumentation methodAnnotation = methods[j].getAnnotation(Instrumentation.class); >+ if (methodAnnotation != null) >+ aa.add(populateAnnonationString(userClass, methods[j].getName(), methodAnnotation)); >+ } >+ } catch (ClassNotFoundException e) { >+ LogHelper.error(e); >+ } >+ } >+ // save all filter set element extracted from Btm Annotation to LaunchConfiguration >+ if (aa.size() > 0) >+ configuration.setAttribute(InstrumentLaunchConfiguration.ATTR_ANNOTATION_LIST, aa); >+ } >+ >+ /** >+ * populate annotation info to specific format as the follow: >+ * PACKAGE_NAME;CLASS_NAME;METHOD_NAME;FILTER_INCLUDE_EXCLUDE. >+ * >+ * Since <code>ILaunchConfiguration</code> only store object value contain String, >+ * here convert Annotation info to String format. >+ * >+ * @param clz class name contains BtM annotation info >+ * @param methodName method name >+ * @param btmAnnotation BtM annotation info >+ * @return assemble string contains annotation info >+ */ >+ private static String populateAnnonationString(Class cl, String methodName, Instrumentation btmAnnotation) { >+ >+ StringBuffer bf = new StringBuffer(); >+ if (btmAnnotation == null) >+ return ""; >+ >+ bf.append(cl.getPackage().getName()).append(";"); >+ bf.append(cl.getSimpleName()).append(";"); >+ bf.append(methodName).append(";"); >+ bf.append(btmAnnotation.value()); >+ >+ return bf.toString(); >+ >+ } >+ >+ /** >+ * get the <code>ClassLoader</code> of java project specified >+ * >+ * this ClassLoader is used to load user project class and BtM annotation definition >+ * class. >+ * >+ * @param project <code>IJavaProject</code> >+ * @return <code>ClassLoader</code> of java project >+ * @throws CoreException >+ */ >+ private static ClassLoader getProjectClassLoader(IJavaProject project)throws CoreException { >+ //compute the project classpaths >+ String[] classPaths = JavaRuntime.computeDefaultRuntimeClassPath(project); >+ >+ URL[] urls; >+ try { >+ urls = new URL[classPaths.length]; >+ for (int i = 0; i < classPaths.length; i++) { >+ urls[i] = new File(classPaths[i]).toURL(); >+ } >+ } catch (MalformedURLException e) { >+ return null; >+ } >+ >+ return new URLClassLoader(urls, Thread.currentThread().getContextClassLoader()); >+ } > } >Index: src/org/eclipse/tptp/platform/instrumentation/ui/internal/launcher/deleg/application/InstrumentDelegateHelper.java >=================================================================== >RCS file: /cvsroot/tptp/platform/org.eclipse.tptp.platform.instrumentation.ui/src/org/eclipse/tptp/platform/instrumentation/ui/internal/launcher/deleg/application/InstrumentDelegateHelper.java,v >retrieving revision 1.30 >diff -u -r1.30 InstrumentDelegateHelper.java >--- src/org/eclipse/tptp/platform/instrumentation/ui/internal/launcher/deleg/application/InstrumentDelegateHelper.java 22 May 2007 18:57:27 -0000 1.30 >+++ src/org/eclipse/tptp/platform/instrumentation/ui/internal/launcher/deleg/application/InstrumentDelegateHelper.java 10 Aug 2007 01:33:40 -0000 >@@ -102,6 +102,9 @@ > FilterSetElement filterSetElement = InstrumentUtil.getActiveFilterSetElement(configuration); > ILaunchConfigurationWorkingCopy workingCopy = configuration.getWorkingCopy(); > >+ //process BtM annotation from user java file >+ InstrumentUtil.handleAnnotation(workingCopy); >+ > /* Create Project and Model */ > createModelEntities(configuration); > >Index: src/org/eclipse/tptp/platform/instrumentation/ui/internal/launcher/deleg/application/InstrumentLaunchConfiguration.java >=================================================================== >RCS file: /cvsroot/tptp/platform/org.eclipse.tptp.platform.instrumentation.ui/src/org/eclipse/tptp/platform/instrumentation/ui/internal/launcher/deleg/application/InstrumentLaunchConfiguration.java,v >retrieving revision 1.10 >diff -u -r1.10 InstrumentLaunchConfiguration.java >--- src/org/eclipse/tptp/platform/instrumentation/ui/internal/launcher/deleg/application/InstrumentLaunchConfiguration.java 16 Apr 2007 21:09:11 -0000 1.10 >+++ src/org/eclipse/tptp/platform/instrumentation/ui/internal/launcher/deleg/application/InstrumentLaunchConfiguration.java 10 Aug 2007 01:33:40 -0000 >@@ -89,5 +89,7 @@ > public static final String ENABLE_JMX_INSTRUMENT_FILTER_SET = InstrumentUIPlugin.PLUGIN_ID + ".ENABLE_JMX_INSTRUMENT_FILTER_SET"; > public static final String JMX_INSTRUMENT_FILTER_SET_KEY = InstrumentUIPlugin.PLUGIN_ID + ".JMX_INSTRUMENT_FILTER_SETS_KEY"; > public static final String JMX_ACTIVE_INSTRUMENT_FILTER_SET = InstrumentUIPlugin.PLUGIN_ID + ".JMX_ACTIVE_INSTRUMENT_FILTER_SET"; >+ >+ public static final String ATTR_ANNOTATION_LIST = InstrumentUIPlugin.PLUGIN_ID + ".ATTR_ANNOTATION_LIST"; > > } >Index: src/org/eclipse/tptp/platform/instrumentation/ui/internal/annotation/Filter.java >=================================================================== >RCS file: src/org/eclipse/tptp/platform/instrumentation/ui/internal/annotation/Filter.java >diff -N src/org/eclipse/tptp/platform/instrumentation/ui/internal/annotation/Filter.java >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ src/org/eclipse/tptp/platform/instrumentation/ui/internal/annotation/Filter.java 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,21 @@ >+/********************************************************************** >+ * Copyright (c) 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 >+ * >+ * Contributors: >+ * IBM - Initial API and implementation >+ ***********************************************************************/ >+package org.eclipse.tptp.platform.instrumentation.ui.internal.annotation; >+ >+/** >+ * BtM instrumentation filter definition >+ * >+ * @since TPTP 4.4.1 >+ */ >+public enum Filter { >+ INCLUDE, >+ EXCLUDE >+} >Index: src/org/eclipse/tptp/platform/instrumentation/ui/internal/annotation/Instrumentation.java >=================================================================== >RCS file: src/org/eclipse/tptp/platform/instrumentation/ui/internal/annotation/Instrumentation.java >diff -N src/org/eclipse/tptp/platform/instrumentation/ui/internal/annotation/Instrumentation.java >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ src/org/eclipse/tptp/platform/instrumentation/ui/internal/annotation/Instrumentation.java 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,28 @@ >+/********************************************************************** >+ * Copyright (c) 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 >+ * >+ * Contributors: >+ * IBM - Initial API and implementation >+ ***********************************************************************/ >+package org.eclipse.tptp.platform.instrumentation.ui.internal.annotation; >+ >+import java.lang.annotation.ElementType; >+import java.lang.annotation.Retention; >+import java.lang.annotation.RetentionPolicy; >+import java.lang.annotation.Target; >+ >+/** >+ * Annotation definition for BtM >+ * >+ * @since TPTP 4.4.1 >+ */ >+@Retention(RetentionPolicy.RUNTIME) >+@Target( { ElementType.TYPE, ElementType.METHOD,ElementType.CONSTRUCTOR }) >+public @interface Instrumentation { >+ /** define whether included or excluded */ >+ public Filter value() default Filter.INCLUDE; >+}
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 194954
:
75938
|
87495
|
87496