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
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