Revision 45778

View differences:

trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.swing/org.gvsig.fmap.dal.swing.impl/src/main/java/org/gvsig/fmap/dal/swing/impl/featuretype/DefaultFeatureTypePanel.java
555 555
            StringUtils.defaultIfBlank(this.txtDescription.getText(), null)
556 556
        );
557 557
        this.tagsController.fetch(type.getTags());
558
        type.setCheckFeaturesAtInsert(this.chkRulesValidateFeatureBeforeInsert.isSelected());
559
        type.setCheckFeaturesAtFinishEditing(this.chkRulesValidateFeaturesAtFinishEditing.isSelected());
558 560
        return type;
559 561
    }
560 562

  
......
565 567
        if (type == null) {
566 568
            this.store = null;
567 569
            this.rulesController.setModel(new FeatureRulesModel());
568
            this.chkRuleCheckAtFinishEditing.setSelected(false);
569
            this.chkRuleCheckAtUpdate.setSelected(true);
570
            this.chkRulesValidateFeatureBeforeInsert.setSelected(true);
571
            this.chkRulesValidateFeaturesAtFinishEditing.setSelected(false);
570 572
        } else {
571 573
            FeatureType ftypeToCompare = type.getOriginalFeatureType();
572 574
            if (ftypeToCompare == null) {
......
575 577
            this.originalFeatureType = ftypeToCompare.getCopy();
576 578
            this.featureType = (EditableFeatureType) type.getCopy();
577 579
            this.rulesController.setModel(new FeatureRulesModel(this.featureType.getRules()));
578
            this.chkRuleCheckAtFinishEditing.setSelected(type.isCheckFeaturesAtFinishEditing());
579
            this.chkRuleCheckAtUpdate.setSelected(type.isCheckFeaturesAtInsert());
580
            this.chkRulesValidateFeatureBeforeInsert.setSelected(type.isCheckFeaturesAtInsert());
581
            this.chkRulesValidateFeaturesAtFinishEditing.setSelected(type.isCheckFeaturesAtFinishEditing());
580 582
            // Nos quedamos una referencia para evitar que se destruya, ya que
581 583
            // el featureType se guarda solo una WeakReference.
582 584
            this.store = type.getStore();
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.impl/src/main/java/org/gvsig/fmap/dal/feature/impl/DefaultFeatureAttributeDescriptor.java
2255 2255
        this.availableValues = (DynObjectValueItem[]) Json.toArray(json, "availableValues", new DynObjectValueItem[0]);
2256 2256
        this.dataProfile = json.getString("dataProfile", null);
2257 2257
        try {
2258
            this.defaultValue = this.coerce(json.getString("defaultValue", null));
2258
            this.defaultValue = json.getString("defaultValue", null);
2259
            if(!ExpressionUtils.isDynamicText((String) this.defaultValue)){
2260
                this.defaultValue = this.coerce(this.defaultValue);
2261
            }
2259 2262
        } catch (Exception ex) {
2260 2263
            LOGGER.warn("Can't retrive default value for attribute '" + this.name + "'.", ex);
2261 2264
        }
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.impl/src/main/java/org/gvsig/fmap/dal/feature/impl/DefaultEditableFeature.java
327 327
    @Override
328 328
    public void copyFrom(JsonObject values, Predicate<FeatureAttributeDescriptor> filter) {
329 329
      // iterate over the attributes and copy one by one
330
      boolean geometryCopied = false;
330 331
        for (FeatureAttributeDescriptor attr : this.getType()) {
331 332
            if (attr==null  ) {
332 333
                continue;
......
353 354
                        switch(attr.getType()) {
354 355
                            case DataTypes.GEOMETRY:
355 356
                                value = GeometryUtils.createFrom(s);
357
                                geometryCopied = true;
356 358
                                break;
357 359
                            case DataTypes.TIMESTAMP:
358 360
                                try {
......
436 438
                // Ignore
437 439
            }
438 440
        }
439
        if (this.getType().getDefaultGeometryAttribute()!=null && this.getDefaultGeometry()==null) {
440
            GeometryType geomType = this.getType().getDefaultGeometryAttribute().getGeomType();
441
            Set<String> keys = values.keySet();
442
            for (String key : keys) {
443
                try {
444
                    String wkt = values.getString(key);
445
                    Geometry geometry = GeometryUtils.createFrom(wkt);
446
                    if (GeometryUtils.isSubtype(geomType.getType(), geometry.getType()) || GeometryUtils.canAggregate(geomType.getType(), geometry.getType())) {
447
                        this.setDefaultGeometry(geometry);
448
                        break;
449
                    }
450
                } catch (Throwable tr) {
451
                    LOG.trace("Can't get geometry from field {}.", new Object[]{key});
452
                };
441
        FeatureAttributeDescriptor attr = this.getType().getDefaultGeometryAttribute();
442
        if (attr!=null && !geometryCopied) {
443
            if( filter==null || filter.test(attr) ) {
444
                GeometryType geomType = this.getType().getDefaultGeometryAttribute().getGeomType();
445
                Set<String> keys = values.keySet();
446
                for (String key : keys) {
447
                    try {
448
                        String wkt = values.getString(key);
449
                        Geometry geometry = GeometryUtils.createFrom(wkt);
450
                        if (GeometryUtils.isSubtype(geomType.getType(), geometry.getType()) || GeometryUtils.canAggregate(geomType.getType(), geometry.getType())) {
451
                            this.setDefaultGeometry(geometry);
452
                            break;
453
                        }
454
                    } catch (Throwable tr) {
455
                        LOG.trace("Can't get geometry from field {}.", new Object[]{key});
456
                    };
457
                }
453 458
            }
454 459
        }
455 460
    }
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.impl/src/main/java/org/gvsig/fmap/dal/feature/impl/DefaultFeatureType.java
131 131
        this.allowAtomaticValues = false;
132 132
        this.tags = new DefaultTags();
133 133
        this.extraColumns = new DefaultFeatureExtraColumns();
134
        this.checkFeaturesAtFinishEditing = true;
134
        this.checkFeaturesAtFinishEditing = false;
135 135
        this.checkFeaturesAtInsert = true;
136 136
    }
137 137

  
trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/app/extension/AddLayer.java
212 212
        preferredSize.height += ToolsSwingUtils.rows2px(4);
213 213
        preferredSize.width += ToolsSwingUtils.cols2px(2);
214 214
        
215
        ToolsSwingUtils.ensureRowsCols(fopen, -1, -1, 30, 100);
216
        
215 217
        fopen.setPreferredSize(preferredSize);
216 218
        
217 219
        application.message(null,JOptionPane.INFORMATION_MESSAGE);
trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.geodb.app/org.gvsig.geodb.app.mainplugin/src/main/java/org/gvsig/geodb/AbstractWizardDB.java
130 130
        this.setLayout(new BorderLayout());
131 131
        this.add(this.view, BorderLayout.CENTER);
132 132
        
133
        ToolsSwingUtils.ensureRowsCols(this, 30, 90);
133
        ToolsSwingUtils.ensureRowsCols(this, 22, 90, 25, 100);
134 134
    }
135 135
    
136 136
    private void initializePickerConnection() {
trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.expressionevaluator/org.gvsig.expressionevaluator.lib/org.gvsig.expressionevaluator.lib.impl/src/main/java/org/gvsig/expressionevaluator/impl/DefaultExpressionEvaluatorManager.java
172 172
                Object value = interpreter.run(code);
173 173
                values[i] = Objects.toString(value, "");
174 174
            } else {
175
                Code code = compiler.compileExpression(theSource.substring(1));
175
                Code code = compiler.compileExpression(theSource.substring(0));
176 176
                writer.getBuffer().setLength(0);
177 177
                interpreter.run(code);
178 178
                values[i] = writer.toString();

Also available in: Unified diff