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

View differences:

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