Mercurial > dive4elements > river
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); |