comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java @ 3556:afc7bfb4800b

Use the new infrastructure to figure out if a facet should be initially active or not. flys-artifacts/trunk@5152 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Sun, 29 Jul 2012 11:04:06 +0000
parents fc351f12b906
children c3cd414982fe
comparison
equal deleted inserted replaced
3555:b1912514e0f5 3556:afc7bfb4800b
1 package de.intevation.flys.artifacts; 1 package de.intevation.flys.artifacts;
2 2
3 import de.intevation.artifactdatabase.data.StateData; 3 import de.intevation.artifactdatabase.data.StateData;
4 4
5 import de.intevation.artifactdatabase.state.Facet;
6 import de.intevation.artifactdatabase.state.FacetActivity;
7
8 import de.intevation.artifacts.Artifact;
5 import de.intevation.artifacts.CallContext; 9 import de.intevation.artifacts.CallContext;
6 10
7 import de.intevation.artifacts.common.utils.StringUtils; 11 import de.intevation.artifacts.common.utils.StringUtils;
8 12
9 import de.intevation.flys.artifacts.geom.Lines; 13 import de.intevation.flys.artifacts.geom.Lines;
73 public static final int DEFAULT_Q_STEPS = 30; 77 public static final int DEFAULT_Q_STEPS = 30;
74 78
75 /** The default step width between the start end end kilometer. */ 79 /** The default step width between the start end end kilometer. */
76 public static final double DEFAULT_KM_STEPS = 0.1; 80 public static final double DEFAULT_KM_STEPS = 0.1;
77 81
82 private static final String [] INACTIVES = new String[] {
83 LONGITUDINAL_Q,
84 DURATION_Q
85 };
86
87 static {
88 // TODO: Move to configuration.
89 FacetActivity.Registry.getInstance().register(
90 ARTIFACT_NAME,
91 new FacetActivity() {
92 @Override
93 public boolean isInitialActive(
94 Artifact artifact,
95 Facet facet,
96 String outputName
97 ) {
98 String fname = facet.getName();
99 if ((fname.equals(COMPUTED_DISCHARGE_MAINVALUES_Q)
100 || fname.equals(COMPUTED_DISCHARGE_MAINVALUES_W))
101 && outputName.equals("computed_discharge_curve")) {
102 return false;
103 }
104 return !StringUtils.contains(fname, INACTIVES);
105
106 }
107 });
108 }
78 109
79 /** 110 /**
80 * The default constructor. 111 * The default constructor.
81 */ 112 */
82 public WINFOArtifact() { 113 public WINFOArtifact() {
1142 values.sort(); 1173 values.sort();
1143 1174
1144 return values.toNativeArray(); 1175 return values.toNativeArray();
1145 } 1176 }
1146 1177
1147
1148 /**
1149 * Determines Facets initial disposition regarding activity (think of
1150 * selection in Client ThemeList GUI). This will be checked one time
1151 * when the facet enters a collections describe document.
1152 *
1153 * @param facetName name of the facet.
1154 * @param index index of the facet.
1155 * @return 0 if not active
1156 */
1157 @Override
1158 public int getInitialFacetActivity(String outputName, String facetName, int index) {
1159
1160 logger.debug("WINFOArtifact.active?: "
1161 + outputName
1162 + "/"
1163 + facetName);
1164
1165 if (facetName.equals(COMPUTED_DISCHARGE_MAINVALUES_Q) ||
1166 facetName.equals(COMPUTED_DISCHARGE_MAINVALUES_W)
1167 && outputName.equals("computed_discharge_curve"))
1168 {
1169 return 0;
1170 }
1171
1172 return StringUtils.contains(facetName, INACTIVES) ? 0 : 1;
1173 }
1174
1175 private static final String [] INACTIVES = new String[] {
1176 LONGITUDINAL_Q,
1177 DURATION_Q
1178 };
1179
1180
1181 /** 1178 /**
1182 * Returns the WstValueTable of current river. 1179 * Returns the WstValueTable of current river.
1183 */ 1180 */
1184 public WstValueTable getWstValueTable() { 1181 public WstValueTable getWstValueTable() {
1185 River r = FLYSUtils.getRiver(this); 1182 River r = FLYSUtils.getRiver(this);

http://dive4elements.wald.intevation.org