List of usage examples for org.apache.commons.lang RandomStringUtils randomNumeric
public static String randomNumeric(int count)
Creates a random string whose length is the number of characters specified.
Characters will be chosen from the set of numeric characters.
From source file:org.ojbc.bundles.adapters.staticmock.samplegen.CustodySampleGenerator.java
Document buildCustodyDetailDoc(PersonElementWrapper person, String recordId) throws ParserConfigurationException { Document rCustodyDetailDoc = getNewDocument(); String personRecId = "Person_" + recordId; Element rootCustodyResultsElement = rCustodyDetailDoc .createElementNS(OjbcNamespaceContext.NS_CUSTODY_QUERY_RESULTS_EXCH_DOC, "CustodyQueryResults"); rootCustodyResultsElement.setPrefix(OjbcNamespaceContext.NS_PREFIX_CUSTODY_QUERY_RESULTS_EXCH_DOC); rCustodyDetailDoc.appendChild(rootCustodyResultsElement); Element docCreationDateElement = XmlUtils.appendElement(rootCustodyResultsElement, OjbcNamespaceContext.NS_NC_30, "DocumentCreationDate"); Element dateTimeElement = XmlUtils.appendElement(docCreationDateElement, OjbcNamespaceContext.NS_NC_30, "DateTime"); dateTimeElement.setTextContent(CURRENT_DATE); Element documentIdElement = XmlUtils.appendElement(rootCustodyResultsElement, OjbcNamespaceContext.NS_NC_30, "DocumentIdentification"); Element docIdValElement = XmlUtils.appendElement(documentIdElement, OjbcNamespaceContext.NS_NC_30, "IdentificationID"); String sDocId = RandomStringUtils.randomNumeric(7); docIdValElement.setTextContent(sDocId); Element sysIdElement = XmlUtils.appendElement(rootCustodyResultsElement, OjbcNamespaceContext.NS_INTEL_31, "SystemIdentification"); Element sysIdValElement = XmlUtils.appendElement(sysIdElement, OjbcNamespaceContext.NS_NC_30, "IdentificationID"); String systemId = RandomStringUtils.randomNumeric(6); sysIdValElement.setTextContent(systemId); Element sysIdSystemNameElement = XmlUtils.appendElement(sysIdElement, OjbcNamespaceContext.NS_NC_30, "SystemName"); sysIdSystemNameElement.setTextContent("Custody Detail"); Element custodyElement = XmlUtils.appendElement(rootCustodyResultsElement, OjbcNamespaceContext.NS_CUSTODY_QUERY_RESULTS_EXT, "Custody"); Element bookingElement = XmlUtils.appendElement(custodyElement, OjbcNamespaceContext.NS_JXDM_51, "Booking"); String bookingId = "Booking_" + recordId; XmlUtils.addAttribute(bookingElement, OjbcNamespaceContext.NS_STRUCTURES_30, "id", bookingId); Element activityDateElement = XmlUtils.appendElement(bookingElement, OjbcNamespaceContext.NS_NC_30, "ActivityDate"); Element activityDateTimeElement = XmlUtils.appendElement(activityDateElement, OjbcNamespaceContext.NS_NC_30, "DateTime"); activityDateTimeElement.setTextContent(CURRENT_DATE); Element detentionFacElement = XmlUtils.appendElement(bookingElement, OjbcNamespaceContext.NS_JXDM_51, "BookingDetentionFacility"); Element bookingFacIdElement = XmlUtils.appendElement(detentionFacElement, OjbcNamespaceContext.NS_NC_30, "FacilityIdentification"); Element facIdValElement = XmlUtils.appendElement(bookingFacIdElement, OjbcNamespaceContext.NS_NC_30, "IdentificationID"); String facIdSample = RandomStringUtils.randomNumeric(6); facIdValElement.setTextContent(facIdSample); Element bookingSubjectElement = XmlUtils.appendElement(bookingElement, OjbcNamespaceContext.NS_JXDM_51, "BookingSubject"); Element roleOfPersonElement = XmlUtils.appendElement(bookingSubjectElement, OjbcNamespaceContext.NS_NC_30, "RoleOfPerson"); XmlUtils.addAttribute(roleOfPersonElement, OjbcNamespaceContext.NS_STRUCTURES_30, "ref", personRecId); Element bookingSubjectIdElement = XmlUtils.appendElement(bookingSubjectElement, OjbcNamespaceContext.NS_JXDM_51, "SubjectIdentification"); Element bookingSubjectIdValElement = XmlUtils.appendElement(bookingSubjectIdElement, OjbcNamespaceContext.NS_NC_30, "IdentificationID"); String bookingSubjectId = RandomStringUtils.randomAlphanumeric(8); bookingSubjectIdValElement.setTextContent(bookingSubjectId); Element detentionElement = XmlUtils.appendElement(custodyElement, OjbcNamespaceContext.NS_JXDM_51, "Detention"); String detentionId = "Detention_" + recordId; XmlUtils.addAttribute(detentionElement, OjbcNamespaceContext.NS_STRUCTURES_30, "id", detentionId); Element detentionActivityDate = XmlUtils.appendElement(detentionElement, OjbcNamespaceContext.NS_NC_30, "ActivityDate"); Element detentionDateValElement = XmlUtils.appendElement(detentionActivityDate, OjbcNamespaceContext.NS_NC_30, "Date"); detentionDateValElement.setTextContent(CURRENT_DATE); Element supervisionCustodyStatusElement = XmlUtils.appendElement(detentionElement, OjbcNamespaceContext.NS_NC_30, "SupervisionCustodyStatus"); Element supervCustStatusDescTxtElement = XmlUtils.appendElement(supervisionCustodyStatusElement, OjbcNamespaceContext.NS_NC_30, "StatusDescriptionText"); List<String> supervCustStatusDecTxtList = Arrays.asList("Pretrial", "Post-Trial", "In-Trial"); int custStatusIndex = RANDOM.nextInt(supervCustStatusDecTxtList.size()); String custStatusSample = supervCustStatusDecTxtList.get(custStatusIndex); supervCustStatusDescTxtElement.setTextContent(custStatusSample); Element pretrialCatCodeElement = XmlUtils.appendElement(supervisionCustodyStatusElement, OjbcNamespaceContext.NS_ADAMS_CO_BOOKING_CODES_EXT, "PreTrialCategoryCode"); List<String> pretrialCatCodeList = Arrays.asList("C-SRP", "A-XYZ", "B-897"); int pretrialCatCodeIndex = RANDOM.nextInt(pretrialCatCodeList.size()); String pretrialCatCodeSample = pretrialCatCodeList.get(pretrialCatCodeIndex); pretrialCatCodeElement.setTextContent(pretrialCatCodeSample); Element supervisionAugmentElement = XmlUtils.appendElement(detentionElement, OjbcNamespaceContext.NS_JXDM_51, "SupervisionAugmentation"); Element supervisionReleaseDateElement = XmlUtils.appendElement(supervisionAugmentElement, OjbcNamespaceContext.NS_JXDM_51, "SupervisionReleaseDate"); Element supervisionReleaseDateValElement = XmlUtils.appendElement(supervisionReleaseDateElement, OjbcNamespaceContext.NS_NC_30, "DateTime"); supervisionReleaseDateValElement.setTextContent(CURRENT_DATE); Element supervisionAreaIdElement = XmlUtils.appendElement(supervisionAugmentElement, OjbcNamespaceContext.NS_JXDM_51, "SupervisionAreaIdentification"); Element supervisionAreaIdValElement = XmlUtils.appendElement(supervisionAreaIdElement, OjbcNamespaceContext.NS_NC_30, "IdentificationID"); String supervisionAreaId = RandomStringUtils.randomNumeric(9); supervisionAreaIdValElement.setTextContent(supervisionAreaId); Element immigrationHoldElement = XmlUtils.appendElement(detentionElement, OjbcNamespaceContext.NS_CUSTODY_QUERY_RESULTS_EXT, "DetentiontImmigrationHoldIndicator"); boolean detentImmigHoldSample = RANDOM.nextBoolean(); String sDetentImmigHoldSample = String.valueOf(detentImmigHoldSample); immigrationHoldElement.setTextContent(sDetentImmigHoldSample); Element holdForAgencyElement = XmlUtils.appendElement(detentionElement, OjbcNamespaceContext.NS_CUSTODY_QUERY_RESULTS_EXT, "HoldForAgency"); Element orgNameElement = XmlUtils.appendElement(holdForAgencyElement, OjbcNamespaceContext.NS_NC_30, "OrganizationName"); List<String> holdForAgencyOrgNameList = Arrays.asList("Acme", "Chips"); int holdForAgencyIndex = RANDOM.nextInt(holdForAgencyOrgNameList.size()); String sHoldForAgencyOrgNameSample = holdForAgencyOrgNameList.get(holdForAgencyIndex); orgNameElement.setTextContent(sHoldForAgencyOrgNameSample); Element inmateWorkReleaseIndicator = XmlUtils.appendElement(detentionElement, OjbcNamespaceContext.NS_CUSTODY_QUERY_RESULTS_EXT, "InmateWorkReleaseIndicator"); boolean inmateWorkReleaseSample = RANDOM.nextBoolean(); String sInmateWorkReleaseSample = String.valueOf(inmateWorkReleaseSample); inmateWorkReleaseIndicator.setTextContent(sInmateWorkReleaseSample); Element inmateWorkerIndicatorElement = XmlUtils.appendElement(detentionElement, OjbcNamespaceContext.NS_CUSTODY_QUERY_RESULTS_EXT, "InmateWorkerIndicator"); boolean bInmateWorkerSample = RANDOM.nextBoolean(); String sInmateWorkerSample = String.valueOf(bInmateWorkerSample); inmateWorkerIndicatorElement.setTextContent(sInmateWorkerSample); Element bailBondElement = XmlUtils.appendElement(custodyElement, OjbcNamespaceContext.NS_JXDM_51, "BailBond"); String bailBondId = "Bond_" + recordId; XmlUtils.addAttribute(bailBondElement, OjbcNamespaceContext.NS_STRUCTURES_30, "id", bailBondId); Element activityCatElement = XmlUtils.appendElement(bailBondElement, OjbcNamespaceContext.NS_NC_30, "ActivityCategoryText"); List<String> bailBondActivitySampleList = Arrays.asList("Traffic Violation", "Speeding", "Noise Violation"); int bailBondActivityIndex = RANDOM.nextInt(bailBondActivitySampleList.size()); String bailBondActivity = bailBondActivitySampleList.get(bailBondActivityIndex); activityCatElement.setTextContent(bailBondActivity); Element activityStatusElement = XmlUtils.appendElement(bailBondElement, OjbcNamespaceContext.NS_NC_30, "ActivityStatus"); Element activityStatusDescTxtElement = XmlUtils.appendElement(activityStatusElement, OjbcNamespaceContext.NS_NC_30, "StatusDescriptionText"); List<String> bailBondStatusList = Arrays.asList("Paid", "Unpaid", "Partial Payment"); int bailBondStatusIndex = RANDOM.nextInt(bailBondStatusList.size()); String sBailBond = bailBondStatusList.get(bailBondStatusIndex); activityStatusDescTxtElement.setTextContent(sBailBond); Element bailBondAmountElement = XmlUtils.appendElement(bailBondElement, OjbcNamespaceContext.NS_JXDM_51, "BailBondAmount"); Element bailBondAmountValElement = XmlUtils.appendElement(bailBondAmountElement, OjbcNamespaceContext.NS_NC_30, "Amount"); String sBailAmount = RandomStringUtils.randomNumeric(4); bailBondAmountValElement.setTextContent(sBailAmount); Element chargeElement = XmlUtils.appendElement(custodyElement, OjbcNamespaceContext.NS_JXDM_51, "Charge"); String chargeId = "Charge_" + recordId; XmlUtils.addAttribute(chargeElement, OjbcNamespaceContext.NS_STRUCTURES_30, "id", chargeId); List<String> chargeCatList = Arrays.asList("Speeding", "Seat Belt Usage"); int chargeCatIndex = RANDOM.nextInt(chargeCatList.size()); String sChargeCatSample = chargeCatList.get(chargeCatIndex); Element chargeCatDescTxtElement = XmlUtils.appendElement(chargeElement, OjbcNamespaceContext.NS_JXDM_51, "ChargeCategoryDescriptionText"); chargeCatDescTxtElement.setTextContent(sChargeCatSample); List<String> chargeDescriptionTxtList = Arrays.asList("Intoxicated", "Speeding", "No Seatbelt"); int chargeDescRandomIndex = RANDOM.nextInt(chargeDescriptionTxtList.size()); String sChargeDesc = chargeDescriptionTxtList.get(chargeDescRandomIndex); Element chargeDescriptionTextElement = XmlUtils.appendElement(chargeElement, OjbcNamespaceContext.NS_JXDM_51, "ChargeDescriptionText"); chargeDescriptionTextElement.setTextContent(sChargeDesc); Element chargeHighestIndicatorElement = XmlUtils.appendElement(chargeElement, OjbcNamespaceContext.NS_JXDM_51, "ChargeHighestIndicator"); boolean bChargeHighestIndicatorSample = RANDOM.nextBoolean(); String sChargeHighestIndicatorSample = String.valueOf(bChargeHighestIndicatorSample); chargeHighestIndicatorElement.setTextContent(sChargeHighestIndicatorSample); Element chargeSequenceIDElement = XmlUtils.appendElement(chargeElement, OjbcNamespaceContext.NS_JXDM_51, "ChargeSequenceID"); String sChargeSeqId = RandomStringUtils.randomNumeric(7); chargeSequenceIDElement.setTextContent(sChargeSeqId); Element chargeStatuteElement = XmlUtils.appendElement(chargeElement, OjbcNamespaceContext.NS_JXDM_51, "ChargeStatute"); Element chargeStatuteCodeIdElement = XmlUtils.appendElement(chargeStatuteElement, OjbcNamespaceContext.NS_JXDM_51, "StatuteCodeSectionIdentification"); Element chargeStatuteCodeIdValElement = XmlUtils.appendElement(chargeStatuteCodeIdElement, OjbcNamespaceContext.NS_NC_30, "IdentificationID"); String sStatuteCodeId = RandomStringUtils.randomNumeric(6); chargeStatuteCodeIdValElement.setTextContent(sStatuteCodeId); // Arrest// w ww. ja v a 2s. c o m Element arrestElement = XmlUtils.appendElement(custodyElement, OjbcNamespaceContext.NS_JXDM_51, "Arrest"); String arrestId = "Arrest_" + recordId; XmlUtils.addAttribute(arrestElement, OjbcNamespaceContext.NS_STRUCTURES_30, "id", arrestId); Element arrestAgencyElement = XmlUtils.appendElement(arrestElement, OjbcNamespaceContext.NS_JXDM_51, "ArrestAgency"); Element arrestOrgName = XmlUtils.appendElement(arrestAgencyElement, OjbcNamespaceContext.NS_NC_30, "OrganizationName"); List<String> arrestAgencyList = Arrays.asList("NYPD", "LAPD", "CHIPS", "Acme", "Matlock"); int arrestAgencyIndex = RANDOM.nextInt(arrestAgencyList.size()); String sArrestAgency = arrestAgencyList.get(arrestAgencyIndex); arrestOrgName.setTextContent(sArrestAgency); Element arrestLocationElement = XmlUtils.appendElement(arrestElement, OjbcNamespaceContext.NS_JXDM_51, "ArrestLocation"); String arrestLocationId = "Loc_" + recordId; XmlUtils.addAttribute(arrestLocationElement, OjbcNamespaceContext.NS_STRUCTURES_30, "ref", arrestLocationId); Element nextCourtEventElement = XmlUtils.appendElement(custodyElement, OjbcNamespaceContext.NS_NIEM_CYFS_31, "NextCourtEvent"); String nextCourtEventId = "Event_" + recordId; XmlUtils.addAttribute(nextCourtEventElement, OjbcNamespaceContext.NS_STRUCTURES_30, "id", nextCourtEventId); Element nextCourtActivityDateElement = XmlUtils.appendElement(nextCourtEventElement, OjbcNamespaceContext.NS_NC_30, "ActivityDate"); Element activityDateValElement = XmlUtils.appendElement(nextCourtActivityDateElement, OjbcNamespaceContext.NS_NC_30, "Date"); activityDateValElement.setTextContent(CURRENT_DATE); Element courtEventCourtElement = XmlUtils.appendElement(nextCourtEventElement, OjbcNamespaceContext.NS_JXDM_51, "CourtEventCourt"); Element courtNameElement = XmlUtils.appendElement(courtEventCourtElement, OjbcNamespaceContext.NS_JXDM_51, "CourtName"); List<String> courtNameSampleList = Arrays.asList("Matlock", "Supreme Court", "Traffic Court"); int courtSampleIndex = RANDOM.nextInt(courtNameSampleList.size()); String sCourtSample = courtNameSampleList.get(courtSampleIndex); courtNameElement.setTextContent(sCourtSample); Element personElement = XmlUtils.appendElement(custodyElement, OjbcNamespaceContext.NS_NC_30, "Person"); XmlUtils.addAttribute(personElement, OjbcNamespaceContext.NS_STRUCTURES_30, "id", personRecId); DateTime personDob = person.birthdate; Element personBirthDateElement = XmlUtils.appendElement(personElement, OjbcNamespaceContext.NS_NC_30, "PersonBirthDate"); Element personDobValElement = XmlUtils.appendElement(personBirthDateElement, OjbcNamespaceContext.NS_NC_30, "Date"); String sPersonDob = personDob.toString("yyyy-MM-dd"); personDobValElement.setTextContent(sPersonDob); Element personDigitalImgElement = XmlUtils.appendElement(personElement, OjbcNamespaceContext.NS_NC_30, "PersonDigitalImage"); Element personImgBinElement = XmlUtils.appendElement(personDigitalImgElement, OjbcNamespaceContext.NS_NC_30, "Base64BinaryObject"); String sSampleImgBin = RandomStringUtils.randomAlphanumeric(20); personImgBinElement.setTextContent(sSampleImgBin); List<String> ethnicitySampleList = Arrays.asList("African American", "Latino", "Caucasion"); int ethnicityRandomIndex = RANDOM.nextInt(ethnicitySampleList.size()); String ethnicitySample = ethnicitySampleList.get(ethnicityRandomIndex); Element ethnicityElement = XmlUtils.appendElement(personElement, OjbcNamespaceContext.NS_JXDM_51, "PersonEthnicityCode"); ethnicityElement.setTextContent(ethnicitySample); Element personNameElement = XmlUtils.appendElement(personElement, OjbcNamespaceContext.NS_NC_30, "PersonName"); String sPersonFirstName = person.firstName; Element personGivenNameElement = XmlUtils.appendElement(personNameElement, OjbcNamespaceContext.NS_NC_30, "PersonGivenName"); personGivenNameElement.setTextContent(sPersonFirstName); String sPersonMiddleName = person.middleName; Element personMiddleNameElement = XmlUtils.appendElement(personNameElement, OjbcNamespaceContext.NS_NC_30, "PersonMiddleName"); personMiddleNameElement.setTextContent(sPersonMiddleName); String sPersonLastName = person.lastName; Element personSurNameElement = XmlUtils.appendElement(personNameElement, OjbcNamespaceContext.NS_NC_30, "PersonSurName"); personSurNameElement.setTextContent(sPersonLastName); List<String> raceSampleList = Arrays.asList("B", "A", "W"); int raceIndex = RANDOM.nextInt(raceSampleList.size()); String sRandomRace = raceSampleList.get(raceIndex); Element personRaceElement = XmlUtils.appendElement(personElement, OjbcNamespaceContext.NS_JXDM_51, "PersonRaceCode"); personRaceElement.setTextContent(sRandomRace); Element personResidentTxtElement = XmlUtils.appendElement(personElement, OjbcNamespaceContext.NS_NC_30, "PersonResidentText"); String sampleResidentTxt = person.addressStreetName; personResidentTxtElement.setTextContent(sampleResidentTxt); String sPersonSex = person.sex; Element personSexElement = XmlUtils.appendElement(personElement, OjbcNamespaceContext.NS_JXDM_51, "PersonSexCode"); personSexElement.setTextContent(sPersonSex); String sPersonSSN = RandomStringUtils.randomNumeric(9); Element personSsnElement = XmlUtils.appendElement(personElement, OjbcNamespaceContext.NS_NC_30, "PersonSSNIdentification"); Element personSsnValElement = XmlUtils.appendElement(personSsnElement, OjbcNamespaceContext.NS_NC_30, "IdentificationID"); personSsnValElement.setTextContent(sPersonSSN); Element personAugmentElement = XmlUtils.appendElement(personElement, OjbcNamespaceContext.NS_JXDM_51, "PersonAugmentation"); Element personStateFingerIdElement = XmlUtils.appendElement(personAugmentElement, OjbcNamespaceContext.NS_JXDM_51, "PersonStateFingerprintIdentification"); Element personStateFingerIdValElement = XmlUtils.appendElement(personStateFingerIdElement, OjbcNamespaceContext.NS_NC_30, "IdentificationID"); String sPersonSid = RandomStringUtils.randomAlphanumeric(8); personStateFingerIdValElement.setTextContent(sPersonSid); Element locationElement = XmlUtils.appendElement(custodyElement, OjbcNamespaceContext.NS_NC_30, "Location"); String locationId = "Loc_" + recordId; XmlUtils.addAttribute(locationElement, OjbcNamespaceContext.NS_STRUCTURES_30, "id", locationId); Element locationAddressElement = XmlUtils.appendElement(locationElement, OjbcNamespaceContext.NS_NC_30, "Address"); Element locAddressFullElement = XmlUtils.appendElement(locationAddressElement, OjbcNamespaceContext.NS_NC_30, "AddressFullText"); String locAddress = person.addressStreetName; locAddressFullElement.setTextContent(locAddress); Element activityChargeAssocElement = XmlUtils.appendElement(custodyElement, OjbcNamespaceContext.NS_JXDM_51, "ActivityChargeAssociation"); Element activityBookingElement = XmlUtils.appendElement(activityChargeAssocElement, OjbcNamespaceContext.NS_NC_30, "Activity"); XmlUtils.addAttribute(activityBookingElement, OjbcNamespaceContext.NS_STRUCTURES_30, "ref", bookingId); Element activityEventElement = XmlUtils.appendElement(activityChargeAssocElement, OjbcNamespaceContext.NS_NC_30, "Activity"); XmlUtils.addAttribute(activityEventElement, OjbcNamespaceContext.NS_STRUCTURES_30, "ref", nextCourtEventId); Element activityDetentionElement = XmlUtils.appendElement(activityChargeAssocElement, OjbcNamespaceContext.NS_NC_30, "Activity"); XmlUtils.addAttribute(activityDetentionElement, OjbcNamespaceContext.NS_STRUCTURES_30, "ref", detentionId); Element activityArrestElement = XmlUtils.appendElement(activityChargeAssocElement, OjbcNamespaceContext.NS_NC_30, "Activity"); XmlUtils.addAttribute(activityArrestElement, OjbcNamespaceContext.NS_STRUCTURES_30, "ref", arrestId); Element activityChargeElement = XmlUtils.appendElement(activityChargeAssocElement, OjbcNamespaceContext.NS_JXDM_51, "Charge"); XmlUtils.addAttribute(activityChargeElement, OjbcNamespaceContext.NS_STRUCTURES_30, "ref", chargeId); Element bailBondChargeAssocElement = XmlUtils.appendElement(custodyElement, OjbcNamespaceContext.NS_JXDM_51, "BailBondChargeAssociation"); Element bailBondRefElement = XmlUtils.appendElement(bailBondChargeAssocElement, OjbcNamespaceContext.NS_JXDM_51, "BailBond"); XmlUtils.addAttribute(bailBondRefElement, OjbcNamespaceContext.NS_STRUCTURES_30, "ref", bailBondId); Element bailBondChargeRefElement = XmlUtils.appendElement(bailBondChargeAssocElement, OjbcNamespaceContext.NS_JXDM_51, "Charge"); XmlUtils.addAttribute(bailBondChargeRefElement, OjbcNamespaceContext.NS_STRUCTURES_30, "ref", chargeId); Element sourceSysNameTxtElement = XmlUtils.appendElement(rootCustodyResultsElement, OjbcNamespaceContext.NS_CUSTODY_QUERY_RESULTS_EXT, "SourceSystemNameText"); sourceSysNameTxtElement.setTextContent("Custody"); Element queryResultCatTxtElement = XmlUtils.appendElement(rootCustodyResultsElement, OjbcNamespaceContext.NS_CUSTODY_QUERY_RESULTS_EXT, "QueryResultCategoryText"); queryResultCatTxtElement.setTextContent("Custody Detail"); Element infoOwningOrgElement = XmlUtils.appendElement(rootCustodyResultsElement, OjbcNamespaceContext.NS_CUSTODY_QUERY_RESULTS_EXT, "InformationOwningOrganization"); List<String> orgBranchNameList = Arrays.asList("Police", "Fire Department", "Public Safety", "EMT"); int branchNameIndex = RANDOM.nextInt(orgBranchNameList.size()); String sBranchName = orgBranchNameList.get(branchNameIndex); Element orgBranchNameElement = XmlUtils.appendElement(infoOwningOrgElement, OjbcNamespaceContext.NS_NC_30, "OrganizationBranchName"); orgBranchNameElement.setTextContent(sBranchName); Element infoOwnOrgElement = XmlUtils.appendElement(infoOwningOrgElement, OjbcNamespaceContext.NS_NC_30, "OrganizationName"); List<String> orgNameList = Arrays.asList("FLPD", "RIPD", "HIPD", "MEPD"); int orgNameIndex = RANDOM.nextInt(orgNameList.size()); String sOrgSample = orgNameList.get(orgNameIndex); infoOwnOrgElement.setTextContent(sOrgSample); Element metadataElement = XmlUtils.appendElement(rootCustodyResultsElement, OjbcNamespaceContext.NS_NC_30, "Metadata"); Element lastUpdatedDateElement = XmlUtils.appendElement(metadataElement, OjbcNamespaceContext.NS_NC_30, "LastUpdatedDate"); Element lastUpdatedDateValElement = XmlUtils.appendElement(lastUpdatedDateElement, OjbcNamespaceContext.NS_NC_30, "Date"); lastUpdatedDateValElement.setTextContent(CURRENT_DATE); OjbcNamespaceContext ojbcNamespaceContext = new OjbcNamespaceContext(); ojbcNamespaceContext.populateRootNamespaceDeclarations(rootCustodyResultsElement); return rCustodyDetailDoc; }
From source file:org.ojbc.bundles.adapters.staticmock.samplegen.VehicleCrashSampleGenerator.java
private Document buildVehicleCrashDetailDoc(PersonElementWrapper iGeneratedPerson) throws ParserConfigurationException, IOException { PersonElementWrapper randomPerson2 = getRandomIdentity(null); Document rVehicleCrashDetailDoc = getNewDocument(); Element rootVehicCrashElement = rVehicleCrashDetailDoc.createElementNS( OjbcNamespaceContext.NS_VEHICLE_CRASH_QUERY_RESULT_EXCH_DOC, "VehicleCrashQueryResults"); rootVehicCrashElement.setPrefix(OjbcNamespaceContext.NS_PREFIX_VEHICLE_CRASH_QUERY_RESULT_EXCH_DOC); rVehicleCrashDetailDoc.appendChild(rootVehicCrashElement); Element vehicleCrashReportElement = XmlUtils.appendElement(rootVehicCrashElement, OjbcNamespaceContext.NS_VEHICLE_CRASH_QUERY_RESULT_EXT, "VehicleCrashReport"); Element docCreateDateElement = XmlUtils.appendElement(vehicleCrashReportElement, OjbcNamespaceContext.NS_NC_30, "DocumentCreationDate"); Element docCreateDateValElement = XmlUtils.appendElement(docCreateDateElement, OjbcNamespaceContext.NS_NC_30, "Date"); docCreateDateValElement.setTextContent(CURRENT_DATE); Element docIdElement = XmlUtils.appendElement(vehicleCrashReportElement, OjbcNamespaceContext.NS_NC_30, "DocumentIdentification"); Element docIdValElement = XmlUtils.appendElement(docIdElement, OjbcNamespaceContext.NS_NC_30, "IdentificationID"); String sampleDocId = RandomStringUtils.randomNumeric(9); docIdValElement.setTextContent(sampleDocId); Element docApprovedDateElement = XmlUtils.appendElement(vehicleCrashReportElement, OjbcNamespaceContext.NS_VEHICLE_CRASH_QUERY_RESULT_EXT, "DocumentApprovedDate"); Element docApprovedDateValElement = XmlUtils.appendElement(docApprovedDateElement, OjbcNamespaceContext.NS_NC_30, "Date"); docApprovedDateValElement.setTextContent(CURRENT_DATE); Element crashElement = XmlUtils.appendElement(vehicleCrashReportElement, OjbcNamespaceContext.NS_JXDM_51, "Crash"); XmlUtils.addAttribute(crashElement, OjbcNamespaceContext.NS_STRUCTURES_30, "id", "Crash_01"); Element activityDateElement = XmlUtils.appendElement(crashElement, OjbcNamespaceContext.NS_NC_30, "ActivityDate"); Element dateTimeElement = XmlUtils.appendElement(activityDateElement, OjbcNamespaceContext.NS_NC_30, "DateTime"); dateTimeElement.setTextContent(CURRENT_DATE); Element activityAugmentElement = XmlUtils.appendElement(crashElement, OjbcNamespaceContext.NS_JXDM_51, "ActivityAugmentation"); Element narrativeElement = XmlUtils.appendElement(activityAugmentElement, OjbcNamespaceContext.NS_JXDM_51, "Narrative"); Element narrativeCommentTxtElement = XmlUtils.appendElement(narrativeElement, OjbcNamespaceContext.NS_NC_30, "CommentText"); List<String> sampleNarrativeList = Arrays.asList("Pileup", "Rush Hour", "Car hit a truck"); String sampleNarrative = (String) generateRandomValueFromList(sampleNarrativeList); narrativeCommentTxtElement.setTextContent(sampleNarrative); Element incidentAugmentElement = XmlUtils.appendElement(crashElement, OjbcNamespaceContext.NS_JXDM_51, "IncidentAugmentation"); Element incidentDamagedItemElement = XmlUtils.appendElement(incidentAugmentElement, OjbcNamespaceContext.NS_JXDM_51, "IncidentDamagedItem"); Element itemDescTxtElement = XmlUtils.appendElement(incidentDamagedItemElement, OjbcNamespaceContext.NS_NC_30, "ItemDescriptionText"); List<String> sampleDamagedItemList = Arrays.asList("Ferrari", "School Bus", "Hummer", "Lamborghini", "Camaro"); String sampleDamagedItem = (String) generateRandomValueFromList(sampleDamagedItemList); itemDescTxtElement.setTextContent(sampleDamagedItem); Element itemOwnerElement = XmlUtils.appendElement(incidentDamagedItemElement, OjbcNamespaceContext.NS_NC_30, "ItemOwner"); Element itemOwnerEntOrgElement = XmlUtils.appendElement(itemOwnerElement, OjbcNamespaceContext.NS_NC_30, "EntityOrganization"); XmlUtils.addAttribute(itemOwnerEntOrgElement, OjbcNamespaceContext.NS_STRUCTURES_30, "ref", "Property_Owner_01"); Element entityPersonElement = XmlUtils.appendElement(itemOwnerEntOrgElement, OjbcNamespaceContext.NS_NC_30, "EntityPerson"); XmlUtils.addAttribute(entityPersonElement, OjbcNamespaceContext.NS_STRUCTURES_30, "ref", "Property_Owner_02"); Element crashCodesElement = XmlUtils.appendElement(incidentDamagedItemElement, OjbcNamespaceContext.NS_ME_VEHICLE_CRASH_CODES, "PropertyCategoryCode"); List<String> sampleCrashCodeList = Arrays.asList("SB", "CA", "FER", "LMB"); String sampleCrashCode = (String) generateRandomValueFromList(sampleCrashCodeList); crashCodesElement.setTextContent(sampleCrashCode); Element incidentReportingOfficialElement = XmlUtils.appendElement(incidentAugmentElement, OjbcNamespaceContext.NS_JXDM_51, "IncidentReportingOfficial"); Element roleOfPersonElement = XmlUtils.appendElement(incidentReportingOfficialElement, OjbcNamespaceContext.NS_NC_30, "RoleOfPerson"); XmlUtils.addAttribute(roleOfPersonElement, OjbcNamespaceContext.NS_STRUCTURES_30, "ref", "Reporting_Official_01"); Element badgeIdElement = XmlUtils.appendElement(incidentReportingOfficialElement, OjbcNamespaceContext.NS_JXDM_51, "EnforcementOfficialBadgeIdentification"); Element badgeIdValElement = XmlUtils.appendElement(badgeIdElement, OjbcNamespaceContext.NS_NC_30, "IdentificationID"); String sampleBadgeId = RandomStringUtils.randomNumeric(8); badgeIdValElement.setTextContent(sampleBadgeId); Element incidentWitnessElement = XmlUtils.appendElement(incidentAugmentElement, OjbcNamespaceContext.NS_JXDM_51, "IncidentWitness"); Element witnessRolePersonElement = XmlUtils.appendElement(incidentWitnessElement, OjbcNamespaceContext.NS_NC_30, "RoleOfPerson"); XmlUtils.addAttribute(witnessRolePersonElement, OjbcNamespaceContext.NS_STRUCTURES_30, "ref", "Witness_01"); Element crashInfoSourceElement = XmlUtils.appendElement(crashElement, OjbcNamespaceContext.NS_JXDM_51, "CrashInformationSource"); Element orgORIIdElement = XmlUtils.appendElement(crashInfoSourceElement, OjbcNamespaceContext.NS_JXDM_51, "OrganizationORIIdentification"); Element orgOriIdValElement = XmlUtils.appendElement(orgORIIdElement, OjbcNamespaceContext.NS_NC_30, "IdentificationID"); String sampleOriId = RandomStringUtils.randomNumeric(8); orgOriIdValElement.setTextContent(sampleOriId); Element crashWorkZoneElement = XmlUtils.appendElement(crashElement, OjbcNamespaceContext.NS_JXDM_51, "CrashWorkZone"); Element workersPresentElement = XmlUtils.appendElement(crashWorkZoneElement, OjbcNamespaceContext.NS_JXDM_51, "WorkZoneWorkersPresenceIndicationCode"); workersPresentElement.setTextContent(getRandomBooleanString()); Element copsAtWorkZoneCodeElement = XmlUtils.appendElement(crashWorkZoneElement, OjbcNamespaceContext.NS_ME_VEHICLE_CRASH_CODES, "LawEnforcementPresentAtWorkZoneCode"); copsAtWorkZoneCodeElement.setTextContent(getRandomBooleanString()); Element nearWorkZoneElement = XmlUtils.appendElement(crashWorkZoneElement, OjbcNamespaceContext.NS_VEHICLE_CRASH_QUERY_RESULT_EXT, "NearWorkZoneIndicator"); nearWorkZoneElement.setTextContent(getRandomBooleanString()); Element workZoneWorkersPresentIndicator = XmlUtils.appendElement(crashWorkZoneElement, OjbcNamespaceContext.NS_VEHICLE_CRASH_QUERY_RESULT_EXT, "WorkZoneWorkersPresentIndicator"); workZoneWorkersPresentIndicator.setTextContent(getRandomBooleanString()); Element crashVehicleElement = XmlUtils.appendElement(crashElement, OjbcNamespaceContext.NS_JXDM_51, "CrashVehicle"); Element roleOfItemElement = XmlUtils.appendElement(crashVehicleElement, OjbcNamespaceContext.NS_NC_30, "RoleOfItem"); XmlUtils.addAttribute(roleOfItemElement, OjbcNamespaceContext.NS_STRUCTURES_30, "ref", "Vehicle_01"); Element trafficDeviceWorksElement = XmlUtils.appendElement(crashVehicleElement, OjbcNamespaceContext.NS_JXDM_51, "VehicleTrafficControlDeviceOperationalIndicator"); trafficDeviceWorksElement.setTextContent(getRandomBooleanString()); Element crashVehicleSpeedElement = XmlUtils.appendElement(crashVehicleElement, OjbcNamespaceContext.NS_JXDM_51, "CrashVehicleLegalSpeedRateMeasure"); Element vehicleSpeedValElement = XmlUtils.appendElement(crashVehicleSpeedElement, OjbcNamespaceContext.NS_NC_30, "MeasureValueText"); String sampleSpeed = RandomStringUtils.randomNumeric(3); vehicleSpeedValElement.setTextContent(sampleSpeed); Element crashDriverElement = XmlUtils.appendElement(crashVehicleElement, OjbcNamespaceContext.NS_JXDM_51, "CrashDriver"); Element crashDriverRoleOfPersonElement = XmlUtils.appendElement(crashDriverElement, OjbcNamespaceContext.NS_NC_30, "RoleOfPerson"); XmlUtils.addAttribute(crashDriverRoleOfPersonElement, OjbcNamespaceContext.NS_STRUCTURES_30, "ref", "Driver_01"); Element driverLicenseElement = XmlUtils.appendElement(crashDriverElement, OjbcNamespaceContext.NS_JXDM_51, "DriverLicense"); XmlUtils.addAttribute(driverLicenseElement, OjbcNamespaceContext.NS_STRUCTURES_30, "ref", "Driver_License_01"); Element driverCatCodeElement = XmlUtils.appendElement(crashDriverElement, OjbcNamespaceContext.NS_ME_VEHICLE_CRASH_CODES, "DriverCategoryCode"); String sampleDriverCatCode = RandomStringUtils.randomAlphabetic(2); driverCatCodeElement.setTextContent(sampleDriverCatCode); Element alcoholTestCatCodeElement = XmlUtils.appendElement(crashDriverElement, OjbcNamespaceContext.NS_ME_VEHICLE_CRASH_CODES, "AlcoholTestCategoryCode"); String sampleAlcoholCode = RandomStringUtils.randomAlphabetic(2); alcoholTestCatCodeElement.setTextContent(sampleAlcoholCode); Element drugTestCatCodeElement = XmlUtils.appendElement(crashDriverElement, OjbcNamespaceContext.NS_ME_VEHICLE_CRASH_CODES, "DrugTestCategoryCode"); String sampleDrugTestCode = RandomStringUtils.randomNumeric(1); drugTestCatCodeElement.setTextContent(sampleDrugTestCode); Element drugTestResultCodeElement = XmlUtils.appendElement(crashDriverElement, OjbcNamespaceContext.NS_ME_VEHICLE_CRASH_CODES, "DrugTestResultCode"); drugTestResultCodeElement.setTextContent(getRandomBooleanString()); Element alcoholTestResultsPendingElement = XmlUtils.appendElement(crashDriverElement, OjbcNamespaceContext.NS_VEHICLE_CRASH_QUERY_RESULT_EXT, "AlcoholTestResultsPendingtIndicator"); alcoholTestResultsPendingElement.setTextContent(getRandomBooleanString()); Element crashVehicleOccupantElement = XmlUtils.appendElement(crashVehicleElement, OjbcNamespaceContext.NS_JXDM_51, "CrashVehicleOccupant"); Element driverRoleOfPersonElement = XmlUtils.appendElement(crashVehicleOccupantElement, OjbcNamespaceContext.NS_NC_30, "RoleOfPerson"); XmlUtils.addAttribute(driverRoleOfPersonElement, OjbcNamespaceContext.NS_STRUCTURES_30, "ref", "Driver_01"); Element occupantRoleOfPersonElement = XmlUtils.appendElement(crashVehicleOccupantElement, OjbcNamespaceContext.NS_NC_30, "RoleOfPerson"); XmlUtils.addAttribute(occupantRoleOfPersonElement, OjbcNamespaceContext.NS_STRUCTURES_30, "ref", "Occupant_01"); Element vehicleOwnerRoleOfPersonElement = XmlUtils.appendElement(crashVehicleOccupantElement, OjbcNamespaceContext.NS_NC_30, "RoleOfPerson"); XmlUtils.addAttribute(vehicleOwnerRoleOfPersonElement, OjbcNamespaceContext.NS_STRUCTURES_30, "ref", "Vehicle_Owner_01"); Element hazmatElement = XmlUtils.appendElement(crashVehicleElement, OjbcNamespaceContext.NS_VEHICLE_CRASH_QUERY_RESULT_EXT, "HazmatPlacardIndicator"); hazmatElement.setTextContent(getRandomBooleanString()); Element carDirectionElement = XmlUtils.appendElement(crashVehicleElement, OjbcNamespaceContext.NS_ME_VEHICLE_CRASH_CODES, "VehicleTravelDirectionCode"); List<String> sampleDirectionList = Arrays.asList("North", "South", "East", "West"); String sampleDirection = (String) generateRandomValueFromList(sampleDirectionList); carDirectionElement.setTextContent(sampleDirection); Element carWeightElement = XmlUtils.appendElement(crashVehicleElement, OjbcNamespaceContext.NS_ME_VEHICLE_CRASH_CODES, "GrossVehicleWeightRatingCode"); String sampleWeight = RandomStringUtils.randomNumeric(4); carWeightElement.setTextContent(sampleWeight); Element damageElement = XmlUtils.appendElement(crashVehicleElement, OjbcNamespaceContext.NS_ME_VEHICLE_CRASH_CODES, "ExtentOfDamageCode"); List<String> sampleDamageList = Arrays.asList("Very Bad", "Really Bad", "Light", "Totaled", "$500.75", "$6800.99"); String sampleDamage = (String) generateRandomValueFromList(sampleDamageList); damageElement.setTextContent(sampleDamage); Element speedLimitElement = XmlUtils.appendElement(crashVehicleElement, OjbcNamespaceContext.NS_ME_VEHICLE_CRASH_CODES, "PostedSpeedLimitCode"); String sampleSpeedLimit = RandomStringUtils.randomNumeric(2); speedLimitElement.setTextContent(sampleSpeedLimit); Element schoolBusElement = XmlUtils.appendElement(crashVehicleElement, OjbcNamespaceContext.NS_ME_VEHICLE_CRASH_CODES, "SchoolBusRelatedCode"); schoolBusElement.setTextContent(getRandomBooleanString()); Element damageOverThreshElement = XmlUtils.appendElement(crashVehicleElement, OjbcNamespaceContext.NS_VEHICLE_CRASH_QUERY_RESULT_EXT, "TotalDamageOverThresholdtIndicator"); damageOverThreshElement.setTextContent(getRandomBooleanString()); Element nineSeatsElement = XmlUtils.appendElement(crashVehicleElement, OjbcNamespaceContext.NS_VEHICLE_CRASH_QUERY_RESULT_EXT, "VehicleNineOrMoreSeatstIndicator"); nineSeatsElement.setTextContent(getRandomBooleanString()); Element exemptVehicleElement = XmlUtils.appendElement(crashVehicleElement, OjbcNamespaceContext.NS_VEHICLE_CRASH_QUERY_RESULT_EXT, "ExemptVehicleIndicator"); exemptVehicleElement.setTextContent(getRandomBooleanString()); Element locationElement = XmlUtils.appendElement(crashElement, OjbcNamespaceContext.NS_NC_30, "Location"); XmlUtils.addAttribute(locationElement, OjbcNamespaceContext.NS_STRUCTURES_30, "id", "Incident_Loc_01"); Element addressElement = XmlUtils.appendElement(locationElement, OjbcNamespaceContext.NS_NC_30, "Address"); Element cityElement = XmlUtils.appendElement(addressElement, OjbcNamespaceContext.NS_NC_30, "LocationCityName"); String sampleCity = iGeneratedPerson.city; cityElement.setTextContent(sampleCity); Element hwyElement = XmlUtils.appendElement(locationElement, OjbcNamespaceContext.NS_NC_30, "AddressHighway"); Element hwyFullTxtElement = XmlUtils.appendElement(hwyElement, OjbcNamespaceContext.NS_NC_30, "HighwayFullText"); hwyFullTxtElement.setTextContent(iGeneratedPerson.streetAddress); Element loc2DElement = XmlUtils.appendElement(locationElement, OjbcNamespaceContext.NS_NC_30, "Location2DGeospatialCoordinate"); Element latElement = XmlUtils.appendElement(loc2DElement, OjbcNamespaceContext.NS_NC_30, "GeographicCoordinateLatitude"); Element latValElement = XmlUtils.appendElement(latElement, OjbcNamespaceContext.NS_NC_30, "LatitudeDegreeValue"); String sampleLatitude = RandomStringUtils.randomNumeric(2); latValElement.setTextContent(sampleLatitude); Element longitudeElement = XmlUtils.appendElement(loc2DElement, OjbcNamespaceContext.NS_NC_30, "GeographicCoordinateLongitude"); Element longValElement = XmlUtils.appendElement(longitudeElement, OjbcNamespaceContext.NS_NC_30, "LongitudeDegreeValue"); String sampleLongitude = RandomStringUtils.randomNumeric(2); longValElement.setTextContent(sampleLongitude); Element intersectionElement = XmlUtils.appendElement(locationElement, OjbcNamespaceContext.NS_VEHICLE_CRASH_QUERY_RESULT_EXT, "NearestIntersectingStreetFullText"); String sampleIntersection = randomPerson2.streetAddress; intersectionElement.setTextContent(sampleIntersection); Element distanceToIntersectionElement = XmlUtils.appendElement(locationElement, OjbcNamespaceContext.NS_VEHICLE_CRASH_QUERY_RESULT_EXT, "DistanceFromNearestIntersectionNumberText"); String sampleDistance = RandomStringUtils.randomNumeric(2); distanceToIntersectionElement.setTextContent(sampleDistance); Element directionFromIntersectionElement = XmlUtils.appendElement(locationElement, OjbcNamespaceContext.NS_ME_VEHICLE_CRASH_CODES, "DirectionFromNearestIntersectionCode"); String sampleIntersectionDirection = (String) generateRandomValueFromList(sampleDirectionList); directionFromIntersectionElement.setTextContent(sampleIntersectionDirection); Element intersectDistUnitsElement = XmlUtils.appendElement(locationElement, OjbcNamespaceContext.NS_ME_VEHICLE_CRASH_CODES, "DistanceFromNearestIntersectionNumberUnitCode"); List<String> sampleUnitsForDistanceList = Arrays.asList("km", "mi", "yd", "me", "cm"); String sampleDistanceUnit = (String) generateRandomValueFromList(sampleUnitsForDistanceList); intersectDistUnitsElement.setTextContent(sampleDistanceUnit); Element atSceneDateElement = XmlUtils.appendElement(crashElement, OjbcNamespaceContext.NS_VEHICLE_CRASH_QUERY_RESULT_EXT, "AtSceneDateTime"); Element atSceneDateValElement = XmlUtils.appendElement(atSceneDateElement, OjbcNamespaceContext.NS_NC_30, "DateTime"); atSceneDateValElement.setTextContent(CURRENT_DATE); Element offRoadElement = XmlUtils.appendElement(crashElement, OjbcNamespaceContext.NS_VEHICLE_CRASH_QUERY_RESULT_EXT, "OffRoadIncidentIndicator"); offRoadElement.setTextContent(getRandomBooleanString()); Element emergVehicle = XmlUtils.appendElement(crashElement, OjbcNamespaceContext.NS_VEHICLE_CRASH_QUERY_RESULT_EXT, "EmergencyVehicleRespondingToSceneIndicator"); emergVehicle.setTextContent(getRandomBooleanString()); Element citationElement = XmlUtils.appendElement(vehicleCrashReportElement, OjbcNamespaceContext.NS_JXDM_51, "Citation"); XmlUtils.addAttribute(citationElement, OjbcNamespaceContext.NS_STRUCTURES_30, "id", "Citation_01"); Element activityIdElement = XmlUtils.appendElement(citationElement, OjbcNamespaceContext.NS_NC_30, "ActivityIdentification"); Element activityIdValElement = XmlUtils.appendElement(activityIdElement, OjbcNamespaceContext.NS_NC_30, "IdentificationID"); String sampleCitationId = RandomStringUtils.randomNumeric(8); activityIdValElement.setTextContent(sampleCitationId); Element citationNumPendingElement = XmlUtils.appendElement(citationElement, OjbcNamespaceContext.NS_VEHICLE_CRASH_QUERY_RESULT_EXT, "CitationNumberPendingIndicator"); citationNumPendingElement.setTextContent(getRandomBooleanString()); Element firstVilationDescTxtElement = XmlUtils.appendElement(citationElement, OjbcNamespaceContext.NS_VEHICLE_CRASH_QUERY_RESULT_EXT, "FirstViolationDescriptionText"); List<String> sampleCitationList = Arrays.asList("Speeding", "J Walking", "No Seatbelt", "Loud Music", "Ran Stop Sign", "Reckless Driving"); String sampleCitation = (String) generateRandomValueFromList(sampleCitationList); firstVilationDescTxtElement.setTextContent(sampleCitation); Element secondViolationElement = XmlUtils.appendElement(citationElement, OjbcNamespaceContext.NS_VEHICLE_CRASH_QUERY_RESULT_EXT, "SecondViolationDescriptionText"); String sampleCitation2 = (String) generateRandomValueFromList(sampleCitationList); secondViolationElement.setTextContent(sampleCitation2); PersonElementWrapper reportOfficalRandomPerson = getRandomIdentity(null); Element reportOfficialElement = XmlUtils.appendElement(vehicleCrashReportElement, OjbcNamespaceContext.NS_NC_30, "Person"); XmlUtils.addAttribute(reportOfficialElement, OjbcNamespaceContext.NS_STRUCTURES_30, "id", "Reporting_Official_01"); Element reportOfficialNameElement = XmlUtils.appendElement(reportOfficialElement, OjbcNamespaceContext.NS_NC_30, "PersonName"); Element reportOfficialFullName = XmlUtils.appendElement(reportOfficialNameElement, OjbcNamespaceContext.NS_NC_30, "PersonFullName"); String sampleReportOfficialFullName = reportOfficalRandomPerson.firstName + " " + reportOfficalRandomPerson.lastName; reportOfficialFullName.setTextContent(sampleReportOfficialFullName); Element witnessPersonElement = XmlUtils.appendElement(vehicleCrashReportElement, OjbcNamespaceContext.NS_NC_30, "Person"); XmlUtils.addAttribute(witnessPersonElement, OjbcNamespaceContext.NS_STRUCTURES_30, "id", "Witness_01"); Element witnessPersonNameElement = XmlUtils.appendElement(witnessPersonElement, OjbcNamespaceContext.NS_NC_30, "PersonName"); Element witnessGivenName = XmlUtils.appendElement(witnessPersonNameElement, OjbcNamespaceContext.NS_NC_30, "PersonGivenName"); witnessGivenName.setTextContent(reportOfficalRandomPerson.firstName); Element witnessMiddleName = XmlUtils.appendElement(witnessPersonNameElement, OjbcNamespaceContext.NS_NC_30, "PersonMiddleName"); witnessMiddleName.setTextContent(reportOfficalRandomPerson.middleName); Element witnessSurName = XmlUtils.appendElement(witnessPersonNameElement, OjbcNamespaceContext.NS_NC_30, "PersonSurName"); witnessSurName.setTextContent(reportOfficalRandomPerson.lastName); PersonElementWrapper infoApprovPerson = getRandomIdentity(null); Element infoApproverPersonElement = XmlUtils.appendElement(vehicleCrashReportElement, OjbcNamespaceContext.NS_NC_30, "Person"); XmlUtils.addAttribute(infoApproverPersonElement, OjbcNamespaceContext.NS_STRUCTURES_30, "id", "Information_Approver_01"); Element infoApproverPersonNameElement = XmlUtils.appendElement(infoApproverPersonElement, OjbcNamespaceContext.NS_NC_30, "PersonName"); Element personFullNameElement = XmlUtils.appendElement(infoApproverPersonNameElement, OjbcNamespaceContext.NS_NC_30, "PersonFullName"); String infoApprovFullName = infoApprovPerson.firstName + " " + infoApprovPerson.lastName; personFullNameElement.setTextContent(infoApprovFullName); PersonElementWrapper sampleDriverPerson = getRandomIdentity(null); Element driverPersonElement = XmlUtils.appendElement(vehicleCrashReportElement, OjbcNamespaceContext.NS_NC_30, "Person"); XmlUtils.addAttribute(driverPersonElement, OjbcNamespaceContext.NS_STRUCTURES_30, "id", "Driver_01"); Element driverDobElement = XmlUtils.appendElement(driverPersonElement, OjbcNamespaceContext.NS_NC_30, "PersonBirthDate"); Element driverDobValElement = XmlUtils.appendElement(driverDobElement, OjbcNamespaceContext.NS_NC_30, "Date"); driverDobValElement.setTextContent(sampleDriverPerson.birthday); Element driverNameElement = XmlUtils.appendElement(driverPersonElement, OjbcNamespaceContext.NS_NC_30, "PersonName"); Element driverGivenNameElement = XmlUtils.appendElement(driverNameElement, OjbcNamespaceContext.NS_NC_30, "PersonGivenName"); String sampleDriverFirstName = sampleDriverPerson.firstName; driverGivenNameElement.setTextContent(sampleDriverFirstName); Element driverMiddleName = XmlUtils.appendElement(driverNameElement, OjbcNamespaceContext.NS_NC_30, "PersonMiddleName"); String sampleDriverMiddleName = sampleDriverPerson.middleName; driverMiddleName.setTextContent(sampleDriverMiddleName); Element driverSurNameElement = XmlUtils.appendElement(driverNameElement, OjbcNamespaceContext.NS_NC_30, "PersonSurName"); String sampleDriverLastName = sampleDriverPerson.lastName; driverSurNameElement.setTextContent(sampleDriverLastName); Element driverSexCodeElement = XmlUtils.appendElement(driverPersonElement, OjbcNamespaceContext.NS_JXDM_51, "PersonSexCode"); String sampleDriverSexCode = sampleDriverPerson.sex; driverSexCodeElement.setTextContent(sampleDriverSexCode); Element driverPersonCatCodeElement = XmlUtils.appendElement(driverPersonElement, OjbcNamespaceContext.NS_ME_VEHICLE_CRASH_CODES, "PersonCategoryCode"); String vehicleCrashCode = RandomStringUtils.randomAlphabetic(2); driverPersonCatCodeElement.setTextContent(vehicleCrashCode); PersonElementWrapper sampleVehicleOwner = getRandomIdentity(null); Element vehicleOwnerElement = XmlUtils.appendElement(vehicleCrashReportElement, OjbcNamespaceContext.NS_NC_30, "Person"); XmlUtils.addAttribute(vehicleOwnerElement, OjbcNamespaceContext.NS_STRUCTURES_30, "id", "Vehicle_Owner_01"); Element vehicleOwnerDobElement = XmlUtils.appendElement(vehicleOwnerElement, OjbcNamespaceContext.NS_NC_30, "PersonBirthDate"); Element vehicleOwnerDobValElement = XmlUtils.appendElement(vehicleOwnerDobElement, OjbcNamespaceContext.NS_NC_30, "Date"); vehicleOwnerDobValElement.setTextContent(sampleVehicleOwner.birthday); Element vehicleOwnerNameElement = XmlUtils.appendElement(vehicleOwnerElement, OjbcNamespaceContext.NS_NC_30, "PersonName"); Element vehicleOwnerGivenNameElement = XmlUtils.appendElement(vehicleOwnerNameElement, OjbcNamespaceContext.NS_NC_30, "PersonGivenName"); vehicleOwnerGivenNameElement.setTextContent(sampleVehicleOwner.firstName); Element vehicleOwnerMiddleName = XmlUtils.appendElement(vehicleOwnerNameElement, OjbcNamespaceContext.NS_NC_30, "PersonMiddleName"); vehicleOwnerMiddleName.setTextContent(sampleVehicleOwner.middleName); Element vehicleOwnerSurNameElement = XmlUtils.appendElement(vehicleOwnerNameElement, OjbcNamespaceContext.NS_NC_30, "PersonSurName"); vehicleOwnerSurNameElement.setTextContent(sampleVehicleOwner.lastName); Element vehicleOwnerSexCodeElement = XmlUtils.appendElement(vehicleOwnerElement, OjbcNamespaceContext.NS_JXDM_51, "PersonSexCode"); vehicleOwnerSexCodeElement.setTextContent(sampleVehicleOwner.sex); Element vehicleOwnerCatCodeElement = XmlUtils.appendElement(vehicleOwnerElement, OjbcNamespaceContext.NS_ME_VEHICLE_CRASH_CODES, "PersonCategoryCode"); String sampleVehicleOwnerCatCode = RandomStringUtils.randomAlphanumeric(2); vehicleOwnerCatCodeElement.setTextContent(sampleVehicleOwnerCatCode); Element propOwner1EntOrgElement = XmlUtils.appendElement(vehicleCrashReportElement, OjbcNamespaceContext.NS_NC_30, "EntityOrganization"); XmlUtils.addAttribute(propOwner1EntOrgElement, OjbcNamespaceContext.NS_STRUCTURES_30, "id", "Property_Owner_01"); Element propOwner1EntOrgNameElement = XmlUtils.appendElement(propOwner1EntOrgElement, OjbcNamespaceContext.NS_NC_30, "OrganizationName"); propOwner1EntOrgNameElement.setTextContent(sampleVehicleOwner.company); PersonElementWrapper samplePropertyOwner = getRandomIdentity(null); Element propOwner2EntPersonElement = XmlUtils.appendElement(vehicleCrashReportElement, OjbcNamespaceContext.NS_NC_30, "EntityPerson"); XmlUtils.addAttribute(propOwner2EntPersonElement, OjbcNamespaceContext.NS_STRUCTURES_30, "id", "Property_Owner_02"); Element propOwnerEntPersonName = XmlUtils.appendElement(propOwner2EntPersonElement, OjbcNamespaceContext.NS_NC_30, "PersonName"); Element propOwnerEntFullName = XmlUtils.appendElement(propOwnerEntPersonName, OjbcNamespaceContext.NS_NC_30, "PersonFullName"); String samplePropOwnerFullName = samplePropertyOwner.firstName + "" + samplePropertyOwner.lastName; propOwnerEntFullName.setTextContent(samplePropOwnerFullName); Element occupant1EntPersonElement = XmlUtils.appendElement(vehicleCrashReportElement, OjbcNamespaceContext.NS_NC_30, "EntityPerson"); XmlUtils.addAttribute(occupant1EntPersonElement, OjbcNamespaceContext.NS_STRUCTURES_30, "id", "Occupant_01"); Element occupantDobElement = XmlUtils.appendElement(occupant1EntPersonElement, OjbcNamespaceContext.NS_NC_30, "PersonBirthDate"); Element occupantDobValElement = XmlUtils.appendElement(occupantDobElement, OjbcNamespaceContext.NS_NC_30, "Date"); occupantDobValElement.setTextContent(samplePropertyOwner.birthday); Element occupantPersonNameElement = XmlUtils.appendElement(occupant1EntPersonElement, OjbcNamespaceContext.NS_NC_30, "PersonName"); Element occupantGivenNameElement = XmlUtils.appendElement(occupantPersonNameElement, OjbcNamespaceContext.NS_NC_30, "PersonGivenName"); occupantGivenNameElement.setTextContent(samplePropertyOwner.firstName); Element occupantMiddleName = XmlUtils.appendElement(occupantPersonNameElement, OjbcNamespaceContext.NS_NC_30, "PersonMiddleName"); occupantMiddleName.setTextContent(samplePropertyOwner.middleName); Element occupantSurName = XmlUtils.appendElement(occupantPersonNameElement, OjbcNamespaceContext.NS_NC_30, "PersonSurName"); occupantSurName.setTextContent(samplePropertyOwner.lastName); Element occupantSexCodeElement = XmlUtils.appendElement(occupantPersonNameElement, OjbcNamespaceContext.NS_JXDM_51, "PersonSexCode"); occupantSexCodeElement.setTextContent(samplePropertyOwner.sex); Element occupantCatCodeElement = XmlUtils.appendElement(occupantPersonNameElement, OjbcNamespaceContext.NS_ME_VEHICLE_CRASH_CODES, "PersonCategoryCode"); String sampleOccupantCatCode = RandomStringUtils.randomAlphanumeric(2); occupantCatCodeElement.setTextContent(sampleOccupantCatCode); PersonElementWrapper sampleDriver = getRandomIdentity(null); Element driverLocElement = XmlUtils.appendElement(vehicleCrashReportElement, OjbcNamespaceContext.NS_NC_30, "Location"); XmlUtils.addAttribute(driverLocElement, OjbcNamespaceContext.NS_STRUCTURES_30, "id", "Driver_Loc_01"); Element driverLocAddressElement = XmlUtils.appendElement(driverLocElement, OjbcNamespaceContext.NS_NC_30, "Address"); Element driverLocStreetElement = XmlUtils.appendElement(driverLocAddressElement, OjbcNamespaceContext.NS_NC_30, "LocationStreet"); Element driverLocStreetValElement = XmlUtils.appendElement(driverLocStreetElement, OjbcNamespaceContext.NS_NC_30, "StreetFullText"); driverLocStreetValElement.setTextContent(sampleDriver.streetAddress); Element driverLocCityElement = XmlUtils.appendElement(driverLocAddressElement, OjbcNamespaceContext.NS_NC_30, "LocationCityName"); driverLocCityElement.setTextContent(sampleDriver.city); Element driverLocStateElement = XmlUtils.appendElement(driverLocAddressElement, OjbcNamespaceContext.NS_JXDM_51, "LocationStateNCICLISCode"); driverLocStateElement.setTextContent(sampleDriver.state); Element driverLocZipElement = XmlUtils.appendElement(driverLocAddressElement, OjbcNamespaceContext.NS_NC_30, "LocationPostalCode"); driverLocZipElement.setTextContent(sampleDriver.zipCode); PersonElementWrapper sampleWitness = getRandomIdentity(null); Element witnessLocElement = XmlUtils.appendElement(vehicleCrashReportElement, OjbcNamespaceContext.NS_NC_30, "Location"); XmlUtils.addAttribute(witnessLocElement, OjbcNamespaceContext.NS_STRUCTURES_30, "id", "Witness_Loc_01"); Element witnessLocAddressElement = XmlUtils.appendElement(witnessLocElement, OjbcNamespaceContext.NS_NC_30, "Address"); Element witnessLocStreetElement = XmlUtils.appendElement(witnessLocAddressElement, OjbcNamespaceContext.NS_NC_30, "LocationStreet"); Element witnessLocStreetValElement = XmlUtils.appendElement(witnessLocStreetElement, OjbcNamespaceContext.NS_NC_30, "StreetFullText"); witnessLocStreetValElement.setTextContent(sampleWitness.streetAddress); Element witnessLocCityElement = XmlUtils.appendElement(witnessLocAddressElement, OjbcNamespaceContext.NS_NC_30, "LocationCityName"); witnessLocCityElement.setTextContent(sampleWitness.city); Element witnessLocStateElement = XmlUtils.appendElement(witnessLocAddressElement, OjbcNamespaceContext.NS_JXDM_51, "LocationStateNCICLISCode"); witnessLocStateElement.setTextContent(sampleWitness.state); Element witnessLocZipElement = XmlUtils.appendElement(witnessLocAddressElement, OjbcNamespaceContext.NS_NC_30, "LocationPostalCode"); witnessLocZipElement.setTextContent(sampleWitness.zipCode); PersonElementWrapper propOwnerSample = getRandomIdentity(null); Element propOwnerLocElement = XmlUtils.appendElement(vehicleCrashReportElement, OjbcNamespaceContext.NS_NC_30, "Location"); XmlUtils.addAttribute(propOwnerLocElement, OjbcNamespaceContext.NS_STRUCTURES_30, "id", "Property_Owner_Loc_01"); Element propOwnerLocAddressElement = XmlUtils.appendElement(propOwnerLocElement, OjbcNamespaceContext.NS_NC_30, "Address"); Element propOwnerLocStreetElement = XmlUtils.appendElement(propOwnerLocAddressElement, OjbcNamespaceContext.NS_NC_30, "LocationStreet"); Element propOwnerLocStreetValElement = XmlUtils.appendElement(propOwnerLocStreetElement, OjbcNamespaceContext.NS_NC_30, "StreetFullText"); propOwnerLocStreetValElement.setTextContent(propOwnerSample.streetAddress); Element propOwnerLocCityElement = XmlUtils.appendElement(propOwnerLocAddressElement, OjbcNamespaceContext.NS_NC_30, "LocationCityName"); propOwnerLocCityElement.setTextContent(propOwnerSample.city); Element propOwnerLocStateElement = XmlUtils.appendElement(propOwnerLocAddressElement, OjbcNamespaceContext.NS_JXDM_51, "LocationStateNCICLISCode"); propOwnerLocStateElement.setTextContent(propOwnerSample.state); Element propOwnerLocZipElement = XmlUtils.appendElement(propOwnerLocAddressElement, OjbcNamespaceContext.NS_NC_30, "LocationPostalCode"); propOwnerLocZipElement.setTextContent(propOwnerSample.zipCode); PersonElementWrapper vehicOwnerSample = getRandomIdentity(null); Element vehicleOwnerLocElement = XmlUtils.appendElement(vehicleCrashReportElement, OjbcNamespaceContext.NS_NC_30, "Location"); XmlUtils.addAttribute(vehicleOwnerLocElement, OjbcNamespaceContext.NS_STRUCTURES_30, "id", "Vehicle_Owner_Loc_01"); Element vehicleOwnerLocAddressElement = XmlUtils.appendElement(vehicleOwnerLocElement, OjbcNamespaceContext.NS_NC_30, "Address"); Element vehicleOwnerLocStreetElement = XmlUtils.appendElement(vehicleOwnerLocAddressElement, OjbcNamespaceContext.NS_NC_30, "LocationStreet"); Element vehicleOwnerLocStreetValElement = XmlUtils.appendElement(vehicleOwnerLocStreetElement, OjbcNamespaceContext.NS_NC_30, "StreetFullText"); vehicleOwnerLocStreetValElement.setTextContent(vehicOwnerSample.addressStreetNumber); Element vehicleOwnerLocCityElement = XmlUtils.appendElement(vehicleOwnerLocAddressElement, OjbcNamespaceContext.NS_NC_30, "LocationCityName"); vehicleOwnerLocCityElement.setTextContent(vehicOwnerSample.city); Element vehicleOwnerLocStateElement = XmlUtils.appendElement(vehicleOwnerLocAddressElement, OjbcNamespaceContext.NS_JXDM_51, "LocationStateNCICLISCode"); vehicleOwnerLocStateElement.setTextContent(vehicOwnerSample.state); Element vehicleOwnerLocZipElement = XmlUtils.appendElement(vehicleOwnerLocAddressElement, OjbcNamespaceContext.NS_NC_30, "LocationPostalCode"); vehicleOwnerLocZipElement.setTextContent(vehicOwnerSample.zipCode); Element vehicleElement = XmlUtils.appendElement(vehicleCrashReportElement, OjbcNamespaceContext.NS_NC_30, "Vehicle"); XmlUtils.addAttribute(vehicleElement, OjbcNamespaceContext.NS_STRUCTURES_30, "id", "Vehicle_01"); Element vehicleColorElement = XmlUtils.appendElement(vehicleElement, OjbcNamespaceContext.NS_JXDM_51, "ConveyanceColorPrimaryCode"); List<String> sampleColorList = Arrays.asList("BLO", "BLK", "BLU", "RED", "PUR"); String sampleColor = (String) generateRandomValueFromList(sampleColorList); vehicleColorElement.setTextContent(sampleColor); List<String> sampleYearList = Arrays.asList("1970", "1989", "1996", "2016"); String sampleYear = (String) generateRandomValueFromList(sampleYearList); Element vehcicleYearElement = XmlUtils.appendElement(vehicleColorElement, OjbcNamespaceContext.NS_NC_30, "ItemModelYearDate"); vehcicleYearElement.setTextContent(sampleYear); Element vehicleIdElement = XmlUtils.appendElement(vehicleElement, OjbcNamespaceContext.NS_NC_30, "VehicleIdentification"); Element vehicleIdValElement = XmlUtils.appendElement(vehicleIdElement, OjbcNamespaceContext.NS_NC_30, "IdentificationID"); String sampleVin = RandomStringUtils.randomAlphanumeric(10); vehicleIdValElement.setTextContent(sampleVin); Element vehicleIdJurisdictionElement = XmlUtils.appendElement(vehicleIdElement, OjbcNamespaceContext.NS_NC_30, "IdentificationJurisdiction"); Element vehicleIdStateCodeElement = XmlUtils.appendElement(vehicleIdJurisdictionElement, OjbcNamespaceContext.NS_JXDM_51, "LocationStateNCICLISCode"); vehicleIdStateCodeElement.setTextContent(vehicOwnerSample.state); Element vehicleMakeElement = XmlUtils.appendElement(vehicleElement, OjbcNamespaceContext.NS_JXDM_51, "VehicleMakeCode"); List<String> sampleMakeList = Arrays.asList("Ford", "Chevy", "Dodge", "GM", "Kia"); String sampleMake = (String) generateRandomValueFromList(sampleMakeList); vehicleMakeElement.setTextContent(sampleMake); Element vehicleUnitIdElement = XmlUtils.appendElement(vehicleElement, OjbcNamespaceContext.NS_VEHICLE_CRASH_QUERY_RESULT_EXT, "VehicleUnitIdentification"); Element vehicleUnitIdValElement = XmlUtils.appendElement(vehicleUnitIdElement, OjbcNamespaceContext.NS_NC_30, "IdentificationID"); String sampleVehicUnitId = RandomStringUtils.randomAlphanumeric(8); vehicleUnitIdValElement.setTextContent(sampleVehicUnitId); Element hitRunIndicatorElement = XmlUtils.appendElement(vehicleElement, OjbcNamespaceContext.NS_VEHICLE_CRASH_QUERY_RESULT_EXT, "HitRunIndicator"); hitRunIndicatorElement.setTextContent(getRandomBooleanString()); Element conveyRegElement = XmlUtils.appendElement(vehicleCrashReportElement, OjbcNamespaceContext.NS_JXDM_51, "ConveyanceRegistration"); XmlUtils.addAttribute(conveyRegElement, OjbcNamespaceContext.NS_STRUCTURES_30, "id", "Conveyance_Registration_01"); Element conveyRegIdElement = XmlUtils.appendElement(conveyRegElement, OjbcNamespaceContext.NS_JXDM_51, "ConveyanceRegistrationPlateIdentification"); Element conveyRegIdValElement = XmlUtils.appendElement(conveyRegIdElement, OjbcNamespaceContext.NS_NC_30, "IdentificationID"); String samplePlateId = RandomStringUtils.randomAlphanumeric(7); conveyRegIdValElement.setTextContent(samplePlateId); Element conveyIdRegJurisdictElement = XmlUtils.appendElement(conveyRegIdElement, OjbcNamespaceContext.NS_NC_30, "IdentificationJurisdiction"); Element conveyIdRegStateCodeElement = XmlUtils.appendElement(conveyIdRegJurisdictElement, OjbcNamespaceContext.NS_JXDM_51, "LocationStateNCICLISCode"); conveyIdRegStateCodeElement.setTextContent(sampleVehicleOwner.state); Element insuranceElement = XmlUtils.appendElement(vehicleCrashReportElement, OjbcNamespaceContext.NS_NC_30, "Insurance"); XmlUtils.addAttribute(insuranceElement, OjbcNamespaceContext.NS_STRUCTURES_30, "id", "Insurance_01"); Element insPolicyIdElement = XmlUtils.appendElement(insuranceElement, OjbcNamespaceContext.NS_NC_30, "InsurancePolicyIdentification"); Element insPolicyIdValElement = XmlUtils.appendElement(insPolicyIdElement, OjbcNamespaceContext.NS_NC_30, "IdentificationID"); String insPolicyId = RandomStringUtils.randomAlphanumeric(10); insPolicyIdValElement.setTextContent(insPolicyId); Element insCarrierNameElement = XmlUtils.appendElement(insuranceElement, OjbcNamespaceContext.NS_NC_30, "InsuranceCarrierName"); List<String> insCarrierList = Arrays.asList("Geico", "Allstate", "Progressive"); String insCarrier = (String) generateRandomValueFromList(insCarrierList); insCarrierNameElement.setTextContent(insCarrier); Element noInsuranceElement = XmlUtils.appendElement(insuranceElement, OjbcNamespaceContext.NS_VEHICLE_CRASH_QUERY_RESULT_EXT, "NoInsuranceIndicator"); noInsuranceElement.setTextContent(getRandomBooleanString()); Element crashDriverLicElement = XmlUtils.appendElement(vehicleCrashReportElement, OjbcNamespaceContext.NS_JXDM_51, "CrashDriverLicense"); XmlUtils.addAttribute(crashDriverLicElement, OjbcNamespaceContext.NS_STRUCTURES_30, "id", "Driver_License_01"); Element dlCardIdElement = XmlUtils.appendElement(crashDriverLicElement, OjbcNamespaceContext.NS_JXDM_51, "DriverLicenseCardIdentification"); Element dlCardIdValueElement = XmlUtils.appendElement(dlCardIdElement, OjbcNamespaceContext.NS_NC_30, "IdentificationID"); String dlId = RandomStringUtils.randomAlphanumeric(9); dlCardIdValueElement.setTextContent(dlId); Element dlJurisdictElement = XmlUtils.appendElement(dlCardIdElement, OjbcNamespaceContext.NS_NC_30, "IdentificationJurisdiction"); Element dlStateElement = XmlUtils.appendElement(dlJurisdictElement, OjbcNamespaceContext.NS_JXDM_51, "LocationStateNCICLISCode"); dlStateElement.setTextContent(getRandomIdentity(null).state); Element dlRestrictElement = XmlUtils.appendElement(crashDriverLicElement, OjbcNamespaceContext.NS_JXDM_51, "DriverLicenseRestriction"); Element dlRestrictTxtElement = XmlUtils.appendElement(dlRestrictElement, OjbcNamespaceContext.NS_JXDM_51, "DrivingRestrictionText"); List<String> dlRestrictList = Arrays.asList("Glasses", "Daylight", "Evening"); String sampleRestriction = (String) generateRandomValueFromList(dlRestrictList); dlRestrictTxtElement.setTextContent(sampleRestriction); Element dlEndorsementElement = XmlUtils.appendElement(crashDriverLicElement, OjbcNamespaceContext.NS_JXDM_51, "DriverLicenseEndorsement"); Element dlEndorsementTxtElement = XmlUtils.appendElement(dlEndorsementElement, OjbcNamespaceContext.NS_JXDM_51, "DriverLicenseEndorsementText"); List<String> endorsementList = Arrays.asList("motorcycle", "trailor", "commercial"); String sampleEndorsement = (String) generateRandomValueFromList(endorsementList); dlEndorsementTxtElement.setTextContent(sampleEndorsement); Element dlCatCodeElement = XmlUtils.appendElement(crashDriverLicElement, OjbcNamespaceContext.NS_ME_VEHICLE_CRASH_CODES, "DriverLicenseCategoryCode"); List<String> dlCatList = Arrays.asList("Civil", "Military", "Racing"); String sampleDlCatCode = (String) generateRandomValueFromList(dlCatList); dlCatCodeElement.setTextContent(sampleDlCatCode); Element dlClassCodeElement = XmlUtils.appendElement(crashDriverLicElement, OjbcNamespaceContext.NS_VEHICLE_CRASH_QUERY_RESULT_EXT, "DriverLicenseClassCodeText"); String dlClass = RandomStringUtils.randomAlphabetic(1); dlClassCodeElement.setTextContent(dlClass); Element activityInfoApproverAssocElement = XmlUtils.appendElement(vehicleCrashReportElement, OjbcNamespaceContext.NS_JXDM_51, "ActivityInformationApproverAssociation"); Element aprovAsocActivElement = XmlUtils.appendElement(activityInfoApproverAssocElement, OjbcNamespaceContext.NS_NC_30, "Activity"); XmlUtils.addAttribute(aprovAsocActivElement, OjbcNamespaceContext.NS_STRUCTURES_30, "ref", "Crash_01"); Element activInfoAprovAsocPersonElement = XmlUtils.appendElement(activityInfoApproverAssocElement, OjbcNamespaceContext.NS_NC_30, "Person"); XmlUtils.addAttribute(activInfoAprovAsocPersonElement, OjbcNamespaceContext.NS_STRUCTURES_30, "ref", "Information_Approver_01"); Element bloodAlcAssocElement = XmlUtils.appendElement(vehicleCrashReportElement, OjbcNamespaceContext.NS_JXDM_51, "PersonBloodAlcoholContentAssociation"); Element bloodTxtElement = XmlUtils.appendElement(bloodAlcAssocElement, OjbcNamespaceContext.NS_JXDM_51, "PersonBloodAlcoholContentNumberText"); String sampleBloodContent = RandomStringUtils.randomNumeric(2); bloodTxtElement.setTextContent(sampleBloodContent); Element bloodActivityElement = XmlUtils.appendElement(bloodAlcAssocElement, OjbcNamespaceContext.NS_NC_30, "Activity"); XmlUtils.addAttribute(bloodActivityElement, OjbcNamespaceContext.NS_STRUCTURES_30, "ref", "Crash_01"); Element bloodPersonElement = XmlUtils.appendElement(bloodAlcAssocElement, OjbcNamespaceContext.NS_NC_30, "Person"); XmlUtils.addAttribute(bloodPersonElement, OjbcNamespaceContext.NS_STRUCTURES_30, "ref", "Driver_01"); Element itemInsAssocElement = XmlUtils.appendElement(vehicleCrashReportElement, OjbcNamespaceContext.NS_NC_30, "ItemInsuranceAssociation"); Element itemAssocInsElement = XmlUtils.appendElement(itemInsAssocElement, OjbcNamespaceContext.NS_NC_30, "Insurance"); XmlUtils.addAttribute(itemAssocInsElement, OjbcNamespaceContext.NS_STRUCTURES_30, "ref", "Insurance_01"); Element insuranceItemElement = XmlUtils.appendElement(itemInsAssocElement, OjbcNamespaceContext.NS_NC_30, "Item"); XmlUtils.addAttribute(insuranceItemElement, OjbcNamespaceContext.NS_STRUCTURES_30, "ref", "Vehicle_01"); Element personResAsocElement = XmlUtils.appendElement(vehicleCrashReportElement, OjbcNamespaceContext.NS_NC_30, "PersonResidenceAssociation"); Element prsnResAssocPrsnElement = XmlUtils.appendElement(personResAsocElement, OjbcNamespaceContext.NS_NC_30, "Person"); XmlUtils.addAttribute(prsnResAssocPrsnElement, OjbcNamespaceContext.NS_STRUCTURES_30, "ref", "Driver_01"); Element prsnRestAsocLocElement = XmlUtils.appendElement(personResAsocElement, OjbcNamespaceContext.NS_NC_30, "Location"); XmlUtils.addAttribute(prsnRestAsocLocElement, OjbcNamespaceContext.NS_STRUCTURES_30, "ref", "Driver_Loc_01"); Element witnessAssocElement = XmlUtils.appendElement(vehicleCrashReportElement, OjbcNamespaceContext.NS_NC_30, "PersonResidenceAssociation"); Element witnessPersonResElement = XmlUtils.appendElement(witnessAssocElement, OjbcNamespaceContext.NS_NC_30, "Person"); XmlUtils.addAttribute(witnessPersonResElement, OjbcNamespaceContext.NS_STRUCTURES_30, "ref", "Witness_01"); Element witnessPrsnResLocElement = XmlUtils.appendElement(witnessAssocElement, OjbcNamespaceContext.NS_NC_30, "nc:Location"); XmlUtils.addAttribute(witnessPrsnResLocElement, OjbcNamespaceContext.NS_STRUCTURES_30, "ref", "Witness_Loc_01"); Element propOwnerResAsocElement = XmlUtils.appendElement(vehicleCrashReportElement, OjbcNamespaceContext.NS_NC_30, "PersonResidenceAssociation"); Element propOwnerPersonElement = XmlUtils.appendElement(propOwnerResAsocElement, OjbcNamespaceContext.NS_NC_30, "Person"); XmlUtils.addAttribute(propOwnerPersonElement, OjbcNamespaceContext.NS_STRUCTURES_30, "ref", "Property_Owner_01"); Element propOwnerResLocElement = XmlUtils.appendElement(propOwnerResAsocElement, OjbcNamespaceContext.NS_NC_30, "Location"); XmlUtils.addAttribute(propOwnerResLocElement, OjbcNamespaceContext.NS_STRUCTURES_30, "ref", "Property_Owner_Loc_01"); Element vehicOwnerResAsocElement = XmlUtils.appendElement(vehicleCrashReportElement, OjbcNamespaceContext.NS_NC_30, "PersonResidenceAssociation"); Element vehicOwnerPersonElement = XmlUtils.appendElement(vehicOwnerResAsocElement, OjbcNamespaceContext.NS_NC_30, "Person"); XmlUtils.addAttribute(vehicOwnerPersonElement, OjbcNamespaceContext.NS_STRUCTURES_30, "ref", "Vehicle_Owner_01"); Element vehicOwnerLocElement = XmlUtils.appendElement(vehicOwnerResAsocElement, OjbcNamespaceContext.NS_NC_30, "Location"); XmlUtils.addAttribute(vehicOwnerLocElement, OjbcNamespaceContext.NS_STRUCTURES_30, "ref", "Vehicle_Owner_Loc_01"); Element activityDocAssocElement = XmlUtils.appendElement(vehicleCrashReportElement, OjbcNamespaceContext.NS_NC_30, "ActivityDocumentAssociation"); Element actDocAssocActivityElement = XmlUtils.appendElement(activityDocAssocElement, OjbcNamespaceContext.NS_NC_30, "Activity"); XmlUtils.addAttribute(actDocAssocActivityElement, OjbcNamespaceContext.NS_STRUCTURES_30, "ref", "Crash_01"); Element activDocAssocDocElement = XmlUtils.appendElement(activityDocAssocElement, OjbcNamespaceContext.NS_NC_30, "Document"); XmlUtils.addAttribute(activDocAssocDocElement, OjbcNamespaceContext.NS_STRUCTURES_30, "ref", "Citation_01"); Element conveyRegAssocElement = XmlUtils.appendElement(activityDocAssocElement, OjbcNamespaceContext.NS_JXDM_51, "ConveyanceRegistrationAssociation"); Element conveyItemRegElement = XmlUtils.appendElement(conveyRegAssocElement, OjbcNamespaceContext.NS_JXDM_51, "ItemRegistration"); XmlUtils.addAttribute(conveyItemRegElement, OjbcNamespaceContext.NS_STRUCTURES_30, "ref", "Conveyance_Registration_01"); Element conveyRetAsocItemElement = XmlUtils.appendElement(conveyRegAssocElement, OjbcNamespaceContext.NS_NC_30, "Item"); XmlUtils.addAttribute(conveyRetAsocItemElement, OjbcNamespaceContext.NS_STRUCTURES_30, "ref", "Vehicle_01"); OjbcNamespaceContext ojbcNamespaceContext = new OjbcNamespaceContext(); ojbcNamespaceContext.populateRootNamespaceDeclarations(rootVehicCrashElement); return rVehicleCrashDetailDoc; }
From source file:org.openehealth.coms.cc.web_frontend.consentcreator.controller.PrivilegedRegisterServiceServlet.java
/** * Update registered user in the actual request processing * //from w w w . j a v a 2 s. c o m */ private void requestTypeRegisterUser() { if (request.getParameter("forename").trim().equalsIgnoreCase("")) { this.writeErrorMessage("Der bergebene Parameter Vorname fehlt."); } else if (request.getParameter("name").trim().equalsIgnoreCase("")) { this.writeErrorMessage("Der bergebene Parameter Name fehlt."); } else if (request.getParameter("emailaddress").trim().equalsIgnoreCase("")) { this.writeErrorMessage("Der bergebene Parameter Emailaddresse fehlt."); } else if (request.getParameter("street").trim().equalsIgnoreCase("")) { this.writeErrorMessage("Der bergebene Parameter Strae fehlt."); } else if (request.getParameter("zipcode").trim().equalsIgnoreCase("")) { this.writeErrorMessage("Der bergebene Parameter Postleitzahl fehlt."); } else if (request.getParameter("city").trim().equalsIgnoreCase("")) { this.writeErrorMessage("Der bergebene Parameter Stadt fehlt."); } else if (request.getParameter("birthdate").trim().equalsIgnoreCase("")) { this.writeErrorMessage("Der bergebene Parameter Geburtsdatum fehlt."); } else if (request.getParameter("gender").trim().equalsIgnoreCase("")) { this.writeErrorMessage("Der bergebene Parameter Geschlecht fehlt."); } else if (request.getParameter("privileges").trim().equalsIgnoreCase("")) { this.writeErrorMessage("Der bergebene Parameter Privilegien fehlt."); } else if (request.getParameter("active").trim().equalsIgnoreCase("")) { this.writeErrorMessage("Der bergebene Parameter Teilnahemstatus fehlt."); } else { SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy"); Date d = null; try { d = sdf.parse(request.getParameter("birthdate")); if (!sdf.format(d).equals(request.getParameter("birthdate"))) { this.writeErrorMessage("Der bergebene Parameter Geburtsdatum ist ungltig."); return; } } catch (Exception e) { this.writeErrorMessage("Der bergebene Parameter Geburtsdatum ist ungltig."); return; } int zip = -1; try { zip = Integer.parseInt(request.getParameter("zipcode")); } catch (Exception e) { this.writeErrorMessage("Der bergebene Parameter Postleitzahl ist ungltig."); return; } pattern = Pattern.compile(EMAIL_PATTERN); matcher = pattern.matcher(request.getParameter("emailaddress")); if (!matcher.matches()) { this.writeErrorMessage("Ungltige Emailaddresse"); return; } User newUser = new User(); newUser.setActive(Integer.parseInt(request.getParameter("active"))); newUser.setPrivileges(Integer.parseInt(request.getParameter("privileges"))); newUser.setBirthdate(d); newUser.setCity(request.getParameter("city")); newUser.setEmailaddress(request.getParameter("emailaddress")); newUser.setForename(request.getParameter("forename")); newUser.setGender(request.getParameter("gender")); newUser.setName(request.getParameter("name")); newUser.setStreet(request.getParameter("street")); newUser.setZipcode(zip); newUser.setPassword(RandomStringUtils.randomNumeric(64)); try { if (newUser.getPrivileges() >= 1) { if (ccService.registerUser(newUser, false)) { this.writeSuccessMessage("Der privilegierte Benutzer wurde erfolgreich registriert."); } else { this.writeErrorMessage("Der Benutzer konnte nicht registriert werden."); } } else { if (ccService.registerUser(newUser, false)) { request.setAttribute("message", "Der Benutzer wurde erfolgreich gespeichert."); } else { request.setAttribute("message", "Es existiert bereits ein ISIS Benutzerprofil mit diesen Daten, das Profil wurde mit dem neu angelegten Benutzer verknpft."); } request.setAttribute("title", "Benutzer gespeichert"); request.setAttribute("messageOrder", "Bitte erstellen Sie eine Einwilligungserklrung, die diesen Vorgang dokumentiert!"); request.setAttribute("emailaddress", request.getParameter("emailaddress")); if (newUser.isActive() == 1) { request.setAttribute("context", "registered"); } else { request.setAttribute("context", "registerednoparticipation"); } request.setAttribute("show", "signchoicepage"); this.dispatch("/index.jsp"); } } catch (Exception e) { Logger.getLogger(this.getClass()).error(e); this.writeErrorMessage(e.getMessage()); } } }
From source file:org.openehealth.coms.cc.web_frontend.consentcreator.controller.RegisterServiceServlet.java
/** * Register user to the actual request processing. * //w w w .j a va 2s . co m */ private void requestTypeRegisterSelf() { if (request.getParameter("forename").trim().equalsIgnoreCase("")) { this.writeErrorMessage("Der bergebene Parameter Vorname fehlt."); } else if (request.getParameter("name").trim().equalsIgnoreCase("")) { this.writeErrorMessage("Der bergebene Parameter Name fehlt."); } else if (request.getParameter("emailaddress").trim().equalsIgnoreCase("")) { this.writeErrorMessage("Der bergebene Parameter Emailaddresse fehlt."); } else if (request.getParameter("street").trim().equalsIgnoreCase("")) { this.writeErrorMessage("Der bergebene Parameter Strae fehlt."); } else if (request.getParameter("zipcode").trim().equalsIgnoreCase("")) { this.writeErrorMessage("Der bergebene Parameter Postleitzahl fehlt."); } else if (request.getParameter("city").trim().equalsIgnoreCase("")) { this.writeErrorMessage("Der bergebene Parameter Stadt fehlt."); } else if (request.getParameter("birthdate").trim().equalsIgnoreCase("")) { this.writeErrorMessage("Der bergebene Parameter Geburtsdatum fehlt."); } else if (request.getParameter("gender").trim().equalsIgnoreCase("")) { this.writeErrorMessage("Der bergebene Parameter Geschlecht fehlt."); } else { SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy"); Date d = null; try { d = sdf.parse(request.getParameter("birthdate")); if (!sdf.format(d).equals(request.getParameter("birthdate"))) { this.writeErrorMessage("Der bergebene Parameter Geburtsdatum ist ungltig."); return; } } catch (Exception e) { Logger.getLogger(this.getClass()).error(e); this.writeErrorMessage("Der bergebene Parameter Geburtsdatum ist ungltig."); return; } int zip = -1; try { zip = Integer.parseInt(request.getParameter("zipcode")); } catch (Exception e) { Logger.getLogger(this.getClass()).error(e); this.writeErrorMessage("Der bergebene Parameter Postleitzahl ist ungltig."); return; } pattern = Pattern.compile(EMAIL_PATTERN); matcher = pattern.matcher(request.getParameter("emailaddress")); if (!matcher.matches()) { this.writeErrorMessage("Ungltige Emailaddresse"); return; } User newUser = new User(); newUser.setActive(1); newUser.setPrivileges(0); newUser.setBirthdate(d); newUser.setCity(request.getParameter("city")); newUser.setEmailaddress(request.getParameter("emailaddress")); newUser.setForename(request.getParameter("forename")); newUser.setGender(request.getParameter("gender")); newUser.setName(request.getParameter("name")); newUser.setStreet(request.getParameter("street")); newUser.setZipcode(zip); newUser.setPassword(RandomStringUtils.randomNumeric(64)); try { if (ccService.registerUser(newUser, true)) { this.writeSuccessMessage("Sie wurden erfolgreich registriert."); } else { this.writeSuccessMessage( "Es existiert bereits ein ISIS Benutzerprofil mit diesen Daten, wenden Sie sich bitte an die Clearingstelle."); } } catch (Exception e) { e.printStackTrace(); Logger.getLogger(this.getClass()).error(e); this.writeErrorMessage(e.getMessage()); } } }
From source file:org.openehealth.coms.cc.web_frontend.consentcreator.service.ConsentCreatorService.java
/** * Deactivates the given in the database, removes possible password requests * and sets a new password for the account. * /*from ww w . j a v a2s .c om*/ * @param user * @return */ public boolean deactivateUser(User user) { if (database.deactivateUser(user.getID())) { if (database.existsPasswordRequestForUser(user.getID())) { database.removeRefIDForUser(user.getID()); } database.updateUserPassword(user.getID(), documentFactory.getMD5Hash(RandomStringUtils.randomNumeric(64))); return true; } return false; }
From source file:org.openehealth.coms.cc.web_frontend.consentcreator.service.ConsentCreatorService.java
/** * Registers the given User with the local database of the service as well * as with the external patient register. * /* w ww.j a v a 2 s.c o m*/ * @param user * @param out * @param orphanRegister * - true if the user is the one registering himself, else he is * being registered by personnel, then this is false. * @throws ServiceException * - Throws an exception if the user is already registered with * the service. * @return - true if the user was newly registered. false if the user was * only registered to the local database and existed in the external * register already. */ public boolean registerUser(User user, boolean orphanRegister) throws ServiceException { User author = null; // Check whether the user is already registered or not if (!database.existsUser(user)) { // If the user is a privileged user register him only locally if (user.getPrivileges() >= 1) { // Generate a random id considerably larger then the ids // received from the register user.setID(RandomStringUtils.randomNumeric(96)); database.storeUser(user); String s = database.storePasswordRequest(user); shipper.sendPasswordLinkToEmail(0, user, s); return true; } // Check with the external register whether the user is already // registered or not String id = shipper.existsUser(user); // User is not already present in the register if (id.equalsIgnoreCase("-1")) { if (orphanRegister) { author = user; } user.setID(RandomStringUtils.randomNumeric(64)); if (!shipper.registerUser(user)) { throw new ServiceException("Der Benutzer konnte nicht registriert werden."); } database.storeUser(user); String s = database.storePasswordRequest(user); shipper.sendPasswordLinkToEmail(0, user, s); if (orphanRegister) { Document cda = documentFactory.constructCDA(user, null, author, false, null); if (!shipper.sendCDA(cda, user)) { return false; // TODO Hier sollte was passieren wenn der // CDA nicht erfolgreich gesendet werden // kann. } } return true; } // User is only going to be registered locally else { // Set participation to false so no documents are transmitted // until the conflict is resolved. boolean participation = false; // If the user registers himself and is already registered with // the patient register store him as inactive and // mark him if (orphanRegister) { user.setActive(0); author = user; } // If the user is being registered by a trusted care provider, // send him a password and activate the account. else { user.setActive(1); participation = true; } user.setID(id); database.storeUser(user); if (orphanRegister) { database.storeConflict(id); Document cda = documentFactory.constructCDA(user, null, author, participation, null); shipper.sendCDA(cda, user); } else { String s = database.storePasswordRequest(user); shipper.sendPasswordLinkToEmail(0, user, s); } return false; } } // Can't register if a user with corresponding data already exists. else { throw new ServiceException("Unter den angegebenen Daten existiert bereits ein Benutzer."); } }
From source file:org.openehealth.coms.cc.web_frontend.consentcreator.service.Database.java
/** * Stores information about a uncleared consent. * //from w w w . j av a 2s.c o m * @param id * - ID of the user associated with the uncleared consent. * @param cdaHash * - MD5 hash of the consent cda. * @return */ public String storeUnclearedConsent(String id, String cdaHash, int participation) { boolean usedNmbr = true; String refID = ""; while (usedNmbr) { String s = RandomStringUtils.randomNumeric(64); if (!existsRefidUnclearedConsent(s)) { refID = s; usedNmbr = false; } } boolean stored = false; String sql = "INSERT INTO unclearedConsents (id, filename, md5hash, participation, timestamp) VALUES (?, ?, ?, ?, ?);"; Connection connection = null; PreparedStatement statement = null; int result = -1; try { connection = conFact.getConnection(); statement = connection.prepareStatement(sql); statement.setString(1, id); statement.setString(2, refID); statement.setString(3, cdaHash); statement.setInt(4, participation); statement.setTimestamp(5, new Timestamp(new Date().getTime())); result = statement.executeUpdate(); if (result == 1) { stored = true; } else { throw new ServiceException("Die Anfrage konnte nicht gespeichert werden!"); } } catch (SQLException e) { Logger.getLogger(this.getClass()).error(e); } finally { try { connection.close(); } catch (SQLException e) { Logger.getLogger(this.getClass()).error(e); } } if (stored) { return refID; } return ""; }
From source file:org.openehealth.coms.cc.web_frontend.consentcreator.service.Database.java
/** * Stores that a new password for the given user was requested. * /*from ww w . j a va 2s .c o m*/ * @param user * @return refID - The ID used to identify the request. */ public String storePasswordRequest(User user) { boolean usedNmbr = true; String refID = ""; while (usedNmbr) { String s = RandomStringUtils.randomNumeric(64); if (!existsPasswordRequest(s, false)) { refID = s; usedNmbr = false; } } boolean stored = false; String sql = "INSERT INTO passwordRequests (id, refid, timestamp, emailaddress) VALUES (?, ?, ?, ?);"; Connection connection = null; PreparedStatement statement = null; int result = -1; try { connection = conFact.getConnection(); statement = connection.prepareStatement(sql); statement.setString(1, user.getID()); statement.setString(2, refID); statement.setTimestamp(3, new Timestamp(new Date().getTime())); statement.setString(4, user.getEmailaddress()); result = statement.executeUpdate(); if (result == 1) { stored = true; } else { throw new ServiceException("Die Anforderung konnte nicht gespeichert werden!"); } } catch (SQLException e) { Logger.getLogger(this.getClass()).error(e); } finally { try { connection.close(); } catch (SQLException e) { Logger.getLogger(this.getClass()).error(e); } } if (stored) { return refID; } return ""; }
From source file:org.openehealth.coms.cc.web_frontend.consentcreator.service.DocumentFactory.java
/** * Constructs a CDA Consent for the given user. * /*from w w w . j a va2 s. c o m*/ * @param user * @param policySet * - null if either the participation should end or if a new * PolicySet should be created. * @param author * @param participation * - true if the user wants to participate, else false * @param out * - The OutputStream on which the generated PDF presentation * will be written * @return - The generated CDA file. * */ public Document constructCDA(User user, Document policySet, User author, boolean participation, OutputStream out) { DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); Document domCDA = null; Document domAssignedAuthor = null; Document domScanningDevice = null; Document domDataEnterer = null; Document domCustodian = null; Document domLegalAuthenticator = null; String cdaAsString = ""; DocumentBuilder db = null; try { db = dbf.newDocumentBuilder(); domCDA = db.parse(urlCdaSkeleton); domAssignedAuthor = db.parse(urlAssignedAuthor); domScanningDevice = db.parse(urlScanningDevice); domDataEnterer = db.parse(urlDataEnterer); domCustodian = db.parse(urlCustodian); domLegalAuthenticator = db.parse(urlLegalAuthenticator); } catch (Exception e) { Logger.getLogger(this.getClass()).error(e); } Date d = new Date(); String uniqueID = RandomStringUtils.randomNumeric(64); domCDA.getElementsByTagName("id").item(0).getAttributes().item(0).setNodeValue(uniqueID); domCDA.getElementsByTagName("id").item(0).getAttributes().item(1) .setNodeValue("1.2.276.0.76.3.1.78.1.0.10.40"); SimpleDateFormat sd = new SimpleDateFormat("yyyyMMddHHmmssZ"); domCDA.getElementsByTagName("effectiveTime").item(0).getAttributes().item(0).setTextContent(sd.format(d)); Node title = domCDA.getElementsByTagName("title").item(0); if (participation) { title.setTextContent("Dies ist die Einwilligungserklrung fr die Teilnahme an ISIS von " + user.getForename() + " " + user.getName()); } else { title.setTextContent("Dieses Dokument erklrt den Verzicht von " + user.getForename() + " " + user.getName() + " auf die Teilnahme an ISIS."); } Node pR = domCDA.getElementsByTagName("patientRole").item(0); NodeList prChildren = pR.getChildNodes(); Node id = prChildren.item(1); // extension id.getAttributes().item(0).setNodeValue(user.getID()); // PID // root id.getAttributes().item(1).setNodeValue("1.2.276.0.76.3.1.78.1.0.10.20"); // Assigning // Authority NodeList addr = prChildren.item(3).getChildNodes(); addr.item(1).setTextContent(user.getStreet()); addr.item(3).setTextContent(user.getCity()); addr.item(5).setTextContent("");//Hier knnte das Bundesland // stehen! addr.item(7).setTextContent(String.valueOf(user.getZipcode())); addr.item(9).setTextContent("Deutschland");// Es sollte nicht // standardmig Deutschland // gesetzt werden! NodeList pat = prChildren.item(5).getChildNodes(); NodeList name = pat.item(1).getChildNodes(); if (user.getGender().equalsIgnoreCase("male")) { name.item(1).setTextContent("Herr"); pat.item(3).getAttributes().item(0).setTextContent("M"); } else { name.item(1).setTextContent("Frau"); pat.item(3).getAttributes().item(0).setTextContent("F"); } name.item(3).setTextContent(user.getForename()); name.item(5).setTextContent(user.getName()); SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd"); pat.item(5).getAttributes().item(0).setTextContent(formatter.format(user.getBirthdate())); if (policySet == null) { policySet = getSkeletonPolicySet(participation, user); } Document doc = db.newDocument(); Element root = doc.createElement("component"); doc.appendChild(root); Node copy = doc.importNode(policySet.getDocumentElement(), true); root.appendChild(copy); NodeList list = domCDA.getElementsByTagName("structuredBody"); Node f = domCDA.importNode(doc.getDocumentElement(), true); list.item(0).appendChild(f); Node docuOfNode = domCDA.getElementsByTagName("documentationOf").item(0); if (author == user) { domAssignedAuthor.getElementsByTagName("time").item(0).getAttributes().item(0) .setNodeValue(sd.format(d)); domAssignedAuthor.getElementsByTagName("id").item(0).getAttributes().item(0) .setNodeValue(author.getID()); // ID domAssignedAuthor.getElementsByTagName("id").item(0).getAttributes().item(1) .setNodeValue("1.2.276.0.76.3.1.78.1.0.10.20");// MPI-assigning // authority if (user.getGender().equalsIgnoreCase("male")) { domAssignedAuthor.getElementsByTagName("prefix").item(0).setTextContent("Herr"); } else { name.item(1).setTextContent("Frau"); domAssignedAuthor.getElementsByTagName("prefix").item(0).setTextContent("Frau"); } // suffix Wert setzen // domAssignedAuthor.getElementsByTagName("suffix").item(0).getAttributes().item(0).setNodeValue(""); domAssignedAuthor.getElementsByTagName("given").item(0).setTextContent(author.getForename()); domAssignedAuthor.getElementsByTagName("family").item(0).setTextContent(author.getName()); // TODO Werte setzen assignedPerson oder Werte loeschen } else if (author != user && author != null) { // Zukunft: Erzeugung durch Dritte } else { // Std values from AssignedAuthor.xml } Node copyAssignedAuthorNode = domCDA.importNode(domAssignedAuthor.getDocumentElement(), true); Node copyScanningDeviceNode = domCDA.importNode(domScanningDevice.getDocumentElement(), true); Node copyDataEntererNode = domCDA.importNode(domDataEnterer.getDocumentElement(), true); Node copyCustodianNode = domCDA.importNode(domCustodian.getDocumentElement(), true); Node copyLegalAuthenticator = domCDA.importNode(domLegalAuthenticator.getDocumentElement(), true); sd.applyPattern("yyyyMMdd"); domCDA.getElementsByTagName("low").item(0).getAttributes().item(0).setNodeValue(sd.format(d)); Date d2 = new Date((long) (d.getTime() + 30 * 3.1556926 * Math.pow(10, 10))); domCDA.getElementsByTagName("high").item(0).getAttributes().item(0).setNodeValue(sd.format(d2)); copyAssignedAuthorNode.getChildNodes().item(3).getAttributes().item(0).setNodeValue(sd.format(d)); Node clinicalDocumentNode = domCDA.getElementsByTagName("ClinicalDocument").item(0); clinicalDocumentNode.insertBefore(copyAssignedAuthorNode, docuOfNode); clinicalDocumentNode.insertBefore(copyScanningDeviceNode, docuOfNode); clinicalDocumentNode.insertBefore(copyDataEntererNode, docuOfNode); clinicalDocumentNode.insertBefore(copyCustodianNode, docuOfNode); clinicalDocumentNode.insertBefore(copyLegalAuthenticator, docuOfNode); Document noNSCDA = (Document) domCDA.cloneNode(true); NodeList l = noNSCDA.getElementsByTagName("ClinicalDocument"); NamedNodeMap attributes = l.item(0).getAttributes(); attributes.removeNamedItem("xmlns"); attributes.removeNamedItem("xmlns:voc"); attributes.removeNamedItem("xmlns:xsi"); attributes.removeNamedItem("xsi:schemaLocation"); l = noNSCDA.getElementsByTagName("PolicySet"); attributes = l.item(0).getAttributes(); attributes.removeNamedItem("xmlns"); attributes.removeNamedItem("PolicyCombiningAlgId"); attributes.removeNamedItem("xmlns:xsi"); attributes.removeNamedItem("xsi:schemaLocation"); attributes.removeNamedItem("PolicySetId"); formatter = new SimpleDateFormat("dd.MM.yyyy"); noNSCDA.getElementsByTagName("birthTime").item(0).getAttributes().item(0) .setTextContent(formatter.format(user.getBirthdate())); cdaAsString = getStringFromDocument(noNSCDA); Document nonXMLBody = constructPDF(cdaAsString, out); Node copyNode = domCDA.importNode(nonXMLBody.getDocumentElement(), true); Node component = domCDA.getElementsByTagName("component").item(0); Node structBody = component.getChildNodes().item(1); component.insertBefore(copyNode, structBody); NamedNodeMap nlm = domCDA.getDocumentElement().getElementsByTagName("PolicySet").item(0).getAttributes(); // nlm.removeNamedItem("xmlns:xsi"); // nlm.removeNamedItem("xsi:schemaLocation"); return domCDA; }
From source file:org.openehealth.coms.cc.web_frontend.DatabaseTests.java
@Test public void testDatabaseMethods() { try {//from w w w . ja v a2 s . c o m User user1 = new User(); user1.setActive(1); user1.setBirthdate(new Date()); user1.setCity("Heidelberg"); user1.setEmailaddress("allyourbase@arebelongto.us"); user1.setForename("Homo"); user1.setName("Heidelbergensis"); user1.setGender("male"); user1.setID("999999"); user1.setPassword("admin"); user1.setPrivileges(0); user1.setStreet("Sesamstrae"); user1.setZipcode(69120); user1.setPassword(RandomStringUtils.randomNumeric(64)); assertTrue(database.storeUser(user1)); assertTrue(database.existsUser(user1)); assertNotNull(database.retrieveUserByEmail(user1.getEmailaddress())); assertNotNull(database.retrieveUser(user1.getName(), user1.getForename(), user1.getBirthdate(), user1.getGender())); assertNotNull(database.retrieveUserByID(user1.getID())); assertTrue(database.deactivateUser(user1.getID())); assertTrue(database.activateUser(user1.getID())); String s = database.storePasswordRequest(user1); assertTrue(database.existsPasswordRequest(s, false)); assertNotNull(database.retrieveUserByPasswordRequest(s)); assertTrue(database.removeRefID(s)); assertFalse(database.retrievePassword(user1.getEmailaddress()).equalsIgnoreCase("")); assertTrue(database.updateUser(user1)); assertTrue(database.updateUserPassword(user1.getID(), user1.getPassword())); assertTrue(database.retrievePassword(user1.getEmailaddress()).equalsIgnoreCase(user1.getPassword())); assertTrue(database.storeConflict(user1.getID())); assertTrue(database.showConflicts().size() != 0); assertTrue(database.removeConflict(user1.getID())); assertFalse(database.storeUnclearedConsent(user1.getID(), "abc", 1).equalsIgnoreCase("")); assertTrue(database.existsUnclearedConsent(user1.getID())); assertFalse(database.retrieveUnclearedConsentFilename(user1.getID()).equalsIgnoreCase("")); assertTrue(database.showUnclearedConsents().size() != 0); assertTrue(database.removeUnclearedConsent(user1.getID())); assertTrue(database.removeUser(user1.getID())); assertFalse(database.existsUser(user1)); } catch (Exception e) { e.printStackTrace(); fail(); } }