001: /*
002: * File : $Source: /usr/local/cvs/opencms/src/org/opencms/synchronize/CmsSynchronizeList.java,v $
003: * Date : $Date: 2008-02-27 12:05:52 $
004: * Version: $Revision: 1.14 $
005: *
006: * This library is part of OpenCms -
007: * the Open Source Content Management System
008: *
009: * Copyright (c) 2002 - 2008 Alkacon Software GmbH (http://www.alkacon.com)
010: *
011: * This library is free software; you can redistribute it and/or
012: * modify it under the terms of the GNU Lesser General Public
013: * License as published by the Free Software Foundation; either
014: * version 2.1 of the License, or (at your option) any later version.
015: *
016: * This library is distributed in the hope that it will be useful,
017: * but WITHOUT ANY WARRANTY; without even the implied warranty of
018: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
019: * Lesser General Public License for more details.
020: *
021: * For further information about Alkacon Software GmbH, please see the
022: * company website: http://www.alkacon.com
023: *
024: * For further information about OpenCms, please see the
025: * project website: http://www.opencms.org
026: *
027: * You should have received a copy of the GNU Lesser General Public
028: * License along with this library; if not, write to the Free Software
029: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
030: */
031:
032: package org.opencms.synchronize;
033:
034: import org.opencms.util.CmsDateUtil;
035:
036: import java.io.Serializable;
037:
038: /**
039: * Defines the CmsSynchronizeList object, used to store synchronisation data
040: * required to synchronize the VFS and the server FS.<p>
041: *
042: * @author Edna Falkenhan
043: * @author Michael Emmerich
044: *
045: * @version $Revision: 1.14 $
046: *
047: * @since 6.0.0
048: */
049: public class CmsSynchronizeList implements Serializable {
050:
051: /** Serial version UID required for safe serialization. */
052: private static final long serialVersionUID = -4460686435282590290L;
053:
054: /**
055: * Last modification data of this resource in the FS.
056: */
057: private long m_modifiedFs;
058:
059: /**
060: * Last modification date of this resouce in the VFS.
061: */
062: private long m_modifiedVfs;
063:
064: /**
065: * Name of the resource stored in the sync list.
066: */
067: private String m_resName;
068:
069: /**
070: * Name of the translated resource stored in the sync list.
071: * Its nescessary to translate the resource name, since the server FS does
072: * allow different
073: * naming conventions than the VFS.
074: */
075: private String m_transResName;
076:
077: /**
078: * Constructor, creates a new CmsSynchronizeList object.
079: *
080: * @param resName The name of the resource
081: * @param transResName The name of the resource
082: * @param modifiedVfs last modification date in the Vfs
083: * @param modifiedFs last modification date in the Fs
084: */
085: public CmsSynchronizeList(String resName, String transResName,
086: long modifiedVfs, long modifiedFs) {
087:
088: m_resName = resName;
089: m_transResName = transResName;
090: m_modifiedVfs = modifiedVfs;
091: m_modifiedFs = modifiedFs;
092: }
093:
094: /**
095: * Returns a format description of the sync-list file on the server FS.<p>
096: *
097: * @return format description
098: */
099: public static String getFormatDescription() {
100:
101: String output = "[original filename FS]:[translated filename VFS]";
102: output += ":[timestamp VFS]:[timestamp FS]";
103: output += ":[VFS=readable timestamp VFS]:[FS=readable timestamp FS]";
104: return output;
105: }
106:
107: /**
108: * Returns the last modification date in the Fs.
109: * @return last modification date in the Fs
110: */
111: public long getModifiedFs() {
112:
113: return m_modifiedFs;
114: }
115:
116: /**
117: * Returns the last modification date in the Vfs.
118: * @return last modification date in the Vfs
119: */
120: public long getModifiedVfs() {
121:
122: return m_modifiedVfs;
123: }
124:
125: /**
126: * Returns the name of the resource.
127: * @return name of the resource
128: */
129: public String getResName() {
130:
131: return m_resName;
132: }
133:
134: /**
135: * Returns the translated name of the resource.
136: * @return name of the resource
137: */
138: public String getTransResName() {
139:
140: return m_transResName;
141: }
142:
143: /**
144: * Returns a string-representation for this object. <p>
145: *
146: * This is used to create the sync list entries in the server FS
147: *
148: * @return string-representation for this object.
149: */
150: public String toString() {
151:
152: String output = m_resName + ":" + m_transResName + ":"
153: + m_modifiedVfs + ":" + m_modifiedFs;
154: output += ":VFS=" + CmsDateUtil.getDateTimeShort(m_modifiedVfs);
155: output += ":FS=" + CmsDateUtil.getDateTimeShort(m_modifiedFs);
156: return output;
157: }
158:
159: }
|