Jazz Forum Welcome to the Jazz Community Forum Connect and collaborate with IBM Engineering experts and users

RTC Plugin Development on Ubuntu

Hi

I need to develop some Java tools using the RTC Plan Java API. In order to get set up I started by following the instructions in Ralph Schoon's blog (http://rsjazz.wordpress.com/2013/02/28/setting-up-rational-team-concert-for-api-development/).

The blog suggests working through steps 1.1, 1.2 and 1.4 of the RTC Extensions workshop.
Step 1.1_3 (Install the Eclipse Client and a test server) fails at around step (f) because the web installer detects my unsupported Ubuntu 12.04 OS and declines to go any further.

I can see that I can develop using the Plain Java API without installing a test server - but the implication from the blog post is that it will be easier if I do, although at the moment I admit to not understanding the reasons for this.

So my questions are:

1) Will it actually run on Ubuntu? (I don't care about 'support' very much).
2) If so, does anyone one know the way to work around the Web Installer (I can see that there is a zip that looks as though it might include what I want).
3) If not, how much would I really gain from having a test server installed anyway? Enough for me to junk my Ubuntu install and try RedHat?

Thanks, Zoe


0 votes

Comments

you don't NEED to install ANOTHER server if you already have one. 

we generally suggest a separate instance so you can make mistakes and not screw up a production (or otherwise useful) server.  many things cannot be 'undone'. 



One answer

Permanent link
 you don't NEED to install ANOTHER server if you already have one. 
we generally suggest a separate instance so you can make mistakes and not screw up a production (or otherwise useful) server.  many things cannot be 'undone'. 

and the Plan apis still are not documented in 4.0.5

here is a little bit of code I wrote to find and list all the plans

<code>
import com.ibm.team.apt.internal.client.IIterationPlanClient; 
import com.ibm.team.apt.internal.client.IterationPlanClient; 
          IIterationPlanClient planClient = (IIterationPlanClient) 
          teamRepository .getClientLibrary(IIterationPlanClient.class); 
          

        URI uri = URI.create(projectAreaName.replaceAll(" ", "%20")); 

        IProjectArea iprja = null; 

        iprja = (IProjectArea) processClient.findProcessArea(uri, 
                    null, null); 
IIterationHandle cih = dl.getCurrentIteration(); 
          
          List<IIterationPlanRecordHandle> phandles = ((IterationPlanClient) 
          planClient) .fetchAllIterationPlans(ItemProfile.ITERATION_DEFAULT, null); 
          
          List<IAuditable> itall = auditableClient.fetchCurrentAuditables( phandles, ItemProfile 
          .createFullProfile(IIterationPlanRecord.ITEM_TYPE), null); 
          System.out.println(" there are " + phandles.size() + 
          " plans available and " + itall.size() + " records"); 
          
          int i; 
          for (i = itall.size() - 1; i >= 0; i--) 
          { 
           
           IIterationPlanRecord ipr = (IIterationPlanRecord) itall.get(i); 
           
           IProcessArea ipa = (IProcessArea) auditableClient.resolveAuditable( ipr.getOwner(),          
              ItemProfile .createFullProfile(IProcessArea.ITEM_TYPE), null); 
           System.out.println("looping thru the plans , item="+i + " name="+ipa.getName() + "iteration="+ipr.getName());
           IIteration it = (IIteration) auditableClient.resolveAuditable( ipr.getIteration(),          
                      ItemProfile .createFullProfile(IIteration.ITEM_TYPE), null); 
           if(it!=null)        
           System.out.println("iteration start="+it.getStartDate() + " end ="+it.getEndDate());
           
          // if the plan iteration matches the project timeline current // iteration 
          if (ipr.getIteration().sameItemId(cih)) 
          { // assume the top level team area is the same as the project 
         // name // 
         //IProgressInformation iiii =  planClient.fetchPlanProgress(phandles.get(i), null); // 
            //ResolvedIterationPlan kkk =  planClient.fetchIterationPlan(phandles.get(i), mine); 
         
         if (ipa.getName().equalsIgnoreCase(iprja.getName())) 
         { // 
          //System.out.println("can save="+kkk.canSavePlan()); 
          System.out.println("process name = " + ipa.getName()); 
          System.out.println("plan name=" + ipr.getName()); 
          System.out.println("\tproject area = " + iprja.getName()); break; 
         } 
          }    
                 
          } 
</code>

1 vote

Comments

 That's great - thanks Sam - I an now completely set set up. We have a test server to experiment with anyway. Since you are obviously developing code for the Plain Java API (thanks also for the code sample!) , do you favour any particular unit test framework? 

no. I have not automated any of my unit test.  


in my code above, dl is the developmentline (timeline) retrieved from the project area

Your answer

Register or log in to post your answer.

Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.

Search context
Follow this question

By Email: 

Once you sign in you will be able to subscribe for any updates here.

By RSS:

Answers
Answers and Comments
Question details
× 10,938

Question asked: Dec 13 '13, 12:02 p.m.

Question was seen: 4,304 times

Last updated: Dec 18 '13, 8:51 a.m.

Confirmation Cancel Confirm