Revision 44304 trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.db/org.gvsig.fmap.dal.db.jdbc/src/main/java/org/gvsig/fmap/dal/store/jdbc2/spi/JDBCResourcesStorage.java
JDBCResourcesStorage.java | ||
---|---|---|
14 | 14 |
import org.gvsig.expressionevaluator.ExpressionUtils; |
15 | 15 |
import org.gvsig.fmap.dal.DALLocator; |
16 | 16 |
import org.gvsig.fmap.dal.DataManager; |
17 |
import static org.gvsig.fmap.dal.DataManager.RESOURCES_FIELD_NAME;
|
|
18 |
import static org.gvsig.fmap.dal.DataManager.RESOURCES_FIELD_RESOURCE;
|
|
19 |
import static org.gvsig.fmap.dal.DataManager.RESOURCES_TABLE_NAME;
|
|
17 |
import static org.gvsig.fmap.dal.DatabaseWorkspaceManager.FIELD_RESOURCES_NAME;
|
|
18 |
import static org.gvsig.fmap.dal.DatabaseWorkspaceManager.FIELD_RESOURCES_RESOURCE;
|
|
19 |
import static org.gvsig.fmap.dal.DatabaseWorkspaceManager.TABLE_RESOURCES_NAME;
|
|
20 | 20 |
import org.gvsig.fmap.dal.feature.EditableFeature; |
21 | 21 |
import org.gvsig.fmap.dal.feature.Feature; |
22 | 22 |
import org.gvsig.fmap.dal.feature.FeatureStore; |
... | ... | |
107 | 107 |
); |
108 | 108 |
ExpressionBuilder builder = ExpressionUtils.createExpressionBuilder(); |
109 | 109 |
String filter = builder.eq( |
110 |
builder.column(RESOURCES_FIELD_NAME),
|
|
110 |
builder.column(FIELD_RESOURCES_NAME),
|
|
111 | 111 |
builder.constant(this.tableName+"/"+this.name) |
112 | 112 |
).toString(); |
113 | 113 |
Feature feature = store.findFirst(filter); |
... | ... | |
134 | 134 |
); |
135 | 135 |
ExpressionBuilder builder = ExpressionUtils.createExpressionBuilder(); |
136 | 136 |
String filter = builder.eq( |
137 |
builder.column(RESOURCES_FIELD_NAME),
|
|
137 |
builder.column(FIELD_RESOURCES_NAME),
|
|
138 | 138 |
builder.constant(this.tableName+"/"+this.name) |
139 | 139 |
).toString(); |
140 | 140 |
Feature feature = store.findFirst(filter); |
141 | 141 |
if (feature == null) { |
142 | 142 |
return null; |
143 | 143 |
} |
144 |
byte[] resource = feature.getByteArray(RESOURCES_FIELD_RESOURCE);
|
|
144 |
byte[] resource = feature.getByteArray(FIELD_RESOURCES_RESOURCE);
|
|
145 | 145 |
this.in = new ByteArrayInputStream(resource); |
146 | 146 |
return new ResourceInputStream(); |
147 | 147 |
} catch (Throwable ex) { |
... | ... | |
178 | 178 |
store.edit(); |
179 | 179 |
ExpressionBuilder builder = ExpressionUtils.createExpressionBuilder(); |
180 | 180 |
String filter = builder.eq( |
181 |
builder.column(RESOURCES_FIELD_NAME),
|
|
181 |
builder.column(FIELD_RESOURCES_NAME),
|
|
182 | 182 |
builder.constant(this.tableName+"/"+this.name) |
183 | 183 |
).toString(); |
184 | 184 |
Feature feature = store.findFirst(filter); |
185 | 185 |
EditableFeature efeature; |
186 | 186 |
if (feature == null) { |
187 | 187 |
efeature = store.createNewFeature(); |
188 |
efeature.set(RESOURCES_FIELD_NAME, this.tableName+"/"+this.name);
|
|
189 |
efeature.set(RESOURCES_FIELD_RESOURCE, this.out.toByteArray());
|
|
188 |
efeature.set(FIELD_RESOURCES_NAME, this.tableName+"/"+this.name);
|
|
189 |
efeature.set(FIELD_RESOURCES_RESOURCE, this.out.toByteArray());
|
|
190 | 190 |
store.insert(efeature); |
191 | 191 |
} else { |
192 | 192 |
efeature = feature.getEditable(); |
193 |
efeature.set(RESOURCES_FIELD_RESOURCE, this.out.toByteArray());
|
|
193 |
efeature.set(FIELD_RESOURCES_RESOURCE, this.out.toByteArray());
|
|
194 | 194 |
store.update(efeature); |
195 | 195 |
} |
196 | 196 |
store.finishEditing(); |
... | ... | |
208 | 208 |
private final String tableName; |
209 | 209 |
|
210 | 210 |
public JDBCResourcesStorage(JDBCStoreParameters resourcesStoreParameters, String tableName) { |
211 |
if( StringUtils.equals(RESOURCES_TABLE_NAME, tableName) ) {
|
|
211 |
if( StringUtils.equals(TABLE_RESOURCES_NAME, tableName) ) {
|
|
212 | 212 |
// No podemos buscar recursos de la tabla de recursos, ya que si no |
213 | 213 |
// al abrise la tabla de recursos entraria en bucle. |
214 | 214 |
this.resourcesStoreParameters = null; |
... | ... | |
258 | 258 |
multiresourceName = name + "." + String.valueOf(n); |
259 | 259 |
} |
260 | 260 |
String filter = builder.eq( |
261 |
builder.column(RESOURCES_FIELD_NAME),
|
|
261 |
builder.column(FIELD_RESOURCES_NAME),
|
|
262 | 262 |
builder.constant(this.tableName+"/"+multiresourceName) |
263 | 263 |
).toString(); |
264 | 264 |
Feature feature = store.findFirst(filter); |
Also available in: Unified diff