Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 194954

Summary: BtM annotations
Product: z_Archived Reporter: David Skeen <dskeen>
Component: TPTPAssignee: Richard Y.S. HUANG <huangys>
Status: CLOSED FIXED QA Contact:
Severity: enhancement    
Priority: P1 CC: analexee, apnan, ewchan, huangys, jcayne, jkubasta, linqingw, mmings, paulslau, sluiman
Version: unspecifiedKeywords: plan
Target Milestone: ---Flags: paulslau: review-
ewchan: review-
Hardware: All   
OS: All   
URL: http://www.eclipse.org/tptp/groups/Architecture/documents/features/hf_194954.htm
Whiteboard: closed460
Bug Depends on: 216391    
Bug Blocks:    
Attachments:
Description Flags
patch for bug 194954
none
the new plug-in project in zip: org.eclipse.tptp.platform.instrumentation.annotation
none
new patch for 194954 none

Description David Skeen CLA 2007-06-29 14:55:55 EDT
Support the use of Java 5 annotations to add ARM, JMX, or CBE instrumentation.
Comment 1 Richard Y.S. HUANG CLA 2007-08-13 02:20:17 EDT
Created attachment 75938 [details]
patch for bug 194954

Matt, please help submit into cvs. Thanks!
Comment 2 Matt Mings CLA 2007-08-13 10:48:01 EDT
Add design document per Richard.
Comment 3 Paul Slauenwhite CLA 2007-10-04 11:51:55 EDT
Approved by the AG.

