use of gov.ca.cwds.rest.api.domain.cms.PostedCmsReferral in project API by ca-cwds.
the class CmsReferralServiceTest method createReturnsPostedCmsReferralWithIdenticalReferralIds.
@Test
public void createReturnsPostedCmsReferralWithIdenticalReferralIds() throws Exception {
Response response = cmsReferralServiceResponse();
PostedCmsReferral postedCmsReferral = (PostedCmsReferral) response;
String referralId = ((CrossReport) postedCmsReferral.getCrossReport().toArray()[0]).getReferralId();
assertThat(((ReferralClient) postedCmsReferral.getReferralClient().toArray()[0]).getReferralId(), is(referralId));
assertThat(postedCmsReferral.getReporter().getReferralId(), is(referralId));
assertThat(((Allegation) postedCmsReferral.getAllegation().toArray()[0]).getReferralId(), is(referralId));
}
use of gov.ca.cwds.rest.api.domain.cms.PostedCmsReferral in project API by ca-cwds.
the class CmsReferralServiceTest method createReturnsNonNull.
@Test
public void createReturnsNonNull() throws Exception {
Referral referralDomain = MAPPER.readValue(fixture("fixtures/domain/cms/CmsReferral/valid/referralCmsReferral.json"), Referral.class);
gov.ca.cwds.data.persistence.cms.Referral referralToCreate = new gov.ca.cwds.data.persistence.cms.Referral("ABC1234567", referralDomain, "2016-10-31");
Set<Client> clientDomain = MAPPER.readValue(fixture("fixtures/domain/cms/CmsReferral/valid/clientCmsReferral.json"), new TypeReference<Set<Client>>() {
});
gov.ca.cwds.data.persistence.cms.Client clientToCreate = new gov.ca.cwds.data.persistence.cms.Client("ABC1234567", (Client) clientDomain.toArray()[0], "2016-10-31");
Set<ReferralClient> referralClientDomain = MAPPER.readValue(fixture("fixtures/domain/cms/CmsReferral/valid/referralClientCmsReferral.json"), new TypeReference<Set<ReferralClient>>() {
});
gov.ca.cwds.data.persistence.cms.ReferralClient referralClientToCreate = new gov.ca.cwds.data.persistence.cms.ReferralClient((ReferralClient) referralClientDomain.toArray()[0], "2016-10-31");
Set<Allegation> allegationDomain = MAPPER.readValue(fixture("fixtures/domain/cms/CmsReferral/valid/allegationCmsReferral.json"), new TypeReference<Set<Allegation>>() {
});
gov.ca.cwds.data.persistence.cms.Allegation allegationToCreate = new gov.ca.cwds.data.persistence.cms.Allegation("ABC1234567", (Allegation) allegationDomain.toArray()[0], "2016-10-31");
Set<CrossReport> crossReportDomain = MAPPER.readValue(fixture("fixtures/domain/cms/CmsReferral/valid/crossReportCmsReferral.json"), new TypeReference<Set<CrossReport>>() {
});
gov.ca.cwds.data.persistence.cms.CrossReport crossReportToCreate = new gov.ca.cwds.data.persistence.cms.CrossReport("1234ABC123", (CrossReport) crossReportDomain.toArray()[0], "2016-10-31");
Reporter reporterDomain = MAPPER.readValue(fixture("fixtures/domain/cms/CmsReferral/valid/reporterCmsReferral.json"), Reporter.class);
gov.ca.cwds.data.persistence.cms.Reporter reporterToCreate = new gov.ca.cwds.data.persistence.cms.Reporter(reporterDomain, "2016-10-31");
Referral referralRequest = new Referral(referralToCreate);
ReferralClient referralClientRequest = new ReferralClient(referralClientToCreate);
Set<ReferralClient> referralClientRequestSet = new LinkedHashSet<>();
referralClientRequestSet.add(referralClientRequest);
Client clientRequest = new Client(clientToCreate, false);
Set<Client> clientRequestSet = new LinkedHashSet<>();
clientRequestSet.add(clientRequest);
Allegation allegationRequest = new Allegation(allegationToCreate);
Set<Allegation> allegationRequestSet = new LinkedHashSet<>();
allegationRequestSet.add(allegationRequest);
CrossReport crossReportRequest = new CrossReport(crossReportToCreate);
Set<CrossReport> crossReportRequestSet = new LinkedHashSet<>();
crossReportRequestSet.add(crossReportRequest);
Reporter reporterRequest = new Reporter(reporterToCreate);
CmsReferral cmsReferralToCreate = new CmsReferral(referralRequest, clientRequestSet, allegationRequestSet, crossReportRequestSet, referralClientRequestSet, reporterRequest);
when(referralDao.create(any(gov.ca.cwds.data.persistence.cms.Referral.class))).thenReturn(referralToCreate);
when(clientDao.create(any(gov.ca.cwds.data.persistence.cms.Client.class))).thenReturn(clientToCreate);
when(referralClientDao.create(any(gov.ca.cwds.data.persistence.cms.ReferralClient.class))).thenReturn(referralClientToCreate);
when(allegationDao.create(any(gov.ca.cwds.data.persistence.cms.Allegation.class))).thenReturn(allegationToCreate);
when(crossReportDao.create(any(gov.ca.cwds.data.persistence.cms.CrossReport.class))).thenReturn(crossReportToCreate);
when(reporterDao.create(any(gov.ca.cwds.data.persistence.cms.Reporter.class))).thenReturn(reporterToCreate);
CmsReferralService cmsReferralRequest = new CmsReferralService(referralService, clientService, allegationService, crossReportService, referralClientService, reporterService, clientUcService);
PostedCmsReferral returned = (PostedCmsReferral) cmsReferralRequest.create(cmsReferralToCreate);
assertThat(returned, is(notNullValue()));
}
use of gov.ca.cwds.rest.api.domain.cms.PostedCmsReferral in project API by ca-cwds.
the class CmsReferralService method create.
/**
* {@inheritDoc}
*
* @see gov.ca.cwds.rest.services.CrudsService#create(gov.ca.cwds.rest.api.Request)
*/
@UnitOfWork(value = "cms")
@Override
public Response create(Request request) {
assert request instanceof CmsReferral;
CmsReferral cmsReferral = (CmsReferral) request;
PostedReferral referral = this.referralService.create(cmsReferral.getReferral());
String referralId = referral.getId();
List<String> clientIds = new ArrayList<>();
int clientInst = 0;
String sourceTableCode = "C";
Set<ClientUc> resultClientUc = new LinkedHashSet<>();
Set<PostedClient> postedClients = new LinkedHashSet<>();
if (cmsReferral.getClient() != null && !cmsReferral.getClient().isEmpty()) {
for (Client incomingClient : cmsReferral.getClient()) {
PostedClient savedClient = null;
if (incomingClient.getExistingClientId() != null) {
savedClient = clientService.findInboundId(incomingClient.getExistingClientId());
}
if (savedClient == null) {
Client client = new Client(incomingClient.getExistingClientId(), incomingClient.getAdjudicatedDelinquentIndicator(), incomingClient.getAdoptionStatusCode(), incomingClient.getAlienRegistrationNumber(), incomingClient.getBirthCity(), incomingClient.getBirthCountryCodeType(), incomingClient.getBirthDate(), incomingClient.getBirthFacilityName(), incomingClient.getBirthStateCodeType(), incomingClient.getBirthplaceVerifiedIndicator(), incomingClient.getChildClientIndicatorVar(), incomingClient.getClientIndexNumber(), incomingClient.getCommentDescription(), incomingClient.getCommonFirstName(), incomingClient.getCommonLastName(), incomingClient.getCommonMiddleName(), incomingClient.getConfidentialityActionDate(), incomingClient.getConfidentialityInEffectIndicator(), incomingClient.getCreationDate(), incomingClient.getCurrCaChildrenServIndicator(), incomingClient.getCurrentlyOtherDescription(), incomingClient.getCurrentlyRegionalCenterIndicator(), incomingClient.getDeathDate(), incomingClient.getDeathDateVerifiedIndicator(), incomingClient.getDeathPlace(), incomingClient.getDeathReasonText(), incomingClient.getDriverLicenseNumber(), incomingClient.getDriverLicenseStateCodeType(), incomingClient.getEmailAddress(), incomingClient.getEstimatedDobCode(), incomingClient.getEthUnableToDetReasonCode(), incomingClient.getFatherParentalRightTermDate(), incomingClient.getGenderCode(), incomingClient.getHealthSummaryText(), incomingClient.getHispUnableToDetReasonCode(), incomingClient.getHispanicOriginCode(), incomingClient.getImmigrationCountryCodeType(), incomingClient.getImmigrationStatusType(), incomingClient.getIncapacitatedParentCode(), incomingClient.getIndividualHealthCarePlanIndicator(), incomingClient.getLimitationOnScpHealthIndicator(), incomingClient.getLiterateCode(), incomingClient.getMaritalCohabitatnHstryIndicatorVar(), incomingClient.getMaritalStatusType(), incomingClient.getMilitaryStatusCode(), incomingClient.getMotherParentalRightTermDate(), incomingClient.getNamePrefixDescription(), incomingClient.getNameType(), incomingClient.getOutstandingWarrantIndicator(), incomingClient.getPrevCaChildrenServIndicator(), incomingClient.getPrevOtherDescription(), incomingClient.getPrevRegionalCenterIndicator(), incomingClient.getPrimaryEthnicityType(), incomingClient.getPrimaryLanguageType(), incomingClient.getReligionType(), incomingClient.getSecondaryLanguageType(), incomingClient.getSensitiveHlthInfoOnFileIndicator(), incomingClient.getSensitivityIndicator(), incomingClient.getSoc158PlacementCode(), incomingClient.getSoc158SealedClientIndicator(), incomingClient.getSocialSecurityNumChangedCode(), incomingClient.getSocialSecurityNumber(), incomingClient.getSuffixTitleDescription(), incomingClient.getTribalAncestryClientIndicatorVar(), incomingClient.getTribalMembrshpVerifctnIndicatorVar(), incomingClient.getUnemployedParentCode(), incomingClient.getZippyCreatedIndicator(), null);
PostedClient postedclient = this.clientService.create(client);
postedClients.add(postedclient);
clientIds.add(postedclient.getId());
if (postedclient.getCommonFirstName() != null) {
ClientUc clientUc = new ClientUc(postedclient.getId(), sourceTableCode, postedclient.getCommonFirstName().toUpperCase(), postedclient.getCommonLastName().toUpperCase(), postedclient.getCommonMiddleName().toUpperCase());
clientUc = this.clientUcService.create(clientUc);
resultClientUc.add(clientUc);
}
} else {
clientIds.add(savedClient.getId());
postedClients.add(savedClient);
}
}
}
Set<PostedAllegation> resultAllegation = new LinkedHashSet<>();
if (cmsReferral.getAllegation() != null && !cmsReferral.getAllegation().isEmpty()) {
for (Allegation incomingAllegation : cmsReferral.getAllegation()) {
Allegation allegation = new Allegation(incomingAllegation.getAbuseEndDate(), incomingAllegation.getAbuseFrequency(), incomingAllegation.getAbuseFrequencyPeriodCode(), incomingAllegation.getAbuseLocationDescription(), incomingAllegation.getAbuseStartDate(), incomingAllegation.getAllegationDispositionType(), incomingAllegation.getAllegationType(), incomingAllegation.getDispositionDescription(), incomingAllegation.getDispositionDate(), incomingAllegation.getInjuryHarmDetailIndicator(), incomingAllegation.getNonProtectingParentCode(), incomingAllegation.getStaffPersonAddedIndicator(), incomingAllegation.getVictimClientId(), incomingAllegation.getPerpetratorClientId(), referralId, incomingAllegation.getCountySpecificCode(), incomingAllegation.getZippyCreatedIndicator(), incomingAllegation.getPlacementFacilityType());
PostedAllegation postedallegation = this.allegationService.create(allegation);
resultAllegation.add(postedallegation);
}
}
Set<CrossReport> resultCrossReport = new LinkedHashSet<>();
if (cmsReferral.getCrossReport() != null && !cmsReferral.getCrossReport().isEmpty()) {
for (CrossReport incomingCrossReport : cmsReferral.getCrossReport()) {
CrossReport crossReport = new CrossReport(incomingCrossReport.getThirdId(), incomingCrossReport.getCrossReportMethodType(), incomingCrossReport.getFiledOutOfStateIndicator(), incomingCrossReport.getGovernmentOrgCrossRptIndicatorVar(), incomingCrossReport.getInformTime(), incomingCrossReport.getRecipientBadgeNumber(), incomingCrossReport.getRecipientPhoneExtensionNumber(), incomingCrossReport.getRecipientPhoneNumber(), incomingCrossReport.getInformDate(), incomingCrossReport.getRecipientPositionTitleDesc(), incomingCrossReport.getReferenceNumber(), referralId, incomingCrossReport.getLawEnforcementId(), incomingCrossReport.getStaffPersonId(), incomingCrossReport.getDescription(), incomingCrossReport.getRecipientName(), incomingCrossReport.getOutStateLawEnforcementAddr(), incomingCrossReport.getCountySpecificCode(), incomingCrossReport.getLawEnforcementIndicator(), incomingCrossReport.getOutStateLawEnforcementIndicator(), incomingCrossReport.getSatisfyCrossReportIndicator());
crossReport = this.crossReportService.create(crossReport);
resultCrossReport.add(crossReport);
}
}
Set<ReferralClient> resultReferralClient = new LinkedHashSet<>();
if (cmsReferral.getReferralClient() != null && !cmsReferral.getReferralClient().isEmpty()) {
for (ReferralClient incomingReferralClient : cmsReferral.getReferralClient()) {
ReferralClient referralClient = new ReferralClient(incomingReferralClient.getApprovalNumber(), incomingReferralClient.getApprovalStatusType(), incomingReferralClient.getDispositionClosureReasonType(), incomingReferralClient.getDispositionCode(), incomingReferralClient.getDispositionDate(), incomingReferralClient.getSelfReportedIndicator(), incomingReferralClient.getStaffPersonAddedIndicator(), referralId, (String) clientIds.toArray()[clientInst], incomingReferralClient.getDispositionClosureDescription(), incomingReferralClient.getAgeNumber(), incomingReferralClient.getAgePeriodCode(), incomingReferralClient.getCountySpecificCode(), incomingReferralClient.getMentalHealthIssuesIndicator(), incomingReferralClient.getAlcoholIndicator(), incomingReferralClient.getDrugIndicator());
referralClient = this.referralClientService.create(referralClient);
resultReferralClient.add(referralClient);
clientInst++;
}
}
PostedReporter savedreporter = new PostedReporter();
if (cmsReferral.getReporter() != null) {
Reporter incomingReporter = cmsReferral.getReporter();
Reporter reporter = new Reporter(incomingReporter.getBadgeNumber(), incomingReporter.getCityName(), incomingReporter.getColltrClientRptrReltnshpType(), incomingReporter.getCommunicationMethodType(), incomingReporter.getConfidentialWaiverIndicator(), incomingReporter.getDrmsMandatedRprtrFeedback(), incomingReporter.getEmployerName(), incomingReporter.getFeedbackDate(), incomingReporter.getFeedbackRequiredIndicator(), incomingReporter.getFirstName(), incomingReporter.getLastName(), incomingReporter.getMandatedReporterIndicator(), incomingReporter.getMessagePhoneExtensionNumber(), incomingReporter.getMessagePhoneNumber(), incomingReporter.getMiddleInitialName(), incomingReporter.getNamePrefixDescription(), incomingReporter.getPrimaryPhoneNumber(), incomingReporter.getPrimaryPhoneExtensionNumber(), incomingReporter.getStateCodeType(), incomingReporter.getStreetName(), incomingReporter.getStreetNumber(), incomingReporter.getSuffixTitleDescription(), incomingReporter.getZipcode(), referralId, incomingReporter.getLawEnforcementId(), incomingReporter.getZipSuffixNumber(), incomingReporter.getCountySpecificCode());
PostedReporter postedreporter = this.reporterService.create(reporter);
savedreporter = postedreporter;
}
return new PostedCmsReferral(referral, postedClients, resultAllegation, resultCrossReport, resultReferralClient, savedreporter);
}
use of gov.ca.cwds.rest.api.domain.cms.PostedCmsReferral in project API by ca-cwds.
the class CmsReferralServiceTest method createReturnsCorrectPostedCmsReferral.
@Test
public void createReturnsCorrectPostedCmsReferral() throws Exception {
Referral referralDomain = MAPPER.readValue(fixture("fixtures/domain/cms/CmsReferral/valid/referralCmsReferral.json"), Referral.class);
gov.ca.cwds.data.persistence.cms.Referral referralToCreate = new gov.ca.cwds.data.persistence.cms.Referral("ABC1234567", referralDomain, "2016-10-31");
Set<ReferralClient> referralClientDomain = MAPPER.readValue(fixture("fixtures/domain/cms/CmsReferral/valid/referralClientCmsReferral.json"), new TypeReference<Set<ReferralClient>>() {
});
gov.ca.cwds.data.persistence.cms.ReferralClient referralClientToCreate = new gov.ca.cwds.data.persistence.cms.ReferralClient((ReferralClient) referralClientDomain.toArray()[0], "2016-10-31");
Set<Allegation> allegationDomain = MAPPER.readValue(fixture("fixtures/domain/cms/CmsReferral/valid/allegationCmsReferral.json"), new TypeReference<Set<Allegation>>() {
});
gov.ca.cwds.data.persistence.cms.Allegation allegationToCreate = new gov.ca.cwds.data.persistence.cms.Allegation("ABC1234567", (Allegation) allegationDomain.toArray()[0], "2016-10-31");
Set<CrossReport> crossReportDomain = MAPPER.readValue(fixture("fixtures/domain/cms/CmsReferral/valid/crossReportCmsReferral.json"), new TypeReference<Set<CrossReport>>() {
});
gov.ca.cwds.data.persistence.cms.CrossReport crossReportToCreate = new gov.ca.cwds.data.persistence.cms.CrossReport("1234567ABC", (CrossReport) crossReportDomain.toArray()[0], "2016-10-31");
Reporter reporterDomain = MAPPER.readValue(fixture("fixtures/domain/cms/CmsReferral/valid/reporterCmsReferral.json"), Reporter.class);
gov.ca.cwds.data.persistence.cms.Reporter reporterToCreate = new gov.ca.cwds.data.persistence.cms.Reporter(reporterDomain, "2016-10-31");
Set<Client> clientDomain = MAPPER.readValue(fixture("fixtures/domain/cms/CmsReferral/valid/clientCmsReferral.json"), new TypeReference<Set<Client>>() {
});
gov.ca.cwds.data.persistence.cms.Client clientToCreate = new gov.ca.cwds.data.persistence.cms.Client("ABC1234567", (Client) clientDomain.toArray()[0], "2016-10-31");
Referral referralRequest = new Referral(referralToCreate);
ReferralClient referralClientRequest = new ReferralClient(referralClientToCreate);
Set<ReferralClient> referralClientRequestSet = new LinkedHashSet<>();
referralClientRequestSet.add(referralClientRequest);
Allegation allegationRequest = new Allegation(allegationToCreate);
Set<Allegation> allegationRequestSet = new LinkedHashSet<>();
allegationRequestSet.add(allegationRequest);
CrossReport crossReportRequest = new CrossReport(crossReportToCreate);
Set<CrossReport> crossReportRequestSet = new LinkedHashSet<>();
crossReportRequestSet.add(crossReportRequest);
Reporter reporterRequest = new Reporter(reporterToCreate);
Client clientRequest = new Client(clientToCreate, false);
Set<Client> clientRequestSet = new LinkedHashSet<>();
clientRequestSet.add(clientRequest);
PostedReferral postedReferral = new PostedReferral(referralToCreate);
ReferralClient postedReferralClient = new ReferralClient(referralClientToCreate);
Set<ReferralClient> postedReferralClientSet = new LinkedHashSet<>();
postedReferralClientSet.add(postedReferralClient);
PostedAllegation postedAllegation = new PostedAllegation(allegationToCreate);
Set<PostedAllegation> postedAllegationSet = new LinkedHashSet<>();
postedAllegationSet.add(postedAllegation);
CrossReport postedCrossReport = new CrossReport(crossReportToCreate);
Set<CrossReport> postedCrossReportSet = new LinkedHashSet<>();
postedCrossReportSet.add(postedCrossReport);
PostedReporter postedReporter = new PostedReporter(reporterToCreate);
PostedClient postedClient = new PostedClient(clientToCreate, false);
Set<PostedClient> postedClientSet = new LinkedHashSet<>();
postedClientSet.add(postedClient);
when(referralDao.create(any(gov.ca.cwds.data.persistence.cms.Referral.class))).thenReturn(referralToCreate);
when(referralClientDao.create(any(gov.ca.cwds.data.persistence.cms.ReferralClient.class))).thenReturn(referralClientToCreate);
when(allegationDao.create(any(gov.ca.cwds.data.persistence.cms.Allegation.class))).thenReturn(allegationToCreate);
when(crossReportDao.create(any(gov.ca.cwds.data.persistence.cms.CrossReport.class))).thenReturn(crossReportToCreate);
when(reporterDao.create(any(gov.ca.cwds.data.persistence.cms.Reporter.class))).thenReturn(reporterToCreate);
when(clientDao.create(any(gov.ca.cwds.data.persistence.cms.Client.class))).thenReturn(clientToCreate);
CmsReferral cmsReferralToCreate = new CmsReferral(referralRequest, clientRequestSet, allegationRequestSet, crossReportRequestSet, referralClientRequestSet, reporterRequest);
CmsReferralService cmsReferralRequest = new CmsReferralService(referralService, clientService, allegationService, crossReportService, referralClientService, reporterService, clientUcService);
PostedCmsReferral expected = new PostedCmsReferral(postedReferral, postedClientSet, postedAllegationSet, postedCrossReportSet, postedReferralClientSet, postedReporter);
PostedCmsReferral returned = (PostedCmsReferral) cmsReferralRequest.create(cmsReferralToCreate);
assertThat(returned, is(expected));
}
Aggregations