Merge "Issue #1598 Make GridParamInfoLookup filter on extension. Change-Id: I6f045d8cdd7233b767f5403e56ec364737d73744" into development
Former-commit-id: 7b223be1a91cd67792d43865514867e6a12dfa7f
This commit is contained in:
commit
77157e3c6c
1 changed files with 40 additions and 67 deletions
|
@ -19,7 +19,6 @@
|
||||||
**/
|
**/
|
||||||
package com.raytheon.edex.plugin.gfe.paraminfo;
|
package com.raytheon.edex.plugin.gfe.paraminfo;
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
@ -37,6 +36,7 @@ import com.raytheon.uf.common.dataplugin.grid.mapping.DatasetIdMapper;
|
||||||
import com.raytheon.uf.common.localization.IPathManager;
|
import com.raytheon.uf.common.localization.IPathManager;
|
||||||
import com.raytheon.uf.common.localization.LocalizationContext.LocalizationLevel;
|
import com.raytheon.uf.common.localization.LocalizationContext.LocalizationLevel;
|
||||||
import com.raytheon.uf.common.localization.LocalizationContext.LocalizationType;
|
import com.raytheon.uf.common.localization.LocalizationContext.LocalizationType;
|
||||||
|
import com.raytheon.uf.common.localization.LocalizationFile;
|
||||||
import com.raytheon.uf.common.localization.PathManagerFactory;
|
import com.raytheon.uf.common.localization.PathManagerFactory;
|
||||||
import com.raytheon.uf.common.status.IUFStatusHandler;
|
import com.raytheon.uf.common.status.IUFStatusHandler;
|
||||||
import com.raytheon.uf.common.status.UFStatus;
|
import com.raytheon.uf.common.status.UFStatus;
|
||||||
|
@ -56,6 +56,8 @@ import com.raytheon.uf.common.util.mapping.MultipleMappingException;
|
||||||
* Jan 25, 2012 DR 14305 ryu Read site parameterInfo files
|
* Jan 25, 2012 DR 14305 ryu Read site parameterInfo files
|
||||||
* Sep 12, 2012 #1117 dgilling Implement method to retrieve all
|
* Sep 12, 2012 #1117 dgilling Implement method to retrieve all
|
||||||
* parm names for a given model.
|
* parm names for a given model.
|
||||||
|
* Feb 15, 2013 1598 bsteffen Make GridParamInfoLookup filter on
|
||||||
|
* extension.
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -92,7 +94,7 @@ public class GridParamInfoLookup {
|
||||||
init();
|
init();
|
||||||
}
|
}
|
||||||
|
|
||||||
private synchronized GridParamInfo getGribParamInfo(String mappedModel) {
|
private GridParamInfo getGridParamInfo(String mappedModel) {
|
||||||
String paramInfoName = null;
|
String paramInfoName = null;
|
||||||
try {
|
try {
|
||||||
paramInfoName = DatasetIdMapper.getInstance().lookupAliasOrNull(
|
paramInfoName = DatasetIdMapper.getInstance().lookupAliasOrNull(
|
||||||
|
@ -121,31 +123,27 @@ public class GridParamInfoLookup {
|
||||||
* The parameter name
|
* The parameter name
|
||||||
* @return The parameter information
|
* @return The parameter information
|
||||||
*/
|
*/
|
||||||
public synchronized ParameterInfo getParameterInfo(String mappedModel,
|
public ParameterInfo getParameterInfo(String mappedModel, String parameter) {
|
||||||
String parameter) {
|
GridParamInfo modelInfo = getGridParamInfo(mappedModel);
|
||||||
GridParamInfo modelInfo = getGribParamInfo(mappedModel);
|
|
||||||
if (modelInfo == null) {
|
if (modelInfo == null) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
ParameterInfo parameterInfo = modelInfo.getParameterInfo(parameter);
|
ParameterInfo parameterInfo = modelInfo.getParameterInfo(parameter);
|
||||||
if (parameterInfo == null) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return parameterInfo;
|
return parameterInfo;
|
||||||
}
|
}
|
||||||
|
|
||||||
public synchronized List<TimeRange> getParameterTimes(String mappedModel,
|
public List<TimeRange> getParameterTimes(String mappedModel, Date refTime) {
|
||||||
Date refTime) {
|
GridParamInfo modelInfo = getGridParamInfo(mappedModel);
|
||||||
GridParamInfo modelInfo = getGribParamInfo(mappedModel);
|
|
||||||
if (modelInfo == null) {
|
if (modelInfo == null) {
|
||||||
return Collections.emptyList();
|
return Collections.emptyList();
|
||||||
}
|
}
|
||||||
return modelInfo.getAvailableTimes(refTime);
|
return modelInfo.getAvailableTimes(refTime);
|
||||||
}
|
}
|
||||||
|
|
||||||
public synchronized Collection<String> getParmNames(String mappedModel) {
|
public Collection<String> getParmNames(String mappedModel) {
|
||||||
GridParamInfo modelInfo = getGribParamInfo(mappedModel);
|
GridParamInfo modelInfo = getGridParamInfo(mappedModel);
|
||||||
if (modelInfo == null) {
|
if (modelInfo == null) {
|
||||||
return Collections.emptyList();
|
return Collections.emptyList();
|
||||||
}
|
}
|
||||||
|
@ -173,70 +171,45 @@ public class GridParamInfoLookup {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
IPathManager pm = PathManagerFactory.getPathManager();
|
IPathManager pm = PathManagerFactory.getPathManager();
|
||||||
File infoDir = pm.getFile(pm.getContext(LocalizationType.EDEX_STATIC,
|
|
||||||
LocalizationLevel.BASE), "/grid/parameterInfo");
|
|
||||||
File[] files = infoDir.listFiles();
|
|
||||||
|
|
||||||
for (File file : files) {
|
LocalizationFile[] files = pm.listFiles(
|
||||||
|
pm.getLocalSearchHierarchy(LocalizationType.EDEX_STATIC),
|
||||||
|
"grid" + IPathManager.SEPARATOR + "parameterInfo",
|
||||||
|
new String[] { ".xml" }, true, true);
|
||||||
|
|
||||||
|
for (LocalizationFile file : files) {
|
||||||
try {
|
try {
|
||||||
GridParamInfo paramInfo = (GridParamInfo) um.unmarshal(file);
|
GridParamInfo paramInfo = (GridParamInfo) um.unmarshal(file
|
||||||
modelParamMap
|
.getFile());
|
||||||
.put(file.getName().replace(".xml", ""), paramInfo);
|
String key = file.getName().replace(".xml", "");
|
||||||
|
if (!modelParamMap.containsKey(key)) {
|
||||||
|
modelParamMap.put(key, paramInfo);
|
||||||
|
}
|
||||||
} catch (JAXBException e) {
|
} catch (JAXBException e) {
|
||||||
statusHandler.handle(Priority.PROBLEM,
|
statusHandler.handle(Priority.PROBLEM,
|
||||||
"Error unmarshalling grid parameter information", e);
|
"Error unmarshalling grid parameter information", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Read SITE level files.
|
// Deprecated grib SITE level files.
|
||||||
File siteDir = pm.getFile(pm.getContext(LocalizationType.EDEX_STATIC,
|
files = pm.listFiles(pm.getContext(LocalizationType.EDEX_STATIC,
|
||||||
LocalizationLevel.SITE), "/grid/parameterInfo");
|
LocalizationLevel.SITE), "grib" + IPathManager.SEPARATOR
|
||||||
if (siteDir.exists()) {
|
+ "parameterInfo", new String[] { ".xml" }, true, true);
|
||||||
files = siteDir.listFiles();
|
for (LocalizationFile file : files) {
|
||||||
for (File file : files) {
|
String name = file.getName().replace(".xml", "");
|
||||||
String name = file.getName().replace(".xml", "");
|
// Do not override grid files.
|
||||||
// Do not override BASE files.
|
if (modelParamMap.get(name) != null) {
|
||||||
if (modelParamMap.get(name) != null) {
|
continue;
|
||||||
continue;
|
}
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
GridParamInfo paramInfo = (GridParamInfo) um
|
GridParamInfo paramInfo = (GridParamInfo) um.unmarshal(file
|
||||||
.unmarshal(file);
|
.getFile());
|
||||||
modelParamMap.put(name, paramInfo);
|
modelParamMap.put(name, paramInfo);
|
||||||
} catch (JAXBException e) {
|
} catch (JAXBException e) {
|
||||||
statusHandler
|
statusHandler.handle(Priority.PROBLEM,
|
||||||
.handle(Priority.PROBLEM,
|
"Error unmarshalling grid parameter information", e);
|
||||||
"Error unmarshalling grid parameter information",
|
|
||||||
e);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Deprecated grib SITE level files.
|
|
||||||
File siteGribDir = pm.getFile(pm.getContext(LocalizationType.EDEX_STATIC,
|
|
||||||
LocalizationLevel.SITE), "/grib/parameterInfo");
|
|
||||||
if (siteGribDir.exists()) {
|
|
||||||
files = siteGribDir.listFiles();
|
|
||||||
for (File file : files) {
|
|
||||||
String name = file.getName().replace(".xml", "");
|
|
||||||
// Do not override BASE files.
|
|
||||||
if (modelParamMap.get(name) != null) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
|
||||||
GridParamInfo paramInfo = (GridParamInfo) um
|
|
||||||
.unmarshal(file);
|
|
||||||
modelParamMap.put(name, paramInfo);
|
|
||||||
} catch (JAXBException e) {
|
|
||||||
statusHandler
|
|
||||||
.handle(Priority.PROBLEM,
|
|
||||||
"Error unmarshalling grid parameter information",
|
|
||||||
e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue