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
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
One answer
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>
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
Comments
sam detweiler
Dec 13 '13, 1:43 p.m.you don't NEED to install ANOTHER server if you already have one.