Revision 3315 org.gvsig.vcsgis/trunk/org.gvsig.vcsgis/org.gvsig.vcsgis.lib/org.gvsig.vcsgis.lib.impl/src/main/java/org/gvsig/vcsgis/lib/workspace/tables/TopologyplanTable.java
TopologyplanTable.java | ||
---|---|---|
1 | 1 |
package org.gvsig.vcsgis.lib.workspace.tables; |
2 | 2 |
|
3 |
import org.gvsig.vcsgis.lib.repository.localdb.tables.*; |
|
3 |
import java.security.MessageDigest; |
|
4 |
import javax.json.JsonObject; |
|
5 |
import org.apache.commons.codec.binary.Hex; |
|
4 | 6 |
import org.gvsig.fmap.dal.DALLocator; |
5 | 7 |
import org.gvsig.fmap.dal.DataManager; |
6 | 8 |
import org.gvsig.fmap.dal.feature.EditableFeatureType; |
7 | 9 |
import org.gvsig.fmap.dal.feature.Feature; |
10 |
import org.gvsig.fmap.dal.feature.FeatureSet.DisposableFeatureSetIterable; |
|
8 | 11 |
import org.gvsig.fmap.dal.feature.FeatureStore; |
9 | 12 |
import org.gvsig.fmap.dal.feature.FeatureType; |
13 |
import org.gvsig.json.JsonObjectBuilder; |
|
10 | 14 |
import org.gvsig.tools.dataTypes.DataTypes; |
11 | 15 |
import org.gvsig.tools.dispose.DisposeUtils; |
16 |
import org.gvsig.vcsgis.lib.VCSGisTopologyPlan; |
|
17 |
import org.gvsig.vcsgis.lib.VCSGisTopologyPlanImpl; |
|
18 |
import static org.gvsig.vcsgis.lib.VCSGisUtils.updateMessageDigest; |
|
12 | 19 |
import org.gvsig.vcsgis.lib.workspace.VCSGisWorkspace; |
13 | 20 |
|
14 | 21 |
/** |
... | ... | |
16 | 23 |
* @author gvSIG Team |
17 | 24 |
*/ |
18 | 25 |
@SuppressWarnings("UseSpecificCatch") |
19 |
public class TopologyplanTable extends AbstractRepoTable {
|
|
26 |
public class TopologyplanTable extends AbstractTable { |
|
20 | 27 |
|
21 | 28 |
public static final String TABLE_NAME = "VCSGIS_TOPOLOGYPLANS"; |
22 | 29 |
|
... | ... | |
70 | 77 |
} |
71 | 78 |
} |
72 | 79 |
|
80 |
|
|
81 |
public String getHashCode(VCSGisWorkspace workspace) { |
|
82 |
FeatureStore store = null; |
|
83 |
DisposableFeatureSetIterable changes = null; |
|
84 |
try { |
|
85 |
MessageDigest md = MessageDigest.getInstance("MD5"); |
|
86 |
store = workspace.getFeatureStore(TABLE_NAME); |
|
87 |
changes = store.getFeatureSet().iterable(); |
|
88 |
for (Feature change : changes) { |
|
89 |
updateMessageDigest(md, change, COD_TOPOLOGYPLAN); |
|
90 |
updateMessageDigest(md, change, TOPPLAN_NAME); |
|
91 |
updateMessageDigest(md, change, TOPPLAN_DESCRIPTION); |
|
92 |
updateMessageDigest(md, change, TOPPLAN_DATA); |
|
93 |
} |
|
94 |
String hash = Hex.encodeHexString(md.digest()); |
|
95 |
return hash; |
|
96 |
} catch (Exception ex) { |
|
97 |
throw new RuntimeException("Can't retrieve hash of topology plans.", ex); |
|
98 |
} finally { |
|
99 |
DisposeUtils.dispose(changes); |
|
100 |
DisposeUtils.dispose(store); |
|
101 |
} |
|
102 |
} |
|
103 |
|
|
104 |
public static class TopologyPlanRow extends AbstractRow implements VCSGisTopologyPlan { |
|
105 |
|
|
106 |
public TopologyPlanRow(VCSGisWorkspace workspace) { |
|
107 |
super(workspace, TABLE_NAME, COD_TOPOLOGYPLAN); |
|
108 |
} |
|
109 |
|
|
110 |
public TopologyPlanRow(VCSGisWorkspace workspace, Feature feature) { |
|
111 |
super(workspace, TABLE_NAME, COD_TOPOLOGYPLAN, feature); |
|
112 |
} |
|
113 |
|
|
114 |
|
|
115 |
@Override |
|
116 |
public String getTopologyPlanCode() { |
|
117 |
return this.getString(COD_TOPOLOGYPLAN); |
|
118 |
} |
|
119 |
|
|
120 |
@Override |
|
121 |
public String getName() { |
|
122 |
return this.getString(TOPPLAN_NAME); |
|
123 |
} |
|
124 |
|
|
125 |
@Override |
|
126 |
public String getDescription() { |
|
127 |
return this.getString(TOPPLAN_DESCRIPTION); |
|
128 |
} |
|
129 |
|
|
130 |
@Override |
|
131 |
public String getData() { |
|
132 |
return this.getString(TOPPLAN_DATA); |
|
133 |
} |
|
134 |
|
|
135 |
@Override |
|
136 |
public String getLabel() { |
|
137 |
return this.getName(); |
|
138 |
} |
|
139 |
|
|
140 |
@Override |
|
141 |
public VCSGisTopologyPlan getValue() { |
|
142 |
return this; |
|
143 |
} |
|
144 |
|
|
145 |
@Override |
|
146 |
public void copyFrom(VCSGisTopologyPlan other) { |
|
147 |
this.set(COD_TOPOLOGYPLAN,other.getTopologyPlanCode()); |
|
148 |
this.set(TOPPLAN_NAME,other.getName()); |
|
149 |
this.set(TOPPLAN_DESCRIPTION,other.getDescription()); |
|
150 |
this.set(TOPPLAN_DATA,other.getData()); |
|
151 |
} |
|
152 |
|
|
153 |
@Override |
|
154 |
public JsonObject toJson() { |
|
155 |
return this.toJsonBuilder().build(); |
|
156 |
} |
|
157 |
|
|
158 |
@Override |
|
159 |
public JsonObjectBuilder toJsonBuilder() { |
|
160 |
return VCSGisTopologyPlanImpl.toJsonBuilder(this); |
|
161 |
} |
|
162 |
|
|
163 |
@Override |
|
164 |
public String toString() { |
|
165 |
return VCSGisTopologyPlanImpl.toString(this); |
|
166 |
} |
|
167 |
} |
|
73 | 168 |
} |
Also available in: Unified diff