ingo@20: package de.intevation.flys.client.client.ui; ingo@20: felix@867: import de.intevation.flys.client.shared.model.User; felix@867: raimund@2505: import de.intevation.flys.client.client.ui.fixation.FixLocationPanel; raimund@2505: import de.intevation.flys.client.client.ui.fixation.FixPeriodPanel; raimund@2505: import de.intevation.flys.client.client.ui.fixation.FixGaugeSelectPanel; raimund@2505: import de.intevation.flys.client.client.ui.fixation.FixEventSelect; raimund@2883: import de.intevation.flys.client.client.ui.fixation.FixMultiPeriodPanel; felix@1612: felix@1612: /** felix@1612: * Depending on the provider the state declared, return a UIProvider. felix@1612: * felix@1612: * A UIProvider provides widgets and input helpers to guide input to an felix@1612: * artifacts state. felix@1612: */ ingo@20: public class UIProviderFactory { ingo@20: ingo@20: private UIProviderFactory() { ingo@20: } ingo@20: felix@867: public static UIProvider getProvider(String uiProvider, User user) { ingo@20: if (uiProvider == null || uiProvider.equals("")) { ingo@20: return new SelectProvider(); ingo@20: } ingo@20: else if (uiProvider.equals("select_with_map")) { ingo@20: return new MapSelection(); ingo@20: } ingo@41: else if (uiProvider.equals("location_distance_panel")) { ingo@41: return new LocationDistancePanel(); ingo@41: } raimund@238: else if (uiProvider.equals("location_panel")) { raimund@238: return new SingleLocationPanel(); raimund@238: } felix@1612: else if (uiProvider.equals("multi_location_panel")) { felix@1612: return new MultipleLocationPanel(); felix@1612: } ingo@780: else if (uiProvider.equals("distance_panel")) { ingo@780: return new DistancePanel(); ingo@780: } ingo@1265: else if (uiProvider.equals("distance_only_panel")) { ingo@1265: return new DistanceOnlyPanel(); ingo@1265: } ingo@787: else if (uiProvider.equals("waterlevel_ground_panel")) { ingo@787: return new WaterlevelGroundPanel(); ingo@787: } ingo@44: else if (uiProvider.equals("wq_panel")) { ingo@44: return new WQInputPanel(); ingo@44: } ingo@243: else if (uiProvider.equals("wq_panel_adapted")) { ingo@243: return new WQAdaptedInputPanel(); ingo@243: } raimund@282: else if (uiProvider.equals("river_panel")) { raimund@282: return new LinkSelection(); raimund@282: } ingo@785: else if (uiProvider.equals("continue")) { ingo@785: return new ContinuePanel(); ingo@785: } ingo@901: else if (uiProvider.equals("wsp_datacage_panel")) { ingo@901: return new WspDatacagePanel(user); ingo@901: } ingo@901: else if (uiProvider.equals("dgm_datacage_panel")) { ingo@901: return new DemDatacagePanel(user); ingo@787: } felix@867: else if (uiProvider.equals("datacage_twin_panel")) { felix@867: return new DatacageTwinPanel(user); felix@867: } ingo@787: else if (uiProvider.equals("auto_integer")) { ingo@787: return new AutoIntegerPanel(); ingo@787: } ingo@787: else if (uiProvider.equals("boolean_panel")) { ingo@787: return new BooleanPanel(); ingo@787: } ingo@824: else if (uiProvider.equals("noinput")) { ingo@824: return new NoInputPanel(); ingo@824: } ingo@833: else if (uiProvider.equals("map_digitize")) { ingo@833: return new DigitizePanel(); ingo@833: } ingo@1523: else if (uiProvider.equals("timerange")) { ingo@1524: return new IntegerRangePanel(); ingo@1523: } ingo@1528: else if (uiProvider.equals("wq_simple_array")) { ingo@1528: return new WQSimpleArrayPanel(); ingo@1528: } raimund@1602: else if (uiProvider.equals("gaugetimerange")) { raimund@1602: return new GaugeTimeRangePanel(); raimund@1602: } raimund@2505: else if (uiProvider.equals("fix.location_panel")) { raimund@2505: return new FixLocationPanel(); raimund@2505: } raimund@2505: else if (uiProvider.equals("fix.period_panel")) { raimund@2505: return new FixPeriodPanel(); raimund@2505: } sascha@2538: else if (uiProvider.equals("fix.period_ref_panel")) { sascha@2538: return new FixPeriodPanel("ref_start", "ref_end"); sascha@2538: } sascha@2538: else if (uiProvider.equals("fix.period_ana_panel")) { raimund@2883: return new FixMultiPeriodPanel(); sascha@2538: } raimund@2505: else if (uiProvider.equals("fix.gaugeselect_panel")) { raimund@2505: return new FixGaugeSelectPanel(); raimund@2505: } raimund@2505: else if (uiProvider.equals("fix.event_panel")) { raimund@2505: return new FixEventSelect(); raimund@2505: } raimund@2526: else if (uiProvider.equals("fix.preprocessing_panel")) { raimund@2526: return new BooleanPanel(); raimund@2526: } raimund@2898: else if (uiProvider.equals("periods_select")) { raimund@2898: return new MultiPeriodPanel(); raimund@2898: } raimund@2898: else if (uiProvider.equals("outliers_input")) { raimund@2898: return new DoubleInputPanel(); raimund@2898: } ingo@2521: else if (uiProvider.equals("parameter-matrix")) { ingo@2521: return new ParameterMatrixPanel(); ingo@2521: } ingo@20: else { ingo@20: return new SelectProvider(); ingo@20: } ingo@20: } ingo@20: }