Revision 44346 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 | ||
---|---|---|
108 | 108 |
ExpressionBuilder builder = ExpressionUtils.createExpressionBuilder(); |
109 | 109 |
String filter = builder.eq( |
110 | 110 |
builder.column(FIELD_RESOURCES_NAME), |
111 |
builder.constant(this.tableName+"/"+this.name)
|
|
111 |
builder.constant(this.tableName+"."+this.name)
|
|
112 | 112 |
).toString(); |
113 | 113 |
Feature feature = store.findFirst(filter); |
114 | 114 |
return feature!=null; |
... | ... | |
135 | 135 |
ExpressionBuilder builder = ExpressionUtils.createExpressionBuilder(); |
136 | 136 |
String filter = builder.eq( |
137 | 137 |
builder.column(FIELD_RESOURCES_NAME), |
138 |
builder.constant(this.tableName+"/"+this.name)
|
|
138 |
builder.constant(this.tableName+"."+this.name)
|
|
139 | 139 |
).toString(); |
140 | 140 |
Feature feature = store.findFirst(filter); |
141 | 141 |
if (feature == null) { |
... | ... | |
179 | 179 |
ExpressionBuilder builder = ExpressionUtils.createExpressionBuilder(); |
180 | 180 |
String filter = builder.eq( |
181 | 181 |
builder.column(FIELD_RESOURCES_NAME), |
182 |
builder.constant(this.tableName+"/"+this.name)
|
|
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(FIELD_RESOURCES_NAME, this.tableName+"/"+this.name);
|
|
188 |
efeature.set(FIELD_RESOURCES_NAME, this.tableName+"."+this.name);
|
|
189 | 189 |
efeature.set(FIELD_RESOURCES_RESOURCE, this.out.toByteArray()); |
190 | 190 |
store.insert(efeature); |
191 | 191 |
} else { |
... | ... | |
204 | 204 |
} |
205 | 205 |
} |
206 | 206 |
|
207 |
private final ResourcesStorage alternativeStorge; |
|
207 | 208 |
private final JDBCStoreParameters resourcesStoreParameters; |
208 | 209 |
private final String tableName; |
209 | 210 |
|
210 |
public JDBCResourcesStorage(JDBCStoreParameters resourcesStoreParameters, String tableName) { |
|
211 |
public JDBCResourcesStorage(ResourcesStorage alternativeStorge, JDBCStoreParameters resourcesStoreParameters, String tableName) { |
|
212 |
this.alternativeStorge = alternativeStorge; |
|
211 | 213 |
if( StringUtils.equals(TABLE_RESOURCES_NAME, tableName) ) { |
212 | 214 |
// No podemos buscar recursos de la tabla de recursos, ya que si no |
213 | 215 |
// al abrise la tabla de recursos entraria en bucle. |
... | ... | |
225 | 227 |
|
226 | 228 |
@Override |
227 | 229 |
public Resource getResource(String name) { |
230 |
if( this.alternativeStorge!=null ) { |
|
231 |
Resource r = this.alternativeStorge.getResource(name); |
|
232 |
if( r.exists() ) { |
|
233 |
return r; |
|
234 |
} |
|
235 |
} |
|
228 | 236 |
if (this.resourcesStoreParameters == null) { |
229 | 237 |
return null; |
230 | 238 |
} |
... | ... | |
240 | 248 |
if (this.resourcesStoreParameters == null) { |
241 | 249 |
return null; |
242 | 250 |
} |
251 |
if( this.alternativeStorge!=null ) { |
|
252 |
List<Resource> r = this.alternativeStorge.getResources(name); |
|
253 |
if( r!=null && !r.isEmpty() ) { |
|
254 |
return r; |
|
255 |
} |
|
256 |
} |
|
243 | 257 |
FeatureStore store = null; |
244 | 258 |
try { |
245 | 259 |
DataManager dataManager = DALLocator.getDataManager(); |
... | ... | |
255 | 269 |
if (n == 0) { |
256 | 270 |
multiresourceName = name; |
257 | 271 |
} else { |
258 |
multiresourceName = name + "." + String.valueOf(n);
|
|
272 |
multiresourceName = String.valueOf(n) + "." + name ;
|
|
259 | 273 |
} |
260 | 274 |
String filter = builder.eq( |
261 | 275 |
builder.column(FIELD_RESOURCES_NAME), |
262 |
builder.constant(this.tableName+"/"+multiresourceName)
|
|
276 |
builder.constant(this.tableName+"."+multiresourceName)
|
|
263 | 277 |
).toString(); |
264 | 278 |
Feature feature = store.findFirst(filter); |
265 | 279 |
if( feature==null ) { |
Also available in: Unified diff