As noted in the Description Document, this feature will only optionally require JRE 1.5.x.  Test sizing is too low since this feature requires testing in both JRE 1.4.x and 1.5.x.  The documentation sizing is too low since this feature requires a published list of annotations.  Please update the test and documentation sizings in the Description Document (PW) and Bugzilla (PH).
Comment 4 Paul Slauenwhite CLA 2007-10-21 21:14:42 EDT
(In reply to comment #3)

For TPTP 4.5.
Comment 5 Alex Nan CLA 2007-11-15 21:52:10 EST
Setting priority to P1.
Comment 6 Richard Y.S. HUANG CLA 2008-01-22 05:01:23 EST
Created attachment 87495 [details]
the new plug-in project in zip: org.eclipse.tptp.platform.instrumentation.annotation
Comment 7 Richard Y.S. HUANG CLA 2008-01-22 05:02:42 EST
Created attachment 87496 [details]
new patch for 194954
Comment 8 Richard Y.S. HUANG CLA 2008-01-22 05:07:02 EST
Joanna,

I created two attachments for this defect. The zip file is the new plug-in project "org.eclipse.tptp.platform.instrumentation.annotation". Please import it to your local Eclipse environment and then check it into CVS. This new plug-in must be built on Java 5 or higher level due to the annotation technology.

The txt file is the patch for all existing three UI projects.
Comment 9 Harm Sluiman CLA 2008-01-22 08:19:33 EST
(In reply to comment #8)
> Joanna,
> 
> I created two attachments for this defect. The zip file is the new plug-in
> project "org.eclipse.tptp.platform.instrumentation.annotation". Please import
> it to your local Eclipse environment and then check it into CVS. This new
> plug-in must be built on Java 5 or higher level due to the annotation
> technology.
> 
> The txt file is the patch for all existing three UI projects.
> 

Richard, this is not how code gets checked in. First Joanna is not the trace project lead. The code should be incrementally developed in the open. I believe you have committer status and should know this. If this code has not been developed in the open then it will need to go through the normal "significant" contribution process of your employer and then the foundation.

Please work with the newly nominated trace project lead Alex A. and the releng team (Joel) to integrate the new code, plugin and build process changes needed.
Comment 10 Richard Y.S. HUANG CLA 2008-01-22 08:34:22 EST
(In reply to comment #9)
> 
> Richard, this is not how code gets checked in. First Joanna is not the trace
> project lead. The code should be incrementally developed in the open. I believe
> you have committer status and should know this. If this code has not been
> developed in the open then it will need to go through the normal "significant"
> contribution process of your employer and then the foundation.
> 
> Please work with the newly nominated trace project lead Alex A. and the releng
> team (Joel) to integrate the new code, plugin and build process changes needed.
> 
Yes, I'm a committer now, but I don't have access permissions to the Platform component. Most source code of this defect is in Platform component. So I have to ask help from Joanna.
Comment 11 Harm Sluiman CLA 2008-01-22 09:29:35 EST
In that case, I suggest you open dependent bugzillas for the components not in the trace project and work with those component owners via those bugzilla, and use this "trace" component for the trace related activities. Perhaps this enhancement should simply be targeted to a different component or maybe the code should be in a trace package rather than in the platform. I am just suggesting a review.

It also appears that you are introducing new API with the Filter and Instrumentation classes since they are not internal. API needs to be provisional first and I suggest these be reviewed by Paul and Eugene as well.
Comment 12 Eugene Chan CLA 2008-01-23 11:39:21 EST
Hi Richard, I have reviewed the patch and I have the following suggestion:

1. As mentioned by Harm, please rename pacakge
org.eclipse.tptp.platform.instrumentation.annotation to 
org.eclipse.tptp.platform.instrumentation.annotation.provisional
This is introduction of new API and they should be set provisional for now.
Please also update the copyright statements with year 2008.

2. Work with the release engineering team to check in plug-in (upon approval)
org.eclipse.tptp.platform.instrumentation.annotation
and make sure you stay the requirement of ExecutionEnvironment: J2SE-1.5

3. Open sub defects to address the patch on different sub-project, and link them with this enhancement as dependencies:
-Platform project for org.eclipse.tptp.platform.instrumentation.ui
-Monitoring project for org.eclipse.tptp.monitoring.instrumentation.ui 
-Trace project for org.eclipse.tptp.trace.arm.ui (I suppose you can keep using this bugzilla for the trace plug-in)

Overall, the code changes are good to me. You just have to get all the approvals and I can help you check in the patches.
Comment 13 Paul Slauenwhite CLA 2008-01-23 12:12:36 EST
Reviewed and in addition to Eugene's comments:

-The version number for the new plug-in should be 4.5.0.qualifier (missing the .qualifier).

-The version numbers for the plug-ins should following the Eclipse versioning guidelines (http://wiki.eclipse.org/index.php/Version_Numbering).  For example, 4.3.100.qualifier moves to 4.4.0.qualifier if a new API has been introduced or 4.3.100.qualifier moves to 4.3.200.qualifier if a bug has been fixed.

-Make sure the copyright dates are current for 2008 (e.g. org.eclipse.tptp.platform.instrumentation.annotation.internal.util.AnnotationUtil).

-Is the compile order of btm-annotation.jar and btm-annotation-util.jar correct (see org.eclipse.tptp.platform.instrumentation.annotation\build.properties)?  For example, does btm-annotation.jar depend on btm-annotation-util.jar?  If so, switch the order so is does not break the build.  Also, remove source.btm-annotation.jar = src/ from that file.  After a closer inspection, the two source trees look like duplicates.  You may need to remove one of the source trees from the plug-in, .classpath, and build.properties.

-In the manifest.mf, you are exporting:

org.eclipse.tptp.platform.instrumentation.annotation
org.eclipse.tptp.platform.instrumentation.annotation.internal.util  

The first one does not contain any classes and the second one is internal.  Should it be exported?

Comment 14 Richard Y.S. HUANG CLA 2008-01-24 06:48:05 EST
This bug is only for the ARM part of BtM.

A new bug has been created for JMX and CBE parts of BtM: #216420

And another new bug has been created for the base support: #216391
Comment 15 Eugene Chan CLA 2008-01-24 17:27:09 EST
Richard, I note that your new plugin is 
Bundle-RequiredExecutionEnvironment: J2SE-1.5
but plugins that depends on it are 
Bundle-RequiredExecutionEnvironment: J2SE-1.4
This sounds like a problem to me.

Please work with Joel and make sure this won't break the build and use cases.
Comment 16 Richard Y.S. HUANG CLA 2008-02-01 04:24:52 EST
code checked into HEAD
Comment 17 Paul Slauenwhite CLA 2009-06-30 12:16:03 EDT
As of TPTP 4.6.0, TPTP is in maintenance mode and focusing on improving quality by resolving relevant enhancements/defects and increasing test coverage through test creation, automation, Build Verification Tests (BVTs), and expanded run-time execution. As part of the TPTP Bugzilla housecleaning process (see http://wiki.eclipse.org/Bugzilla_Housecleaning_Processes), this enhancement/defect is verified/closed by the Project Lead since this enhancement/defect has been resolved and unverified for more than 1 year and considered to be fixed. If this enhancement/defect is still unresolved and reproducible in the latest TPTP release (http://www.eclipse.org/tptp/home/downloads/), please re-open.