/** * Enables the ResourceInfo time dimension, defaulting it to the highest available value TODO: * it's probably useful to make this configurable */ private void timeEnableResource(ResourceInfo resource) { DimensionInfo dimension = new DimensionInfoImpl(); dimension.setEnabled(true); dimension.setAttribute(TIME_START); dimension.setUnits(DimensionInfo.TIME_UNITS); dimension.setPresentation(DimensionPresentation.CONTINUOUS_INTERVAL); DimensionDefaultValueSetting defaultValueSetting = new DimensionDefaultValueSetting(); defaultValueSetting.setStrategyType(Strategy.MAXIMUM); dimension.setDefaultValue(defaultValueSetting); resource.getMetadata().put(ResourceInfo.TIME, dimension); }
protected void setupCoverageElevationDimension( QName name, DimensionDefaultValueSetting defaultValue) { CoverageInfo info = getCatalog().getCoverageByName(name.getLocalPart()); DimensionInfo di = new DimensionInfoImpl(); di.setEnabled(true); di.setPresentation(DimensionPresentation.LIST); di.setDefaultValue(defaultValue); info.getMetadata().put(ResourceInfo.ELEVATION, di); getCatalog().save(info); } }
protected void setupCoverageMyDimension(QName name, DimensionDefaultValueSetting defaultValue) { CoverageInfo info = getCatalog().getCoverageByName(name.getLocalPart()); DimensionInfo di = new DimensionInfoImpl(); di.setEnabled(true); di.setPresentation(DimensionPresentation.LIST); di.setDefaultValue(defaultValue); info.getMetadata().put(ResourceInfo.CUSTOM_DIMENSION_PREFIX + COVERAGE_DIMENSION_NAME, di); getCatalog().save(info); } }
protected void setupResourceDimensionDefaultValue( QName name, String dimensionName, DimensionDefaultValueSetting defaultValue, String... startEndAttribute) { ResourceInfo info = getCatalog().getResourceByName(name.getLocalPart(), ResourceInfo.class); if (info == null) { throw new RuntimeException("Unable to get resource by name " + name.getLocalPart()); } DimensionInfo di = new DimensionInfoImpl(); di.setEnabled(true); di.setPresentation(DimensionPresentation.LIST); di.setDefaultValue(defaultValue); if (startEndAttribute != null && startEndAttribute.length > 0) { di.setAttribute(startEndAttribute[0]); if (startEndAttribute.length > 1) { di.setEndAttribute(startEndAttribute[1]); } } info.getMetadata().put(dimensionName, di); getCatalog().save(info); }
protected void setupFeatureElevationDimension(DimensionDefaultValueSetting defaultValue) { FeatureTypeInfo info = getCatalog().getFeatureTypeByName(ELEVATION_WITH_START_END.getLocalPart()); DimensionInfo di = new DimensionInfoImpl(); di.setEnabled(true); di.setAttribute("startElevation"); di.setDefaultValue(defaultValue); di.setPresentation(DimensionPresentation.LIST); info.getMetadata().put(ResourceInfo.ELEVATION, di); getCatalog().save(info); }
protected void setupFeatureCustomDimension( String dimensionName, String attrName, DimensionDefaultValueSetting defaultValue) { FeatureTypeInfo info = getCatalog().getFeatureTypeByName(TIME_ELEVATION_CUSTOM.getLocalPart()); DimensionInfo di = new DimensionInfoImpl(); di.setEnabled(true); di.setAttribute(attrName); di.setDefaultValue(defaultValue); di.setPresentation(DimensionPresentation.LIST); info.getMetadata().put(ResourceInfo.CUSTOM_DIMENSION_PREFIX + dimensionName, di); getCatalog().save(info); }
protected void setupFeatureTimeDimension(DimensionDefaultValueSetting defaultValue) { FeatureTypeInfo info = getCatalog().getFeatureTypeByName(TIME_WITH_START_END.getLocalPart()); DimensionInfo di = new DimensionInfoImpl(); di.setEnabled(true); di.setAttribute("startTime"); di.setDefaultValue(defaultValue); di.setPresentation(DimensionPresentation.LIST); info.getMetadata().put(ResourceInfo.TIME, di); getCatalog().save(info); }
if (defValueSetting == null) { defValueSetting = new DimensionDefaultValueSetting(); model.getObject().setDefaultValue(defValueSetting);
protected void assertBackAndForthSerialization(Strategy used, String referenceValue) throws Exception { DimensionDefaultValueSetting setting = new DimensionDefaultValueSetting(); setting.setStrategyType(used); if (referenceValue != null) { setting.setReferenceValue(referenceValue); } DimensionInfo di = new DimensionInfoImpl(); di.setDefaultValue(setting); Document diDOM = marshallToXML(di); assertXpathExists("//defaultValue/strategy", diDOM); assertXpathEvaluatesTo(used.name(), "//defaultValue/strategy", diDOM); if (referenceValue != null) { assertXpathExists("//defaultValue/referenceValue", diDOM); assertXpathEvaluatesTo(referenceValue, "//defaultValue/referenceValue", diDOM); } DimensionInfo di2 = unmarshallFromXML(diDOM); assertTrue( "Unmarshalled strategy does not match the original one", di2.getDefaultValue().getStrategyType() == used); if (referenceValue != null) { assertTrue( "Unmarshalled referenceValue does not match the original one", di2.getDefaultValue().getReferenceValue().equals(referenceValue)); } }