Revision 19900 branches/v10/extensions/extPublish/src/org/gvsig/publish/serversmodel/Publication.java
Publication.java | ||
---|---|---|
43 | 43 |
import java.util.Observable; |
44 | 44 |
import java.util.Observer; |
45 | 45 |
|
46 |
import org.gvsig.publish.IPublishPersistence; |
|
46 | 47 |
import org.gvsig.publish.PublishLogger; |
47 | 48 |
import org.gvsig.publish.PublishRegister; |
48 | 49 |
import org.gvsig.publish.infoproject.IProjectInfo; |
49 | 50 |
|
50 |
import com.iver.utiles.IPersistance; |
|
51 | 51 |
import com.iver.utiles.XMLEntity; |
52 | 52 |
|
53 |
public class Publication extends Observable implements IPersistance, Observer {
|
|
53 |
public class Publication extends Observable implements IPublishPersistence, Observer {
|
|
54 | 54 |
|
55 |
|
|
56 | 55 |
/* |
57 |
* Relations
|
|
56 |
* Associations
|
|
58 | 57 |
*/ |
59 | 58 |
private Server server = null; |
60 | 59 |
private IProjectInfo iproject = null; |
... | ... | |
91 | 90 |
|
92 | 91 |
//init variables |
93 | 92 |
this.server = s; |
93 |
this.server.setProjectInfo(getProjectInfo()); |
|
94 | 94 |
|
95 | 95 |
//notify publication observers |
96 | 96 |
setChanged(); |
... | ... | |
135 | 135 |
*/ |
136 | 136 |
public XMLEntity getXMLEntity() { |
137 | 137 |
XMLEntity xml=new XMLEntity(); |
138 |
//put version |
|
139 |
xml.putProperty("className", getClassName()); |
|
138 |
//put version and name |
|
139 |
xml.setName(getClassName()); |
|
140 |
xml.putProperty("version", getVersion()); |
|
140 | 141 |
//put properties |
141 | 142 |
xml.putProperty("title", getTitle()); |
142 | 143 |
//TODO: check if getserver() is null |
... | ... | |
149 | 150 |
*/ |
150 | 151 |
public void setXMLEntity(XMLEntity xml) { |
151 | 152 |
//check version |
152 |
String classid = xml.getStringProperty("className"); |
|
153 |
if (!classid.equals(getClassName()) ){ |
|
153 |
int version = xml.getIntProperty("version"); |
|
154 |
if (version != getVersion()){ |
|
155 |
PublishLogger.getLog().error("ERROR: " + getVersion() + ": the version doesn't match!"); |
|
154 | 156 |
return; |
155 | 157 |
} |
156 | 158 |
//creates only the first server |
157 | 159 |
XMLEntity xmlChild=xml.getChild(0); |
158 |
Server s = PublishRegister.register().getServer(xmlChild.getStringProperty(Server.SERVER_TYPE_KEY)); |
|
160 |
String server_type = xmlChild.getStringProperty("registertag"); |
|
161 |
Server s = PublishRegister.register().getServer(server_type); |
|
159 | 162 |
if (s==null){ |
160 |
PublishLogger.getLog().error("ERROR Publication: I can't create the server from persistence");
|
|
163 |
PublishLogger.getLog().error("ERROR " + getVersion()+ ": I can't create the server from persistence");
|
|
161 | 164 |
}else{ |
162 | 165 |
s.setProjectInfo(iproject); |
163 | 166 |
s.setXMLEntity(xmlChild); |
164 | 167 |
setServer(s); |
165 | 168 |
} |
166 | 169 |
} |
170 |
/* |
|
171 |
* (non-Javadoc) |
|
172 |
* @see com.iver.utiles.IPersistance#getClassName() |
|
173 |
*/ |
|
167 | 174 |
public String getClassName() { |
168 |
return CLASSID_VALUE;
|
|
175 |
return "Publication";
|
|
169 | 176 |
} |
177 |
/* |
|
178 |
* (non-Javadoc) |
|
179 |
* @see org.gvsig.publish.IPublishPersistence#getVersion() |
|
180 |
*/ |
|
181 |
public int getVersion() { |
|
182 |
|
|
183 |
return 1; |
|
184 |
} |
|
170 | 185 |
} |
Also available in: Unified diff