Issue #1513 Updated the way level lookups are created
Change-Id: Ie1120707af608910a88c407ca8af8cf19b964555 Former-commit-id:d0ff35051e
[formerly53ceda6a62
] [formerlycf1c674c2e
[formerly a6b74b9bd1781ca61e364e24f61bb647602fcce6]] Former-commit-id:cf1c674c2e
Former-commit-id:e497d39d75
This commit is contained in:
parent
d421b7208a
commit
82cd0a1b58
20 changed files with 73 additions and 441 deletions
|
@ -42,8 +42,10 @@ import com.raytheon.uf.common.serialization.SerializationUtil;
|
|||
import com.raytheon.uf.common.status.IUFStatusHandler;
|
||||
import com.raytheon.uf.common.status.UFStatus;
|
||||
import com.raytheon.uf.common.status.UFStatus.Priority;
|
||||
import com.raytheon.uf.common.util.CollectionUtil;
|
||||
import com.raytheon.uf.common.util.ServiceLoaderUtil;
|
||||
|
||||
|
||||
/**
|
||||
* Lookup table manager
|
||||
*
|
||||
|
@ -54,6 +56,7 @@ import com.raytheon.uf.common.util.ServiceLoaderUtil;
|
|||
* ------------ ---------- ----------- --------------------------
|
||||
* Mar 7, 2011 357 dhladky Initial creation
|
||||
* Oct 27, 2012 1163 dhladky Improved, dynamically create files, Added Units
|
||||
* Jan 18, 2013 1513 dhladky Level lookup refit.
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -381,10 +384,9 @@ public class LookupManager {
|
|||
* @throws Exception
|
||||
*/
|
||||
public void modifyLevelLookups(String modelName, double dz, float min,
|
||||
float max) throws Exception {
|
||||
float max, List<Double> levs) throws Exception {
|
||||
|
||||
LevelLookup ll = null;
|
||||
List<Double> levs = null;
|
||||
|
||||
if (levelLookupExists(modelName)) {
|
||||
ll = getLevelsFromFile(modelName);
|
||||
|
@ -397,25 +399,33 @@ public class LookupManager {
|
|||
ll = new LevelLookup();
|
||||
}
|
||||
|
||||
if (levs == null) {
|
||||
boolean gen = false;
|
||||
|
||||
|
||||
if (CollectionUtil.isNullOrEmpty(levs)) {
|
||||
ll.setLevelXml(new ArrayList<Double>());
|
||||
levs = ll.getLevelXml();
|
||||
gen = true;
|
||||
} else {
|
||||
ll.setLevelXml(levs);
|
||||
}
|
||||
|
||||
int diff = (int) (max - min);
|
||||
int total = (int) Math.abs((diff / dz));
|
||||
// These add simple place holder level
|
||||
// identifiers. It is up to the admin
|
||||
// to add the real values
|
||||
if (diff < 0) {
|
||||
for (int i = 0; i <= total; i++) {
|
||||
double lev = max + i * dz;
|
||||
levs.add(lev);
|
||||
}
|
||||
} else {
|
||||
for (int i = 0; i <= total; i++) {
|
||||
double lev = min + i * dz;
|
||||
levs.add(lev);
|
||||
if (gen) {
|
||||
int diff = (int) (max - min);
|
||||
int total = (int) Math.abs((diff / dz));
|
||||
// These add simple place holder level
|
||||
// identifiers. It is up to the admin
|
||||
// to add the real values
|
||||
if (diff < 0) {
|
||||
for (int i = 0; i <= total; i++) {
|
||||
double lev = max + i * dz;
|
||||
levs.add(lev);
|
||||
}
|
||||
} else {
|
||||
for (int i = 0; i <= total; i++) {
|
||||
double lev = min + i * dz;
|
||||
levs.add(lev);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -551,4 +561,6 @@ public class LookupManager {
|
|||
|
||||
return unitXml;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -74,6 +74,7 @@
|
|||
<constant name="RESOLUTION" value="resolution"/>
|
||||
<constant name="DATE_COMPARE_FORMAT" value="EEE MMM dd hhmmss zzz yyyy"/>
|
||||
<constant name="META_DATA_SUFFIX" value=".info"/>
|
||||
<constant name="DATA_SUFFIX" value=".dods"/>
|
||||
<constant name="FILL_VALUE" value="_FillValue"/>
|
||||
<constant name="MAX_RETRIEVAL_SIZE" value="4500000" />
|
||||
<constant name="KELVIN" value="k" />
|
||||
|
|
|
@ -1,13 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<LevelLookup>
|
||||
<Level>1000.0</Level>
|
||||
<Level>925.0</Level>
|
||||
<Level>850.0</Level>
|
||||
<Level>700.0</Level>
|
||||
<Level>500.0</Level>
|
||||
<Level>250.0</Level>
|
||||
<Level>200.0</Level>
|
||||
<Level>100.0</Level>
|
||||
<Level>50.0</Level>
|
||||
<Level>10.0</Level>
|
||||
</LevelLookup>
|
|
@ -1,13 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<LevelLookup>
|
||||
<Level>1000.0</Level>
|
||||
<Level>925.0</Level>
|
||||
<Level>850.0</Level>
|
||||
<Level>700.0</Level>
|
||||
<Level>500.0</Level>
|
||||
<Level>250.0</Level>
|
||||
<Level>200.0</Level>
|
||||
<Level>100.0</Level>
|
||||
<Level>50.0</Level>
|
||||
<Level>10.0</Level>
|
||||
</LevelLookup>
|
|
@ -1,29 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<LevelLookup>
|
||||
<Level>1000.0</Level>
|
||||
<Level>975.0</Level>
|
||||
<Level>950.0</Level>
|
||||
<Level>925.0</Level>
|
||||
<Level>900.0</Level>
|
||||
<Level>850.0</Level>
|
||||
<Level>800.0</Level>
|
||||
<Level>750.0</Level>
|
||||
<Level>700.0</Level>
|
||||
<Level>650.0</Level>
|
||||
<Level>600.0</Level>
|
||||
<Level>550.0</Level>
|
||||
<Level>500.0</Level>
|
||||
<Level>450.0</Level>
|
||||
<Level>400.0</Level>
|
||||
<Level>350.0</Level>
|
||||
<Level>300.0</Level>
|
||||
<Level>250.0</Level>
|
||||
<Level>200.0</Level>
|
||||
<Level>150.0</Level>
|
||||
<Level>100.0</Level>
|
||||
<Level>70.0</Level>
|
||||
<Level>50.0</Level>
|
||||
<Level>30.0</Level>
|
||||
<Level>20.0</Level>
|
||||
<Level>10.0</Level>
|
||||
</LevelLookup>
|
|
@ -1,10 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<LevelLookup>
|
||||
<Level>1000.0</Level>
|
||||
<Level>925.0</Level>
|
||||
<Level>850.0</Level>
|
||||
<Level>600.0</Level>
|
||||
<Level>500.0</Level>
|
||||
<Level>250.0</Level>
|
||||
<Level>200.0</Level>
|
||||
</LevelLookup>
|
|
@ -1,29 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<LevelLookup>
|
||||
<Level>1000.0</Level>
|
||||
<Level>975.0</Level>
|
||||
<Level>950.0</Level>
|
||||
<Level>925.0</Level>
|
||||
<Level>900.0</Level>
|
||||
<Level>850.0</Level>
|
||||
<Level>800.0</Level>
|
||||
<Level>750.0</Level>
|
||||
<Level>700.0</Level>
|
||||
<Level>650.0</Level>
|
||||
<Level>600.0</Level>
|
||||
<Level>550.0</Level>
|
||||
<Level>500.0</Level>
|
||||
<Level>450.0</Level>
|
||||
<Level>400.0</Level>
|
||||
<Level>350.0</Level>
|
||||
<Level>300.0</Level>
|
||||
<Level>250.0</Level>
|
||||
<Level>200.0</Level>
|
||||
<Level>150.0</Level>
|
||||
<Level>100.0</Level>
|
||||
<Level>70.0</Level>
|
||||
<Level>50.0</Level>
|
||||
<Level>30.0</Level>
|
||||
<Level>20.0</Level>
|
||||
<Level>10.0</Level>
|
||||
</LevelLookup>
|
|
@ -1,29 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<LevelLookup>
|
||||
<Level>1000.0</Level>
|
||||
<Level>975.0</Level>
|
||||
<Level>950.0</Level>
|
||||
<Level>925.0</Level>
|
||||
<Level>900.0</Level>
|
||||
<Level>850.0</Level>
|
||||
<Level>800.0</Level>
|
||||
<Level>750.0</Level>
|
||||
<Level>700.0</Level>
|
||||
<Level>650.0</Level>
|
||||
<Level>600.0</Level>
|
||||
<Level>550.0</Level>
|
||||
<Level>500.0</Level>
|
||||
<Level>450.0</Level>
|
||||
<Level>400.0</Level>
|
||||
<Level>350.0</Level>
|
||||
<Level>300.0</Level>
|
||||
<Level>250.0</Level>
|
||||
<Level>200.0</Level>
|
||||
<Level>150.0</Level>
|
||||
<Level>100.0</Level>
|
||||
<Level>70.0</Level>
|
||||
<Level>50.0</Level>
|
||||
<Level>30.0</Level>
|
||||
<Level>20.0</Level>
|
||||
<Level>10.0</Level>
|
||||
</LevelLookup>
|
|
@ -1,50 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<LevelLookup>
|
||||
<Level>1000.0</Level>
|
||||
<Level>975.0</Level>
|
||||
<Level>950.0</Level>
|
||||
<Level>925.0</Level>
|
||||
<Level>900.0</Level>
|
||||
<Level>875.0</Level>
|
||||
<Level>850.0</Level>
|
||||
<Level>825.0</Level>
|
||||
<Level>800.0</Level>
|
||||
<Level>775.0</Level>
|
||||
<Level>750.0</Level>
|
||||
<Level>725.0</Level>
|
||||
<Level>700.0</Level>
|
||||
<Level>675.0</Level>
|
||||
<Level>650.0</Level>
|
||||
<Level>625.0</Level>
|
||||
<Level>600.0</Level>
|
||||
<Level>575.0</Level>
|
||||
<Level>550.0</Level>
|
||||
<Level>525.0</Level>
|
||||
<Level>500.0</Level>
|
||||
<Level>475.0</Level>
|
||||
<Level>450.0</Level>
|
||||
<Level>425.0</Level>
|
||||
<Level>400.0</Level>
|
||||
<Level>375.0</Level>
|
||||
<Level>350.0</Level>
|
||||
<Level>325.0</Level>
|
||||
<Level>300.0</Level>
|
||||
<Level>275.0</Level>
|
||||
<Level>250.0</Level>
|
||||
<Level>225.0</Level>
|
||||
<Level>200.0</Level>
|
||||
<Level>175.0</Level>
|
||||
<Level>150.0</Level>
|
||||
<Level>125.0</Level>
|
||||
<Level>100.0</Level>
|
||||
<Level>70.0</Level>
|
||||
<Level>50.0</Level>
|
||||
<Level>30.0</Level>
|
||||
<Level>20.0</Level>
|
||||
<Level>10.0</Level>
|
||||
<Level>7.0</Level>
|
||||
<Level>5.0</Level>
|
||||
<Level>3.0</Level>
|
||||
<Level>2.0</Level>
|
||||
<Level>1.0</Level>
|
||||
</LevelLookup>
|
|
@ -1,13 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<LevelLookup>
|
||||
<Level>1000.0</Level>
|
||||
<Level>925.0</Level>
|
||||
<Level>850.0</Level>
|
||||
<Level>700.0</Level>
|
||||
<Level>600.0</Level>
|
||||
<Level>500.0</Level>
|
||||
<Level>400.0</Level>
|
||||
<Level>300.0</Level>
|
||||
<Level>250.0</Level>
|
||||
<Level>200.0</Level>
|
||||
</LevelLookup>
|
|
@ -1,10 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<LevelLookup>
|
||||
<Level>1000.0</Level>
|
||||
<Level>925.0</Level>
|
||||
<Level>850.0</Level>
|
||||
<Level>700.0</Level>
|
||||
<Level>500.0</Level>
|
||||
<Level>250.0</Level>
|
||||
<Level>200.0</Level>
|
||||
</LevelLookup>
|
|
@ -1,45 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<LevelLookup>
|
||||
<Level>1000.0</Level>
|
||||
<Level>975.0</Level>
|
||||
<Level>950.0</Level>
|
||||
<Level>925.0</Level>
|
||||
<Level>900.0</Level>
|
||||
<Level>875.0</Level>
|
||||
<Level>850.0</Level>
|
||||
<Level>825.0</Level>
|
||||
<Level>800.0</Level>
|
||||
<Level>775.0</Level>
|
||||
<Level>750.0</Level>
|
||||
<Level>725.0</Level>
|
||||
<Level>700.0</Level>
|
||||
<Level>675.0</Level>
|
||||
<Level>650.0</Level>
|
||||
<Level>625.0</Level>
|
||||
<Level>600.0</Level>
|
||||
<Level>575.0</Level>
|
||||
<Level>550.0</Level>
|
||||
<Level>525.0</Level>
|
||||
<Level>500.0</Level>
|
||||
<Level>475.0</Level>
|
||||
<Level>450.0</Level>
|
||||
<Level>425.0</Level>
|
||||
<Level>400.0</Level>
|
||||
<Level>375.0</Level>
|
||||
<Level>350.0</Level>
|
||||
<Level>325.0</Level>
|
||||
<Level>300.0</Level>
|
||||
<Level>275.0</Level>
|
||||
<Level>250.0</Level>
|
||||
<Level>225.0</Level>
|
||||
<Level>200.0</Level>
|
||||
<Level>175.0</Level>
|
||||
<Level>150.0</Level>
|
||||
<Level>125.0</Level>
|
||||
<Level>100.0</Level>
|
||||
<Level>75.0</Level>
|
||||
<Level>50.0</Level>
|
||||
<Level>20.0</Level>
|
||||
<Level>10.0</Level>
|
||||
<Level>5.0</Level>
|
||||
</LevelLookup>
|
|
@ -1,43 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<LevelLookup>
|
||||
<Level>6000.0</Level>
|
||||
<Level>5500.0</Level>
|
||||
<Level>5000.0</Level>
|
||||
<Level>4500.0</Level>
|
||||
<Level>4000.0</Level>
|
||||
<Level>3500.0</Level>
|
||||
<Level>3000.0</Level>
|
||||
<Level>2500.0</Level>
|
||||
<Level>2000.0</Level>
|
||||
<Level>1500.0</Level>
|
||||
<Level>1000.0</Level>
|
||||
<Level>950.0</Level>
|
||||
<Level>900.0</Level>
|
||||
<Level>850.0</Level>
|
||||
<Level>800.0</Level>
|
||||
<Level>750.0</Level>
|
||||
<Level>700.0</Level>
|
||||
<Level>650.0</Level>
|
||||
<Level>600.0</Level>
|
||||
<Level>550.0</Level>
|
||||
<Level>500.0</Level>
|
||||
<Level>450.0</Level>
|
||||
<Level>400.0</Level>
|
||||
<Level>350.0</Level>
|
||||
<Level>300.0</Level>
|
||||
<Level>250.0</Level>
|
||||
<Level>200.0</Level>
|
||||
<Level>150.0</Level>
|
||||
<Level>100.0</Level>
|
||||
<Level>90.0</Level>
|
||||
<Level>80.0</Level>
|
||||
<Level>70.0</Level>
|
||||
<Level>60.0</Level>
|
||||
<Level>50.0</Level>
|
||||
<Level>30.0</Level>
|
||||
<Level>20.0</Level>
|
||||
<Level>10.0</Level>
|
||||
<Level>6.0</Level>
|
||||
<Level>3.0</Level>
|
||||
<Level>0.0</Level>
|
||||
</LevelLookup>
|
|
@ -1,40 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<LevelLookup>
|
||||
<Level>1000.0</Level>
|
||||
<Level>975.0</Level>
|
||||
<Level>950.0</Level>
|
||||
<Level>925.0</Level>
|
||||
<Level>900.0</Level>
|
||||
<Level>875.0</Level>
|
||||
<Level>850.0</Level>
|
||||
<Level>825.0</Level>
|
||||
<Level>800.0</Level>
|
||||
<Level>775.0</Level>
|
||||
<Level>750.0</Level>
|
||||
<Level>725.0</Level>
|
||||
<Level>700.0</Level>
|
||||
<Level>675.0</Level>
|
||||
<Level>650.0</Level>
|
||||
<Level>625.0</Level>
|
||||
<Level>600.0</Level>
|
||||
<Level>575.0</Level>
|
||||
<Level>550.0</Level>
|
||||
<Level>525.0</Level>
|
||||
<Level>500.0</Level>
|
||||
<Level>475.0</Level>
|
||||
<Level>450.0</Level>
|
||||
<Level>425.0</Level>
|
||||
<Level>400.0</Level>
|
||||
<Level>375.0</Level>
|
||||
<Level>350.0</Level>
|
||||
<Level>325.0</Level>
|
||||
<Level>300.0</Level>
|
||||
<Level>275.0</Level>
|
||||
<Level>250.0</Level>
|
||||
<Level>225.0</Level>
|
||||
<Level>200.0</Level>
|
||||
<Level>175.0</Level>
|
||||
<Level>150.0</Level>
|
||||
<Level>125.0</Level>
|
||||
<Level>100.0</Level>
|
||||
</LevelLookup>
|
|
@ -1,4 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<LevelLookup>
|
||||
<Level>1.0</Level>
|
||||
</LevelLookup>
|
|
@ -1,40 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<LevelLookup>
|
||||
<Level>1000.0</Level>
|
||||
<Level>975.0</Level>
|
||||
<Level>950.0</Level>
|
||||
<Level>925.0</Level>
|
||||
<Level>900.0</Level>
|
||||
<Level>875.0</Level>
|
||||
<Level>850.0</Level>
|
||||
<Level>825.0</Level>
|
||||
<Level>800.0</Level>
|
||||
<Level>775.0</Level>
|
||||
<Level>750.0</Level>
|
||||
<Level>725.0</Level>
|
||||
<Level>700.0</Level>
|
||||
<Level>675.0</Level>
|
||||
<Level>650.0</Level>
|
||||
<Level>625.0</Level>
|
||||
<Level>600.0</Level>
|
||||
<Level>575.0</Level>
|
||||
<Level>550.0</Level>
|
||||
<Level>525.0</Level>
|
||||
<Level>500.0</Level>
|
||||
<Level>475.0</Level>
|
||||
<Level>450.0</Level>
|
||||
<Level>425.0</Level>
|
||||
<Level>400.0</Level>
|
||||
<Level>375.0</Level>
|
||||
<Level>350.0</Level>
|
||||
<Level>325.0</Level>
|
||||
<Level>300.0</Level>
|
||||
<Level>275.0</Level>
|
||||
<Level>250.0</Level>
|
||||
<Level>225.0</Level>
|
||||
<Level>200.0</Level>
|
||||
<Level>175.0</Level>
|
||||
<Level>150.0</Level>
|
||||
<Level>125.0</Level>
|
||||
<Level>100.0</Level>
|
||||
</LevelLookup>
|
|
@ -1,42 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<LevelLookup>
|
||||
<Level>1000.0</Level>
|
||||
<Level>975.0</Level>
|
||||
<Level>950.0</Level>
|
||||
<Level>925.0</Level>
|
||||
<Level>900.0</Level>
|
||||
<Level>875.0</Level>
|
||||
<Level>850.0</Level>
|
||||
<Level>825.0</Level>
|
||||
<Level>800.0</Level>
|
||||
<Level>775.0</Level>
|
||||
<Level>750.0</Level>
|
||||
<Level>725.0</Level>
|
||||
<Level>700.0</Level>
|
||||
<Level>675.0</Level>
|
||||
<Level>650.0</Level>
|
||||
<Level>625.0</Level>
|
||||
<Level>600.0</Level>
|
||||
<Level>575.0</Level>
|
||||
<Level>550.0</Level>
|
||||
<Level>525.0</Level>
|
||||
<Level>500.0</Level>
|
||||
<Level>475.0</Level>
|
||||
<Level>450.0</Level>
|
||||
<Level>425.0</Level>
|
||||
<Level>400.0</Level>
|
||||
<Level>375.0</Level>
|
||||
<Level>350.0</Level>
|
||||
<Level>325.0</Level>
|
||||
<Level>300.0</Level>
|
||||
<Level>275.0</Level>
|
||||
<Level>250.0</Level>
|
||||
<Level>225.0</Level>
|
||||
<Level>200.0</Level>
|
||||
<Level>175.0</Level>
|
||||
<Level>150.0</Level>
|
||||
<Level>125.0</Level>
|
||||
<Level>100.0</Level>
|
||||
<Level>75.0</Level>
|
||||
<Level>50.0</Level>
|
||||
</LevelLookup>
|
|
@ -1,8 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<LevelLookup>
|
||||
<Level>1000.0</Level>
|
||||
<Level>850.0</Level>
|
||||
<Level>700.0</Level>
|
||||
<Level>500.0</Level>
|
||||
<Level>250.0</Level>
|
||||
</LevelLookup>
|
|
@ -89,6 +89,7 @@ import dods.dap.DAS;
|
|||
* Dec 12, 2012 supplement dhladky Restored operation of ensembles.
|
||||
* Dec 10, 2012 1259 bsteffen Switch Data Delivery from LatLon to referenced envelopes.
|
||||
* Jan 08, 2013 dhladky Performance enhancements, specific model fixes.
|
||||
* Jan 18, 2013 1513 dhladky Level look up improvements.
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -135,8 +136,10 @@ class OpenDAPMetaDataParser extends MetaDataParser {
|
|||
// create new default lookups
|
||||
if (levelType.equals(LevelType.MB)
|
||||
|| levelType.equals(LevelType.SEAB)) {
|
||||
|
||||
List<Double> levelList = OpenDAPParseUtility.getInstance().parseLevels(gdsmd.getUrl(), serviceConfig.getConstantValue("LEV"));
|
||||
LookupManager.getInstance().modifyLevelLookups(
|
||||
collectionName, dz, levMin, levMax);
|
||||
collectionName, dz, levMin, levMax, levelList);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -654,12 +657,12 @@ class OpenDAPMetaDataParser extends MetaDataParser {
|
|||
}
|
||||
|
||||
DAS das = (DAS) link.getLinks().get(DAP_TYPE.DAS.getDapType());
|
||||
dataSet.setParameters(getParameters(das, dataSet, gdsmd, link,
|
||||
collection, dataDateFormat));
|
||||
|
||||
// set url first, used for level lookups
|
||||
gdsmd.setUrl(link.getUrl().replace(
|
||||
serviceConfig.getConstantValue("META_DATA_SUFFIX"),
|
||||
serviceConfig.getConstantValue("BLANK")));
|
||||
dataSet.setParameters(getParameters(das, dataSet, gdsmd, link,
|
||||
collection, dataDateFormat));
|
||||
Time dataSetTime = gdsmd.getTime();
|
||||
if (dataSetTime == null) {
|
||||
throw new IllegalStateException(
|
||||
|
|
|
@ -21,8 +21,13 @@ import com.raytheon.uf.common.datadelivery.retrieval.xml.UnitLookup;
|
|||
import com.raytheon.uf.common.status.IUFStatusHandler;
|
||||
import com.raytheon.uf.common.status.UFStatus;
|
||||
import com.raytheon.uf.common.status.UFStatus.Priority;
|
||||
import com.raytheon.uf.edex.datadelivery.retrieval.util.ConnectionUtil;
|
||||
|
||||
import dods.dap.AttributeTable;
|
||||
import dods.dap.DArray;
|
||||
import dods.dap.DConnect;
|
||||
import dods.dap.DataDDS;
|
||||
import dods.dap.PrimitiveVector;
|
||||
|
||||
/**
|
||||
* Constants for working with OpenDAP. This class should remain package-private,
|
||||
|
@ -43,12 +48,13 @@ import dods.dap.AttributeTable;
|
|||
* Nov 09, 2012 1163 dhladky Made pre-load for service config
|
||||
* Nov 19, 2012 1166 djohnson Clean up JAXB representation of registry objects.
|
||||
* Jan 08, 2013 1466 dhladky NCOM dataset name parsing fix.
|
||||
* Jan 18, 2013 1513 dhladky Level Lookup improvements.
|
||||
* </pre>
|
||||
*
|
||||
* @author dhladky
|
||||
* @version 1.0
|
||||
*/
|
||||
final class OpenDAPParseUtility {
|
||||
public final class OpenDAPParseUtility {
|
||||
|
||||
private static final Pattern QUOTES_PATTERN = Pattern.compile("\"");
|
||||
|
||||
|
@ -336,7 +342,35 @@ final class OpenDAPParseUtility {
|
|||
return QUOTES_PATTERN.matcher(val).replaceAll(
|
||||
serviceConfig.getConstantValue("BLANK"));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Parse out the levels from the dods
|
||||
* @param url
|
||||
* @param lev
|
||||
* @return
|
||||
*/
|
||||
public List<Double> parseLevels(String url, String lev) {
|
||||
|
||||
List<Double> levels = null;
|
||||
|
||||
try {
|
||||
DConnect connect = ConnectionUtil.getDConnect(url + "?" + lev);
|
||||
DataDDS data = connect.getData(null);
|
||||
DArray array = (DArray) data.getVariable(lev);
|
||||
PrimitiveVector pm = array.getPrimitiveVector();
|
||||
double[] values = (double[]) pm.getInternalStorage();
|
||||
levels = new ArrayList<Double>();
|
||||
for (double value : values) {
|
||||
levels.add(value);
|
||||
}
|
||||
|
||||
} catch (Exception e) {
|
||||
statusHandler.handle(Priority.PROBLEM, "Error downloading/parsing levels: "
|
||||
+ url, e);
|
||||
}
|
||||
|
||||
return levels;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue