use of org.geotoolkit.ows.xml.v110.ValueType in project EDUC-PEN-REG-BATCH-API by bcgov.
the class PenRequestBatchHistoryAPIControllerTest method testReadPenRequestBatchPaginated_GivenSchoolGroupCodeOrPenReqBatchStatusCodeFilterAndMatchedCountOrFixableCount_ShouldReturnStatusOk.
/**
* Test read pen request batch paginated given school group code or pen req batch status code filter and matched count or fixable count should return status ok.
*
* @throws Exception the exception
*/
@Test
public void testReadPenRequestBatchPaginated_GivenSchoolGroupCodeOrPenReqBatchStatusCodeFilterAndMatchedCountOrFixableCount_ShouldReturnStatusOk() throws Exception {
final File file = new File(Objects.requireNonNull(this.getClass().getClassLoader().getResource("mock_pen_req_batch.json")).getFile());
final List<PenRequestBatch> entities = new ObjectMapper().readValue(file, new TypeReference<>() {
});
final var models = entities.stream().map(mapper::toModel).collect(Collectors.toList()).stream().map(PenRequestBatchTestUtils::populateAuditColumnsAndHistory).collect(Collectors.toList());
this.penRequestBatchRepository.saveAll(models);
final SearchCriteria criteria = SearchCriteria.builder().key("schoolGroupCode").operation(FilterOperation.EQUAL).value(SchoolGroupCodes.K12.getCode()).valueType(ValueType.STRING).build();
final SearchCriteria criteria2 = SearchCriteria.builder().key("penRequestBatchStatusCode").condition(OR).operation(FilterOperation.IN).value("LOADED,ACTIVE").valueType(ValueType.STRING).build();
final List<SearchCriteria> criteriaList = new LinkedList<>();
criteriaList.add(criteria);
criteriaList.add(criteria2);
final SearchCriteria criteria3 = SearchCriteria.builder().key("matchedCount").operation(FilterOperation.GREATER_THAN).value("0").valueType(ValueType.LONG).build();
final SearchCriteria criteria4 = SearchCriteria.builder().key("fixableCount").condition(OR).operation(FilterOperation.GREATER_THAN).value("0").valueType(ValueType.LONG).build();
final List<SearchCriteria> criteriaList1 = new LinkedList<>();
criteriaList1.add(criteria3);
criteriaList1.add(criteria4);
final List<Search> searches = new LinkedList<>();
searches.add(Search.builder().searchCriteriaList(criteriaList).build());
searches.add(Search.builder().condition(AND).searchCriteriaList(criteriaList1).build());
final ObjectMapper objectMapper = new ObjectMapper();
final String criteriaJSON = objectMapper.writeValueAsString(searches);
final MvcResult result = this.mockMvc.perform(get("/api/v1/pen-request-batch/history/paginated").with(jwt().jwt((jwt) -> jwt.claim("scope", "READ_PEN_REQUEST_BATCH_HISTORY"))).param("searchCriteriaList", criteriaJSON).contentType(APPLICATION_JSON)).andReturn();
this.mockMvc.perform(asyncDispatch(result)).andDo(print()).andExpect(status().isOk());
}
use of org.geotoolkit.ows.xml.v110.ValueType in project EDUC-PEN-REG-BATCH-API by bcgov.
the class PenRequestBatchAPIControllerTest method testReadPenRequestBatchStudentPaginated_GivenPenRequestBatchIdsAndAllStudentStatusCodesAndOtherConditions_ShouldReturnStatusOk.
/**
* Test read pen request batch student paginated given pen request batch ids and all student status codes and other conditions should return status ok.
*
* @throws Exception the exception
*/
@Test
public void testReadPenRequestBatchStudentPaginated_GivenPenRequestBatchIdsAndAllStudentStatusCodesAndOtherConditions_ShouldReturnStatusOk() throws Exception {
final String batchIDs = this.createBatchStudentRecords(2);
final SearchCriteria criteria = SearchCriteria.builder().key("penRequestBatchEntity.penRequestBatchID").operation(FilterOperation.IN).value(batchIDs).valueType(ValueType.UUID).build();
final List<SearchCriteria> criteriaList = new LinkedList<>();
criteriaList.add(criteria);
final SearchCriteria criteria2 = SearchCriteria.builder().key("penRequestBatchStudentStatusCode").operation(FilterOperation.NOT_EQUAL).value("FIXABLE").valueType(ValueType.STRING).build();
final SearchCriteria criteria3 = SearchCriteria.builder().key("penRequestBatchEntity.mincode").condition(AND).operation(FilterOperation.STARTS_WITH_IGNORE_CASE).value("1").valueType(ValueType.STRING).build();
final SearchCriteria criteria4 = SearchCriteria.builder().key("legalLastName").condition(AND).operation(FilterOperation.STARTS_WITH_IGNORE_CASE).value("j").valueType(ValueType.STRING).build();
final List<SearchCriteria> criteriaList1 = new LinkedList<>();
criteriaList1.add(criteria2);
criteriaList1.add(criteria3);
criteriaList1.add(criteria4);
final List<Search> searches = new LinkedList<>();
searches.add(Search.builder().searchCriteriaList(criteriaList).build());
searches.add(Search.builder().condition(AND).searchCriteriaList(criteriaList1).build());
final ObjectMapper objectMapper = new ObjectMapper();
final String criteriaJSON = objectMapper.writeValueAsString(searches);
final String sort = this.createSortParam();
final MvcResult result = this.mockMvc.perform(get("/api/v1/pen-request-batch/student/paginated").with(jwt().jwt((jwt) -> jwt.claim("scope", "READ_PEN_REQUEST_BATCH"))).param("searchCriteriaList", criteriaJSON).param("sort", sort).param("pageSize", "3").contentType(APPLICATION_JSON)).andReturn();
this.mockMvc.perform(asyncDispatch(result)).andDo(print()).andExpect(status().isOk()).andExpect(jsonPath("$.content", hasSize(3)));
}
use of org.geotoolkit.ows.xml.v110.ValueType in project geotoolkit by Geomatys.
the class SOSClientDemo method main.
public static void main(String[] args) throws MalformedURLException, URISyntaxException, IOException, JAXBException {
Demos.init();
final MarshallerPool pool = SOSMarshallerPool.getInstance();
final Unmarshaller um = pool.acquireUnmarshaller();
// build a new SOS client
final SensorObservationServiceClient sosServer = new SensorObservationServiceClient(new URL("http://test.geomatys.com/swe_TS/WS/sos?"), "1.0.0");
/**
* make a getCapabilities request
*/
final GetCapabilitiesRequest getCapa = sosServer.createGetCapabilities();
InputStream is = getCapa.getResponseStream();
// unmarshall the response
Capabilities capabilities = (Capabilities) um.unmarshal(is);
// print the title of the server
System.out.println(capabilities.getServiceIdentification().getTitle());
// extract a sensorML identifier and outputFormat to make a describeSensor request
Operation describeSensorOperation = capabilities.getOperationsMetadata().getOperation("DescribeSensor");
String sensorID = ((ValueType) describeSensorOperation.getParameter("procedure").getAllowedValues().getValueOrRange().get(0)).getValue();
String outputFormat = ((ValueType) describeSensorOperation.getParameter("outputFormat").getAllowedValues().getValueOrRange().get(0)).getValue();
// extract a all the parameters necessary to make a getObservation request
Operation getObservationOperation = capabilities.getOperationsMetadata().getOperation("GetObservation");
String offering = ((ValueType) getObservationOperation.getParameter("offering").getAllowedValues().getValueOrRange().get(0)).getValue();
String responseFormat = ((ValueType) getObservationOperation.getParameter("responseFormat").getAllowedValues().getValueOrRange().get(0)).getValue();
String phenomenon = ((ValueType) getObservationOperation.getParameter("observedProperty").getAllowedValues().getValueOrRange().get(0)).getValue();
String procedure = ((ValueType) getObservationOperation.getParameter("procedure").getAllowedValues().getValueOrRange().get(0)).getValue();
String featureOfInterest = ((ValueType) getObservationOperation.getParameter("featureOfInterest").getAllowedValues().getValueOrRange().get(0)).getValue();
/**
* make a DescribeSensor request
*/
final DescribeSensorRequest descSensor = sosServer.createDescribeSensor();
descSensor.setSensorId(sensorID);
descSensor.setOutputFormat(outputFormat);
is = descSensor.getResponseStream();
// unmarshall the response
AbstractSensorML sensorMLResponse = (AbstractSensorML) um.unmarshal(is);
System.out.println(sensorMLResponse);
/**
* make a GetObservation request
*/
final GetObservationRequest getObs = sosServer.createGetObservation();
getObs.setOffering(offering);
getObs.setObservedProperties(phenomenon);
getObs.setProcedures(procedure);
getObs.setResponseFormat(responseFormat);
getObs.setFeatureOfInterest(new FeatureOfInterest(Arrays.asList(featureOfInterest)));
is = getObs.getResponseStream();
// unmarshall the response
ObservationCollectionType getObsResponse = (ObservationCollectionType) um.unmarshal(is);
System.out.println(getObsResponse);
pool.recycle(um);
}
use of org.geotoolkit.ows.xml.v110.ValueType in project entity-service by hypertrace.
the class NestedValueGetter method getValue.
@Override
public Value getValue(final JsonNode jsonNode) throws ConversionException {
final JsonNode typeNode = jsonNode.get(VALUE_KEY);
if (typeNode == null || !typeNode.isObject()) {
throw new ConversionException(String.format("Type value missing for node: %s", jsonNode));
}
final List<Entry<String, JsonNode>> fields = Lists.newArrayList(typeNode.fields());
if (fields.size() != 1) {
throw new ConversionException(String.format("Expected exactly 1 field in node: %s", jsonNode));
}
final String typeString = fields.get(0).getKey();
final ValueType type = valueHelper.getPrimitiveValueType(typeString);
final ValueGetter getter = getterMap.get().get(type);
if (getter == null) {
throw new ConversionException(String.format("No getter found for type: %s", type));
}
final JsonNode valueNode = fields.get(0).getValue();
if (!getter.matches(valueNode)) {
throw new ConversionException(String.format("Getter type does not match for node: %s", valueNode));
}
return getter.getValue(valueNode);
}
Aggregations