Changeset 28143 in osm for applications/editors/josm/plugins/opendata/src/org/openstreetmap
- Timestamp:
- 2012-03-23T21:49:59+01:00 (13 years ago)
- Location:
- applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/OdPlugin.java
r28091 r28143 28 28 import java.util.Map; 29 29 30 import javax.swing.ImageIcon;31 30 import javax.swing.JMenu; 32 31 import javax.swing.JMenuItem; … … 60 59 import org.openstreetmap.josm.plugins.opendata.core.modules.ModuleHandler; 61 60 import org.openstreetmap.josm.plugins.opendata.core.modules.ModuleInformation; 62 import org.openstreetmap.josm.plugins.opendata.core.util.OdUtils;63 61 import org.openstreetmap.josm.tools.Pair; 64 62 … … 115 113 Map<DataSetCategory, JMenu> catMenus = new HashMap<DataSetCategory, JMenu>(); 116 114 JMenu moduleMenu = null; 117 for (AbstractDataSetHandler handler: module.getHandlers()) { 115 for (AbstractDataSetHandler handler: module.getNewlyInstanciatedHandlers()) { 118 116 if (handler.getDataURL() != null || (handler.getDataURLs() != null && !handler.getDataURLs().isEmpty())) { 119 117 if (moduleMenu == null) { -
applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/actions/DownloadDataTask.java
r28113 r28143 66 66 this.handler = null; 67 67 for (Module module : ModuleHandler.moduleList) { 68 for (AbstractDataSetHandler handler : module.getHandlers()) { 68 for (AbstractDataSetHandler handler : module.getNewlyInstanciatedHandlers()) { 69 69 if (handler.acceptsUrl(url)) { 70 70 this.handler = handler; -
applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/AbstractImporter.java
r28044 r28143 44 44 protected final AbstractDataSetHandler findDataSetHandler(File file) { 45 45 for (Module module : ModuleHandler.moduleList) { 46 for (AbstractDataSetHandler dsh : module.getHandlers()) { 46 for (AbstractDataSetHandler dsh : module.getNewlyInstanciatedHandlers()) { 47 47 if (dsh.acceptsFile(file)) { 48 48 return dsh; -
applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/modules/AbstractModule.java
r28044 r28143 33 33 public abstract class AbstractModule implements Module, OdConstants { 34 34 35 protected final List<AbstractDataSetHandler> handlers = new ArrayList<AbstractDataSetHandler>(); 36 35 protected final List<Class<? extends AbstractDataSetHandler>> handlers = new ArrayList<Class <? extends AbstractDataSetHandler>>(); 36 37 private final List<AbstractDataSetHandler> instanciatedHandlers = new ArrayList<AbstractDataSetHandler>(); 38 37 39 protected final ModuleInformation info; 38 40 … … 53 55 */ 54 56 @Override 55 public List<AbstractDataSetHandler> getHandlers() { 57 public List<Class<? extends AbstractDataSetHandler>> getHandlers() { 56 58 return handlers; 57 59 } … … 71 73 public SourceProvider getMapPaintStyleSourceProvider() { 72 74 final List<SourceEntry> sources = new ArrayList<SourceEntry>(); 73 for (AbstractDataSetHandler handler : handlers) {75 for (AbstractDataSetHandler handler : getInstanciatedHandlers()) { 74 76 ExtendedSourceEntry src; 75 77 if (handler != null && (src = handler.getMapPaintStyle()) != null) { … … 111 113 public SourceProvider getPresetSourceProvider() { 112 114 final List<SourceEntry> sources = new ArrayList<SourceEntry>(); 113 for (AbstractDataSetHandler handler : handlers) {115 for (AbstractDataSetHandler handler : getInstanciatedHandlers()) { 114 116 if (handler != null && handler.getTaggingPreset() != null) { 115 117 sources.add(handler.getTaggingPreset()); … … 123 125 }; 124 126 } 127 128 @Override 129 public final List<AbstractDataSetHandler> getNewlyInstanciatedHandlers() { 130 List<AbstractDataSetHandler> result = new ArrayList<AbstractDataSetHandler>(); 131 for (Class<? extends AbstractDataSetHandler> handlerClass : handlers) { 132 if (handlerClass != null) { 133 try { 134 result.add(handlerClass.newInstance()); 135 } catch (InstantiationException e) { 136 System.err.println(e.getMessage()); 137 } catch (IllegalAccessException e) { 138 System.err.println(e.getMessage()); 139 } 140 } 141 } 142 return result; 143 } 144 145 private final List<AbstractDataSetHandler> getInstanciatedHandlers() { 146 if (instanciatedHandlers.isEmpty()) { 147 instanciatedHandlers.addAll(getNewlyInstanciatedHandlers()); 148 } 149 return instanciatedHandlers; 150 } 125 151 } -
applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/modules/Module.java
r28044 r28143 25 25 public String getDisplayedName(); 26 26 27 public List<AbstractDataSetHandler> getHandlers(); 28 27 public List<Class<? extends AbstractDataSetHandler>> getHandlers(); 28 29 public List<AbstractDataSetHandler> getNewlyInstanciatedHandlers(); 30 29 31 public SourceProvider getMapPaintStyleSourceProvider(); 30 32
Note:
See TracChangeset
for help on using the changeset viewer.