001: /**
002: *
003: */package org.enhydra.dm.business;
004:
005: import java.math.BigDecimal;
006: import java.sql.Timestamp;
007:
008: import org.enhydra.dm.api.Document;
009: import org.enhydra.dm.api.DocumentVersion;
010: import org.enhydra.dm.api.FoDocument;
011: import org.enhydra.dm.api.exceptions.BaseException;
012: import org.enhydra.dm.business.exceptions.DatabaseException;
013: import org.enhydra.dm.data.DocumentVersionDO;
014: import org.enhydra.dm.data.FoDocumentDO;
015: import org.enhydra.dm.util.Numerator;
016:
017: /**
018: * Implementation of DocumentVersion interface.
019: *
020: * @author Slobodan Vujasinovic
021: */
022: public class DocumentVersionImpl implements DocumentVersion {
023:
024: private static final String DOCUMENTVERSION_NUMBER_COLUMN_NAME = "DOCUMENTVERSION";
025:
026: String id;
027:
028: String number;
029:
030: Document document = null;
031:
032: String lastModifiedBy = null;
033:
034: String filepath;
035:
036: long lastModifiedDate;
037:
038: String versionNumber;
039:
040: long versionDate;
041:
042: long size;
043:
044: FoDocument foDocumentRef = null;
045:
046: DocumentVersionImpl() {
047:
048: }
049:
050: public DocumentVersionImpl(DocumentVersionDO documentVersionDO)
051: throws BaseException {
052: try {
053: setId(documentVersionDO.get_Handle());
054: setFilepath(documentVersionDO.getFILEPATH());
055: setLastModifiedDate(documentVersionDO.getLASTMODIFIEDDATE()
056: .getTime());
057: setVersionNumber(documentVersionDO.getVERSIONNUMBER()
058: .toString());
059: setVersionDate(documentVersionDO.getVERSIONDATE().getTime());
060: setDocument(new DocumentImpl(documentVersionDO
061: .getDOCUMENTOID()));
062: setLastModifiedBy(documentVersionDO.getLASTMODIFIEDBY());
063:
064: setNumber(String.valueOf(documentVersionDO.getLOGNUM()));
065: FoDocumentDO foDocDO = documentVersionDO.getFODOCUMENTREF();
066: if (foDocDO != null) {
067: setFoDocumentRef(new FoDocumentImpl(foDocDO));
068: }
069: setSize(documentVersionDO.getSIZE().intValue());
070: } catch (Exception e) {
071: throw new DatabaseException(e);
072: }
073:
074: }
075:
076: public DocumentVersionDO createVersionDO() throws BaseException {
077: try {
078: DocumentVersionDO documentVersionDO = DocumentVersionDO
079: .createVirgin();
080: documentVersionDO.setVERSIONNUMBER(new BigDecimal(this
081: .getVersionNumber()));
082: documentVersionDO.setVERSIONDATE(new Timestamp(this
083: .getVersionDate()));
084: documentVersionDO.setFILEPATH(this .getFilepath());
085: documentVersionDO.setLASTMODIFIEDDATE(new Timestamp(this
086: .getLastModifiedDate()));
087: documentVersionDO.setSIZE(new BigDecimal(getSize()));
088: if (getFoDocumentRef() != null)
089: documentVersionDO
090: .oid_setFODOCUMENTREF(getFoDocumentRef()
091: .getId());
092: documentVersionDO.setLOGNUM(Numerator.getNext(
093: DOCUMENTVERSION_NUMBER_COLUMN_NAME).intValue());
094:
095: return documentVersionDO;
096: } catch (Exception e) {
097: throw new DatabaseException(e);
098: }
099: }
100:
101: public Document getDocument() {
102: return document;
103: }
104:
105: public void setDocument(Document document) {
106: this .document = document;
107: }
108:
109: public String getFilepath() {
110: return filepath;
111: }
112:
113: public void setFilepath(String filepath) {
114: this .filepath = filepath;
115: }
116:
117: public String getLastModifiedBy() {
118: return lastModifiedBy;
119: }
120:
121: public void setLastModifiedBy(String lastModifiedBy) {
122: this .lastModifiedBy = lastModifiedBy;
123: }
124:
125: public long getLastModifiedDate() {
126: return lastModifiedDate;
127: }
128:
129: public void setLastModifiedDate(long lastModifiedDate) {
130: this .lastModifiedDate = lastModifiedDate;
131: }
132:
133: public String getNumber() {
134: return number;
135: }
136:
137: public void setNumber(String number) {
138: this .number = number;
139: }
140:
141: public String getId() {
142: return id;
143: }
144:
145: public void setId(String id) {
146: this .id = id;
147: }
148:
149: public long getSize() {
150: return size;
151: }
152:
153: public void setSize(long size) {
154: this .size = size;
155: }
156:
157: public long getVersionDate() {
158: return versionDate;
159: }
160:
161: public void setVersionDate(long versionDate) {
162: this .versionDate = versionDate;
163: }
164:
165: public String getVersionNumber() {
166: return versionNumber;
167: }
168:
169: public void setVersionNumber(String versionNumber) {
170: this .versionNumber = versionNumber;
171: }
172:
173: public FoDocument getFoDocumentRef() {
174: return this .foDocumentRef;
175: }
176:
177: public void setFoDocumentRef(FoDocument foDocumentRef) {
178: this.foDocumentRef = foDocumentRef;
179: }
180:
181: }
|