Revision 2328 org.gvsig.raster/branches/org.gvsig.raster_dataaccess_refactoring/org.gvsig.raster.lib/org.gvsig.raster.lib.impl/src/main/java/org/gvsig/raster/impl/grid/filter/histogramMatching/HistogramMatchingListManager.java
HistogramMatchingListManager.java | ||
---|---|---|
27 | 27 |
import org.gvsig.fmap.dal.coverage.dataset.Buffer; |
28 | 28 |
import org.gvsig.fmap.dal.coverage.datastruct.Params; |
29 | 29 |
import org.gvsig.fmap.dal.coverage.exception.FilterTypeException; |
30 |
import org.gvsig.fmap.dal.coverage.grid.AbstractRasterFilterManager; |
|
30 | 31 |
import org.gvsig.fmap.dal.coverage.grid.RasterFilter; |
31 | 32 |
import org.gvsig.fmap.dal.coverage.grid.RasterFilterList; |
32 |
import org.gvsig.fmap.dal.coverage.grid.RasterFilterListManager; |
|
33 | 33 |
import org.gvsig.fmap.dal.coverage.store.RasterDataStore; |
34 | 34 |
import org.gvsig.fmap.dal.coverage.store.props.HistogramComputer; |
35 | 35 |
import org.gvsig.raster.impl.grid.filter.RasterFilterListManagerImpl; |
36 | 36 |
import org.gvsig.raster.impl.store.ParamImpl; |
37 |
import org.gvsig.tools.ToolsLocator; |
|
38 |
import org.gvsig.tools.extensionpoint.ExtensionPoint; |
|
39 |
import org.gvsig.tools.extensionpoint.ExtensionPointManager; |
|
40 | 37 |
|
41 | 38 |
/** |
42 | 39 |
* Gestion de la lista de filtros para el filtro de tipo HistogramMatchig |
... | ... | |
45 | 42 |
* @version 27-05-2008 |
46 | 43 |
* |
47 | 44 |
* */ |
48 |
public class HistogramMatchingListManager implements RasterFilterListManager { |
|
49 |
|
|
50 |
protected RasterFilterList filterList = null; |
|
51 |
|
|
45 |
public class HistogramMatchingListManager extends AbstractRasterFilterManager { |
|
46 |
private static String ID = "Matching"; |
|
47 |
|
|
52 | 48 |
/** |
53 | 49 |
* Default constructor. Sets the filter list. |
54 | 50 |
* @param filterList |
55 | 51 |
*/ |
56 | 52 |
public HistogramMatchingListManager(RasterFilterList filterList) { |
57 |
this.filterList = filterList;
|
|
53 |
super(filterList);
|
|
58 | 54 |
} |
59 | 55 |
|
60 |
// Constructor |
|
61 |
public HistogramMatchingListManager(RasterFilterListManagerImpl filterListManager){ |
|
62 |
this.filterList = filterListManager.getFilterList(); |
|
56 |
public String getManagerID() { |
|
57 |
return ID; |
|
63 | 58 |
} |
64 | 59 |
|
65 |
/** Metodo de registro del filtro */ |
|
66 | 60 |
public static void register() { |
67 |
ExtensionPointManager extensionPoints = ToolsLocator.getExtensionPointManager(); |
|
68 |
ExtensionPoint point = extensionPoints.get("RasterFilter"); |
|
69 |
point.append("Matching", "", HistogramMatchingListManager.class); |
|
61 |
AbstractRasterFilterManager.register(ID, HistogramMatchingListManager.class); |
|
70 | 62 |
} |
71 | 63 |
|
64 |
public HistogramMatchingListManager(RasterFilterListManagerImpl filterListManager){ |
|
65 |
super(filterListManager.getFilterList()); |
|
66 |
} |
|
67 |
|
|
72 | 68 |
public boolean isDataTypeSupported(int dataType) { |
73 | 69 |
if(dataType != Buffer.TYPE_BYTE) |
74 | 70 |
return false; |
75 | 71 |
return true; |
76 | 72 |
} |
77 | 73 |
|
78 |
/* |
|
79 |
* (non-Javadoc) |
|
80 |
* @see org.gvsig.fmap.dal.coverage.grid.RasterFilterListManager#containsFilter(java.lang.String) |
|
81 |
*/ |
|
82 | 74 |
public Class<?> getFilterClassByID(String id) { |
83 | 75 |
if(id.compareTo("HistogramMatch") == 0) |
84 | 76 |
return HistogramMatchingFilter.class; |
85 | 77 |
return null; |
86 | 78 |
} |
87 | 79 |
|
88 |
/* |
|
89 |
* (non-Javadoc) |
|
90 |
* @see org.gvsig.fmap.dal.coverage.grid.RasterFilterListManager#addFilter(java.lang.Class, org.gvsig.fmap.dal.coverage.datastruct.Params) |
|
91 |
*/ |
|
92 | 80 |
public void addFilter(Class<?> classFilter, Params params) throws FilterTypeException { |
93 | 81 |
if (HistogramMatchingFilter.class.isAssignableFrom(classFilter)) { |
94 | 82 |
String fileNameOutput = null; |
... | ... | |
109 | 97 |
} |
110 | 98 |
} |
111 | 99 |
|
112 |
/* |
|
113 |
* (non-Javadoc) |
|
114 |
* @see org.gvsig.fmap.dal.coverage.grid.RasterFilterListManager#addFilter(org.gvsig.fmap.dal.coverage.datastruct.Params) |
|
115 |
*/ |
|
116 | 100 |
public void addFilter(Params params) throws FilterTypeException { |
117 | 101 |
addFilter(HistogramMatchingFilter.class, params); |
118 | 102 |
} |
... | ... | |
130 | 114 |
filter.addParam("histogramReference", histogramReference); |
131 | 115 |
filter.addParam("numbands",new Integer(numbands)); |
132 | 116 |
filter.addParam("fileNameOutput",fileNameOutput); |
133 |
filterList.add(filter);
|
|
117 |
getFilterList().add(filter);
|
|
134 | 118 |
} |
135 | 119 |
} |
136 | 120 |
|
137 |
/* |
|
138 |
* (non-Javadoc) |
|
139 |
* @see org.gvsig.fmap.dal.coverage.grid.RasterFilterListManager#createFilter(org.gvsig.fmap.dal.coverage.datastruct.Params) |
|
140 |
*/ |
|
141 | 121 |
public RasterFilter createFilter(Params params) { |
142 | 122 |
if( params.getParamById("ladoVentana") != null) { |
143 | 123 |
RasterDataStore raster = ((RasterDataStore) params.getParamById("raster").getDefaultValue()); |
... | ... | |
159 | 139 |
return filteri; |
160 | 140 |
} |
161 | 141 |
|
162 |
|
|
163 | 142 |
/** |
164 | 143 |
* Obtiene un Array de Strings a partir de una pila de filtros. Cada elemento |
165 | 144 |
* del array tendr? la forma de elemento=valor. |
... | ... | |
188 | 167 |
RasterFilter filter = new HistogramMatchingFilter(); |
189 | 168 |
return filter; |
190 | 169 |
} |
191 |
|
|
192 |
/* |
|
193 |
* (non-Javadoc) |
|
194 |
* @see org.gvsig.fmap.dal.coverage.grid.RasterFilterListManager#getFilterList() |
|
195 |
*/ |
|
196 |
public RasterFilterList getFilterList() { |
|
197 |
return filterList; |
|
198 |
} |
|
199 |
|
|
200 |
/* |
|
201 |
* (non-Javadoc) |
|
202 |
* @see org.gvsig.fmap.dal.coverage.grid.RasterFilterListManager#setFilterList(org.gvsig.fmap.dal.coverage.grid.RasterFilterList) |
|
203 |
*/ |
|
204 |
public void setFilterList(RasterFilterList filterList) { |
|
205 |
this.filterList = filterList; |
|
206 |
} |
|
207 | 170 |
} |
Also available in: Unified diff