001: package org.contineo.web.document;
002:
003: import org.apache.commons.logging.Log;
004: import org.apache.commons.logging.LogFactory;
005:
006: import org.contineo.core.document.Document;
007: import org.contineo.core.document.Version;
008: import org.contineo.core.document.dao.DocumentDAO;
009:
010: import org.contineo.util.Context;
011:
012: import org.contineo.web.SessionManagement;
013: import org.contineo.web.i18n.Messages;
014:
015: import java.util.Date;
016:
017: import javax.faces.application.Application;
018: import javax.faces.context.FacesContext;
019:
020: /**
021: * Base form for version editingo
022: *
023: * @author Marco Meschieri
024: * @version $Id: VersionEditForm.java,v 1.2 2006/09/03 16:24:37 marco Exp $
025: * @since 3.0
026: */
027: public class VersionEditForm {
028: protected static Log log = LogFactory.getLog(DocumentRecord.class);
029: private String version;
030: private String author;
031: private Date date;
032: private String comment;
033: private VersionsRecordsManager versionsManager;
034:
035: public void init(VersionRecord version) {
036: this .version = version.getVersion();
037: this .date = version.getDate();
038: this .author = version.getVersionUser();
039: this .comment = version.getVersionComment();
040: }
041:
042: public String getAuthor() {
043: return author;
044: }
045:
046: public void setAuthor(String author) {
047: this .author = author;
048: }
049:
050: public Date getDate() {
051: return date;
052: }
053:
054: public void setDate(Date date) {
055: this .date = date;
056: }
057:
058: public String getComment() {
059: return comment;
060: }
061:
062: public void setComment(String desdcription) {
063: this .comment = desdcription;
064: }
065:
066: public String getVersion() {
067: return version;
068: }
069:
070: public void setVersion(String version) {
071: this .version = version;
072: }
073:
074: public String update() {
075: FacesContext facesContext = FacesContext.getCurrentInstance();
076:
077: // Show the proper panel
078: Application application = facesContext.getApplication();
079: Document doc = versionsManager.getSelectedDocument();
080:
081: if (SessionManagement.isValid()) {
082: try {
083: DocumentDAO ddao = (DocumentDAO) Context.getInstance()
084: .getBean(DocumentDAO.class);
085: Version version = doc.getVersion(getVersion());
086: version.setVersionComment(getComment());
087:
088: boolean stored = ddao.store(doc);
089:
090: if (!stored) {
091: Messages
092: .addLocalizedError("errors.action.changeversion");
093: } else {
094: Messages.addLocalizedInfo(Messages
095: .getMessage("msg.action.changeversion"));
096: }
097: } catch (Exception e) {
098: log.error(e.getMessage(), e);
099: Messages
100: .addLocalizedError("errors.action.changeversion");
101: }
102: } else {
103: return "login";
104: }
105:
106: versionsManager.backToList();
107:
108: return null;
109: }
110:
111: public void setVersionsManager(
112: VersionsRecordsManager versionsManager) {
113: this.versionsManager = versionsManager;
114: }
115: }
|