package com.collabnet.ce.webservices; import com.collabnet.ce.soap50.webservices.cemain.ItemSoapDO; import com.collabnet.ce.soap50.webservices.docman.DocumentSoapDO; import com.collabnet.ce.soap50.webservices.docman.DocumentSoapRow; import com.collabnet.ce.soap50.webservices.docman.IDocumentAppSoap; import java.rmi.RemoteException; /** * @author Kohsuke Kawaguchi */ public class CTFDocument extends CTFItem { private final String description; public CTFDocument(CTFObject parent, DocumentSoapRow data) { super(parent, toItemSoapDO(data)); this.description = data.getDescription(); } public CTFDocument(CTFObject parent, DocumentSoapDO data) { super(parent, data); this.description = data.getDescription(); } private static ItemSoapDO toItemSoapDO(DocumentSoapRow data) { ItemSoapDO r = new ItemSoapDO(); r.setTitle(data.getTitle()); r.setId(data.getId()); // not sure how the rest of the parameters match up return r; } public String getDescription() { return description; } /** * Updates this document by a new file. */ public void update(CTFFile file) throws RemoteException { IDocumentAppSoap soap = app.getDocumentAppSoap(); DocumentSoapDO docData = soap.getDocumentData(app.getSessionId(), getId(), 0); soap.setDocumentData(app.getSessionId(), docData, file.getId()); } /** * Get the document's URL. * * @return an absolute URL to the document. */ public String getURL() { return app.getServerUrl() + "/sf/go/" + getId(); } }