Revision 1405 org.gvsig.tools/library/trunk/org.gvsig.tools/org.gvsig.tools.dynform/org.gvsig.tools.dynform.impl/src/main/java/org/gvsig/tools/dynform/impl/DefaultDynFormManager.java

View differences:

DefaultDynFormManager.java
26 26
import java.util.HashMap;
27 27
import java.util.List;
28 28
import java.util.Map;
29
import org.apache.commons.lang3.StringUtils;
29 30

  
30 31
import org.gvsig.tools.dispose.DisposableIterator;
31 32
import org.gvsig.tools.dynform.DynFormDefinition;
......
34 35
import org.gvsig.tools.dynform.JDynFormSet;
35 36
import org.gvsig.tools.dynform.spi.DynFormSPILocator;
36 37
import org.gvsig.tools.dynform.spi.DynFormSPIManager;
37
import org.gvsig.tools.dynobject.DynField;
38 38
import org.gvsig.tools.dynobject.DynObject;
39 39
import org.gvsig.tools.dynobject.DynObjectSet;
40 40
import org.gvsig.tools.dynobject.DynStruct;
41
import org.gvsig.tools.dynobject.DynStruct_v2;
42 41
import org.gvsig.tools.service.Service;
43 42
import org.gvsig.tools.service.ServiceException;
44 43

  
......
90 89
        DefaultDynFormDefinition x ;
91 90
        x = (DefaultDynFormDefinition) this.getDefinitions().get(name);
92 91
        if ( x == null ) {
93
            x = new DefaultDynFormDefinition(name, this);
92
            x = new DefaultDynFormDefinition(definition, this);
94 93
            this.getDefinitions().put(x.getName(), x);
95
            DynField[] fields = definition.getDynFields();
96
            for (DynField field : fields) {
97
                x.add(field);
98
            }
99 94
        }
100
        if ( definition instanceof DynStruct_v2 ) {
101
            x.getTags().add(((DynStruct_v2) definition).getTags());
102
        }
103
        x.setElementsType(definition);
104 95
        return x;
105 96
    }
106 97

  
......
114 105
        DynFormSPIManager serviceManager = this.getServiceManager();
115 106
        JDynForm jdynform;
116 107
        try {
117
            DynObject params = serviceManager.createServiceParameters(
118
                    serviceManager.makeServiceName(definition.getName())
119
            );
108
            
109
            String s = (String) definition.getTags().get(DynFormSPIManager.TAG_DYNFORM_LAYOUTMODE);
110
            String serviceName ;
111
            if( StringUtils.isEmpty(s) ) {
112
                serviceName = serviceManager.makeServiceName(definition.getName());
113
            } else {
114
                serviceName = serviceManager.makeServiceName(s);
115
            }
116
            DynObject params = serviceManager.createServiceParameters(serviceName);
120 117
            jdynform = (JDynForm) serviceManager.getService(params);
121 118
        } catch (ServiceException ex) {
122 119
            jdynform = new DefaultJDynForm(this, definition);

Also available in: Unified diff