Revision 497 org.gvsig.tools/library/trunk/org.gvsig.tools/org.gvsig.tools.swing/org.gvsig.tools.swing.impl/src/main/java/org/gvsig/tools/swing/impl/dynobject/DefaultDynObjectSwingManager.java

View differences:

DefaultDynObjectSwingManager.java
25 25
import org.gvsig.tools.dynobject.DynField;
26 26
import org.gvsig.tools.dynobject.DynObject;
27 27
import org.gvsig.tools.dynobject.DynObjectSet;
28
import org.gvsig.tools.dynobject.DynStruct;
28 29
import org.gvsig.tools.exception.BaseException;
29 30
import org.gvsig.tools.service.AbstractMultiServiceImplManager;
30 31
import org.gvsig.tools.service.Service;
31 32
import org.gvsig.tools.service.ServiceException;
33
import org.gvsig.tools.swing.api.ToolsSwingLocator;
32 34
import org.gvsig.tools.swing.api.dynobject.DynObjectModel;
33 35
import org.gvsig.tools.swing.api.dynobject.DynObjectSwingManager;
34 36
import org.gvsig.tools.swing.api.dynobject.JDynObjectComponent;
......
47 49
public class DefaultDynObjectSwingManager extends
48 50
    AbstractMultiServiceImplManager implements DynObjectSwingManager {
49 51

  
52
    private DefaultDynModelList dynModelList;
53

  
50 54
    /**
51 55
     * Empty constructor.
52 56
     */
......
56 60

  
57 61
    public DynObjectModel createDynObjectModel(DynClass dynClass)
58 62
        throws ServiceException {
63
        if (dynClass == null) {
64
            return null;
65
        }
66
        
67
        DynObjectModel model = ToolsSwingLocator.getDynObjectSwingManager().getDynModel(dynClass);
68
        
69
        if (model != null) {
70
            return model;
71
        }
72

  
73
        
59 74
        return new DefaultDynObjectModel(dynClass, true);
60 75
    }
61 76

  
......
92 107

  
93 108
    public JDynObjectComponent createJDynObjectComponent(DynObject dynObject,
94 109
			boolean writable) throws ServiceException {
110
        if (dynObject == null){
111
            return createJDynObjectComponent(dynObject, null, MODE_FORM, writable);
112
        }
95 113
		return createJDynObjectComponent(dynObject,
96 114
				createDynObjectModel(dynObject.getDynClass()), writable);
97 115
	}
......
161 179
		return new DefaultJDynObjectSetComponent(dynObjectSet, this, writable);
162 180
    }
163 181

  
182
    public void registerDynModel(DynStruct dynStruct, DynObjectModel model) {
183
        getDynModelList().addModel(dynStruct, model);
184
    }
185

  
186
    private DefaultDynModelList getDynModelList() {
187
        if (dynModelList == null){
188
            dynModelList = new DefaultDynModelList();
189
        }
190
        return dynModelList;
191
    }
192
    
193
    public DynObjectModel getDynModel(DynStruct dynStruct){
194
       return getDynModelList().getModel(dynStruct);      
195
    }
196

  
164 197
}

Also available in: Unified diff