tightened up data checking

This commit is contained in:
Joshua Darnell 2020-02-27 19:40:32 -08:00
parent 4be5e3bed6
commit b2299fb0d8
3 changed files with 34 additions and 42 deletions

Binary file not shown.

View File

@ -113,12 +113,6 @@
<Parameter Name="MultipleLookupValue1" Value="Refrigerator" />
<Parameter Name="MultipleLookupValue2" Value="Stacked" />
<!-- Computed Enumeration Values - do not change -->
<Parameter Name="SingleValueLookupValue" Value="*Parameter_SingleValueLookupNamespace*'*Parameter_SingleLookupValue*'" />
<Parameter Name="MultipleValueLookupValue1" Value="*Parameter_MultipleValueLookupNamespace*'*Parameter_MultipleLookupValue1*'"/>
<Parameter Name="MultipleValueLookupValue2" Value="*Parameter_MultipleValueLookupNamespace*'*Parameter_MultipleLookupValue2*'" />
<!-- For Expand Testing -->
<Parameter Name="ExpandField" Value="ListAgent" />
@ -168,10 +162,15 @@
<Parameter Name="ConcatFieldTwoValue" Value="YOUR TwoValue GOES HERE" />
<Parameter Name="ConcatFieldBothValue" Value="Your 'OneValue: TwoValue' GOES HERE" /> <!-- format 'OneValue: TwoValue' -->
<!-- OData $select list - created from other parameterized fields, you shouldn't have to touch this -->
<!-- Computed OData $select list - do not change -->
<Parameter Name="SelectList"
Value="*Parameter_KeyOrKeyNumericField*,*Parameter_FilterIntegerField*,*Parameter_ContainsField*,*Parameter_FilterHasField*,*Parameter_DateField*" />
<!-- Computed Enumeration Values - do not change -->
<Parameter Name="SingleValueLookupValue" Value="*Parameter_SingleValueLookupNamespace*'*Parameter_SingleLookupValue*'" />
<Parameter Name="MultipleValueLookupValue1" Value="*Parameter_MultipleValueLookupNamespace*'*Parameter_MultipleLookupValue1*'"/>
<Parameter Name="MultipleValueLookupValue2" Value="*Parameter_MultipleValueLookupNamespace*'*Parameter_MultipleLookupValue2*'" />
<!-- OPTIONAL: System Specific Additional Required Parameters for Queries. Leave Blank if none. -->
<Parameter Name="RequiredParameters" Value="" />
<Parameter Name="RequiredParametersFilter" Value="" />

View File

@ -559,9 +559,13 @@ public class WebAPIServer_1_0_2 implements En {
*/
private static void assertDateTimeOffset(String parameterFieldName, String op, String parameterAssertedValue, String responseData) {
AtomicReference<Timestamp> assertedValue = new AtomicReference<>();
assertedValue.set(parseTimestampFromEdmDateTimeOffsetString(Settings.resolveParametersString(parameterAssertedValue, settings)));
assertDateTimeOffset(parameterFieldName, op, assertedValue.get(), responseData);
try {
assertedValue.set(parseTimestampFromEdmDateTimeOffsetString(Settings.resolveParametersString(parameterAssertedValue, settings)));
assertDateTimeOffset(parameterFieldName, op, assertedValue.get(), responseData);
} catch (EdmPrimitiveTypeException ptex) {
LOG.error("ERROR: Cannot Convert the value in "
+ Settings.resolveParametersString(parameterAssertedValue, settings) + " to a Timestamp value!!");
}
}
/**
@ -739,51 +743,40 @@ public class WebAPIServer_1_0_2 implements En {
* Parses the given edmDateTimeOffsetString into a Java Instant (the type expected by the Olingo type converter).
* @param edmDateTimeOffsetString string representation of an Edm DateTimeOffset to parse.
* @return the corresponding Instant value.
* @throws EdmPrimitiveTypeException
*/
private static Timestamp parseTimestampFromEdmDateTimeOffsetString(String edmDateTimeOffsetString) {
try {
return EdmDateTimeOffset.getInstance().valueOfString(edmDateTimeOffsetString, true, null, null, null, null, Timestamp.class);
} catch (EdmPrimitiveTypeException ex) {
LOG.error(ex.toString());
return null;
}
private static Timestamp parseTimestampFromEdmDateTimeOffsetString(String edmDateTimeOffsetString) throws EdmPrimitiveTypeException {
return EdmDateTimeOffset.getInstance().valueOfString(edmDateTimeOffsetString, true, null, null, null, null, Timestamp.class);
}
/**
* Parses the given edmDateString into a Java date (the type expected by the Olingo type converter).
* Parses the given edmDateString into a Java Timestamp.
* @param edmDateString the date string to convert.
* @return the corresponding Data value.
* @return the corresponding Timestamp value.
* @throws EdmPrimitiveTypeException
*/
private static Timestamp parseTimestampFromEdmDateString(String edmDateString) {
try {
return EdmDate.getInstance().valueOfString(edmDateString, true, null, null, null, null, Timestamp.class);
} catch (EdmPrimitiveTypeException ex) {
LOG.error(ex.toString());
return null;
}
private static Timestamp parseTimestampFromEdmDateString(String edmDateString) throws EdmPrimitiveTypeException {
return EdmDate.getInstance().valueOfString(edmDateString, true, null, null, null, null, Timestamp.class);
}
/**
* Parses the given edmDateString into a Java date (the type expected by the Olingo type converter).
* Parses the given edmDateString into a Java Time.
* @param edmTimeOfDayOffsetString the date string to convert.
* @return the corresponding Data value.
* @return the corresponding Time value.
* @throws EdmPrimitiveTypeException
*/
private static Time parseTimeOfDayFromEdmTimeOfDayString(String edmTimeOfDayOffsetString) {
try {
return EdmTimeOfDay.getInstance().valueOfString(edmTimeOfDayOffsetString, true, null, null, null, null, Time.class);
} catch (EdmPrimitiveTypeException ex) {
LOG.error(ex.toString());
return null;
}
private static Time parseTimeOfDayFromEdmTimeOfDayString(String edmTimeOfDayOffsetString) throws EdmPrimitiveTypeException {
return EdmTimeOfDay.getInstance().valueOfString(edmTimeOfDayOffsetString, true, null, null, null, null, Time.class);
}
private static Time parseTimeOfDayFromEdmDateTimeOffsetString(String edmDateTimeOffsetString) {
try {
return EdmDateTimeOffset.getInstance().valueOfString(edmDateTimeOffsetString, true, null, null, null, null, Time.class);
} catch (EdmPrimitiveTypeException ex) {
LOG.error(ex.toString());
return null;
}
/**
* Parses the given DateTimeOffsetString into a Java Time.
* @param edmDateTimeOffsetString the DateTimeOffsetString to parse.
* @return the corresponding Time value.
* @throws EdmPrimitiveTypeException
*/
private static Time parseTimeOfDayFromEdmDateTimeOffsetString(String edmDateTimeOffsetString) throws EdmPrimitiveTypeException {
return EdmDateTimeOffset.getInstance().valueOfString(edmDateTimeOffsetString, true, null, null, null, null, Time.class);
}
/**