/*******************************************************************************
Copyright 2013 Johannes Mitlmeier
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
******************************************************************************/
package de.fub.agg2graph.ui;
import de.fub.agg2graph.agg.AggContainer;
import de.fub.agg2graph.graph.RamerDouglasPeuckerFilter;
import de.fub.agg2graph.input.GPSCleaner;
import de.fub.agg2graph.osm.IExporter;
import de.fub.agg2graph.roadgen.RoadNetwork;
import de.fub.agg2graph.structs.ClassObjectEditor;
import de.fub.agg2graph.ui.gui.CalcThread;
import java.util.ArrayList;
import java.util.List;
public class StepStorage {
protected AggContainer aggContainer;
private GPSCleaner gpsCleaner;
private RamerDouglasPeuckerFilter cleaningRamerDouglasPeuckerFilter;
private RamerDouglasPeuckerFilter exportRamerDouglasPeuckerFilter;
protected RoadNetwork roadNetwork;
private IExporter exporter;
private boolean openOsmExportFile = false;
public List<ClassObjectEditor> getObjectEditorsForLevel(String level) {
return getObjectEditorsForLevel(CalcThread.levels.get(level));
}
public List<ClassObjectEditor> getObjectEditorsForLevel(int level) {
List<ClassObjectEditor> result = new ArrayList<ClassObjectEditor>(2);
switch (level) {
// input
case 0:
break;
// clean
case 1:
result.add(new ClassObjectEditor(getGpsCleaner()
.getCleaningOptions()));
result.add(new ClassObjectEditor(
getCleaningRamerDouglasPeuckerFilter()));
break;
// agg
case 2:
result.addAll(getAggContainer().getAggregationStrategy()
.getSettings());
break;
// road gen
case 3:
result.addAll(getRoadNetwork().getSettings());
break;
// osm export
case 4:
result.addAll(getExporter().getSettings());
break;
}
return result;
}
public GPSCleaner getGpsCleaner() {
return gpsCleaner;
}
public void setGpsCleaner(GPSCleaner gpsCleaner) {
this.gpsCleaner = gpsCleaner;
}
public RamerDouglasPeuckerFilter getCleaningRamerDouglasPeuckerFilter() {
return cleaningRamerDouglasPeuckerFilter;
}
public void setCleaningRamerDouglasPeuckerFilter(
RamerDouglasPeuckerFilter cleaningRamerDouglasPeuckerFilter) {
this.cleaningRamerDouglasPeuckerFilter = cleaningRamerDouglasPeuckerFilter;
}
public RamerDouglasPeuckerFilter getExportRamerDouglasPeuckerFilter() {
return exportRamerDouglasPeuckerFilter;
}
public void setExportRamerDouglasPeuckerFilter(
RamerDouglasPeuckerFilter exportRamerDouglasPeuckerFilter) {
this.exportRamerDouglasPeuckerFilter = exportRamerDouglasPeuckerFilter;
}
public AggContainer getAggContainer() {
return aggContainer;
}
public void setAggContainer(AggContainer aggContainer) {
this.aggContainer = aggContainer;
}
public RoadNetwork getRoadNetwork() {
return roadNetwork;
}
public void setRoadNetwork(RoadNetwork roadNetwork) {
this.roadNetwork = roadNetwork;
}
public IExporter getExporter() {
return exporter;
}
public void setExporter(IExporter exporter) {
this.exporter = exporter;
}
public void setOpenOsmExportFile(boolean openOsmExportFile) {
this.openOsmExportFile = openOsmExportFile;
}
public boolean isOpenOsmExportFile() {
return openOsmExportFile;
}
}