package com.collabnet.ce.webservices; import com.collabnet.ce.soap50.webservices.frs.PackageSoapDO; import com.collabnet.ce.soap50.webservices.frs.PackageSoapRow; import com.collabnet.ce.soap50.webservices.frs.ReleaseSoapRow; import java.rmi.RemoteException; import java.util.ArrayList; import java.util.List; /** * @author Kohsuke Kawaguchi */ public class CTFPackage extends CTFFolder { CTFPackage(CTFObject parent, PackageSoapDO data) { super(parent,data); } CTFPackage(CTFObject parent, PackageSoapRow data) { super(parent, data); } /** * Deletes this package. */ public void delete() throws RemoteException { app.getFrsAppSoap().deletePackage(app.getSessionId(),getId()); } public CTFRelease createRelease(String title, String description, String status, String maturity) throws RemoteException { return new CTFRelease(this,app.getFrsAppSoap().createRelease(app.getSessionId(),getId(),title,description,status,maturity)); } /** * Finds a release by its title, or return null if not found. */ public CTFRelease getReleaseByTitle(String title) throws RemoteException { for (CTFRelease p : getReleases()) if (p.getTitle().equals(title)) return p; return null; } public List<CTFRelease> getReleases() throws RemoteException { List<CTFRelease> r = new ArrayList<CTFRelease>(); for (ReleaseSoapRow row : app.getFrsAppSoap().getReleaseList(app.getSessionId(), getId()).getDataRows()) { r.add(new CTFRelease(this,row)); } return r; } }