Example usage for org.w3c.dom Element setPrefix

List of usage examples for org.w3c.dom Element setPrefix

Introduction

In this page you can find the example usage for org.w3c.dom Element setPrefix.

Prototype

public void setPrefix(String prefix) throws DOMException;

Source Link

Document

The namespace prefix of this node, or null if it is unspecified.

Usage

From source file:org.ojbc.bundles.adapters.staticmock.AbstractStaticMockTest.java

protected Document buildPersonQueryRequestMessage(String system, String identifier) throws Exception {

    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
    dbf.setNamespaceAware(true);//from  ww w  . j  a v a  2s. c  o m
    Document ret = dbf.newDocumentBuilder().newDocument();

    if (StaticMockQuery.INCIDENT_MOCK_ADAPTER_QUERY_SYSTEM_ID.equals(system)) {

        Element root = ret.createElementNS(OjbcNamespaceContext.NS_INCIDENT_QUERY_REQUEST_DOC,
                "IncidentIdentifierIncidentReportRequest");
        ret.appendChild(root);
        String prefix = XmlUtils.OJBC_NAMESPACE_CONTEXT
                .getPrefix(OjbcNamespaceContext.NS_INCIDENT_QUERY_REQUEST_DOC);
        root.setPrefix(prefix);

        Element id = XmlUtils.appendElement(root, OjbcNamespaceContext.NS_INCIDENT_QUERY_REQUEST_EXT,
                "Incident");
        Element e = XmlUtils.appendElement(id, OjbcNamespaceContext.NS_NC, "ActivityIdentification");
        e = XmlUtils.appendElement(e, OjbcNamespaceContext.NS_NC, "IdentificationID");
        e.setTextContent(identifier);
        e = XmlUtils.appendElement(root, OjbcNamespaceContext.NS_INCIDENT_QUERY_REQUEST_EXT,
                "SourceSystemNameText");
        e.setTextContent(system);
        XmlUtils.OJBC_NAMESPACE_CONTEXT.populateRootNamespaceDeclarations(root);

    } else if (StaticMockQuery.FIREARM_MOCK_ADAPTER_QUERY_BY_PERSON_SYSTEM_ID.equals(system)) {

        Element root = ret.createElementNS(OjbcNamespaceContext.NS_FIREARM_REGISTRATION_QUERY_REQUEST_DOC,
                "PersonFirearmRegistrationRequest");
        ret.appendChild(root);
        root.setPrefix(OjbcNamespaceContext.NS_PREFIX_FIREARM_REGISTRATION_QUERY_REQUEST_DOC);

        Element id = XmlUtils.appendElement(root,
                OjbcNamespaceContext.NS_FIREARM_REGISTRATION_QUERY_REQUEST_EXT,
                "PersonFirearmRegistrationIdentification");
        Element e = XmlUtils.appendElement(id, OjbcNamespaceContext.NS_NC, "IdentificationID");
        e.setTextContent(identifier);
        e = XmlUtils.appendElement(id, OjbcNamespaceContext.NS_NC, "IdentificationSourceText");
        e.setTextContent(system);
        XmlUtils.OJBC_NAMESPACE_CONTEXT.populateRootNamespaceDeclarations(root);

    } else if (StaticMockQuery.JUVENILE_HISTORY_MOCK_ADAPTER_QUERY_SYSTEM_ID.equals(system)) {
        Element root = ret.createElementNS(OjbcNamespaceContext.NS_JUVENILE_HISTORY_QUERY_REQUEST_DOC,
                "JuvenileHistoryQuery");
        ret.appendChild(root);
        root.setPrefix(OjbcNamespaceContext.NS_PREFIX_JUVENILE_HISTORY_QUERY_REQUEST_DOC);
        Element e = XmlUtils.appendElement(root, OjbcNamespaceContext.NS_JUVENILE_HISTORY_EXT,
                "JuvenileHistoryQueryCriteria");
        Element id = XmlUtils.appendElement(e, OjbcNamespaceContext.NS_JUVENILE_HISTORY_EXT,
                "JuvenileInformationRecordID");
        e = XmlUtils.appendElement(id, OjbcNamespaceContext.NS_NC_30, "IdentificationID");
        e.setTextContent(identifier);
        e = XmlUtils.appendElement(id, OjbcNamespaceContext.NS_NC_30, "IdentificationSourceText");
        e.setTextContent(system);
        XmlUtils.OJBC_NAMESPACE_CONTEXT.populateRootNamespaceDeclarations(root);
    } else {

        Element root = ret.createElementNS(OjbcNamespaceContext.NS_PERSON_QUERY_REQUEST, "PersonRecordRequest");
        ret.appendChild(root);
        String prefix = XmlUtils.OJBC_NAMESPACE_CONTEXT.getPrefix(OjbcNamespaceContext.NS_PERSON_QUERY_REQUEST);
        root.setPrefix(prefix);

        Element id = XmlUtils.appendElement(root, OjbcNamespaceContext.NS_PERSON_QUERY_REQUEST,
                "PersonRecordRequestIdentification");
        Element e = XmlUtils.appendElement(id, OjbcNamespaceContext.NS_NC, "IdentificationID");
        e.setTextContent(identifier);
        e = XmlUtils.appendElement(id, OjbcNamespaceContext.NS_NC, "IdentificationSourceText");
        e.setTextContent(system);
        XmlUtils.OJBC_NAMESPACE_CONTEXT.populateRootNamespaceDeclarations(root);

    }

    return ret;
}

From source file:org.ojbc.bundles.adapters.staticmock.courtcase.CourtCaseSearchResultBuilder.java

public static Element buildCourtCaseSearchResultElement(Document courtCaseSearchResultsDocument,
        Document courtCaseDetailDoc, String resultId) throws Exception {

    CourtCaseDetail courtCaseDetail = getCourtCaseDetail(courtCaseDetailDoc);

    Element courtCaseSearchResultElement = courtCaseSearchResultsDocument
            .createElementNS(OjbcNamespaceContext.NS_COURT_CASE_SEARCH_RESULTS, "CourtCaseSearchResult");

    courtCaseSearchResultElement.setPrefix(OjbcNamespaceContext.NS_PREFIX_COURT_CASE_SEARCH_RESULTS);

    XmlUtils.addAttribute(courtCaseSearchResultElement, OjbcNamespaceContext.NS_STRUCTURES_30, "id",
            "Result_" + resultId);

    Element caseElement = XmlUtils.appendElement(courtCaseSearchResultElement, OjbcNamespaceContext.NS_NC_30,
            "Case");

    XmlUtils.addAttribute(caseElement, OjbcNamespaceContext.NS_STRUCTURES_30, "id", "Case_" + resultId);

    String courtCaseGeneralCategory = courtCaseDetail.getCaseGeneralCategoryText();

    if (StringUtils.isNotBlank(courtCaseGeneralCategory)) {

        Element caseGenCatTxtElement = XmlUtils.appendElement(caseElement, OjbcNamespaceContext.NS_NC_30,
                "CaseGeneralCategoryText");

        courtCaseGeneralCategory = courtCaseGeneralCategory.trim();

        caseGenCatTxtElement.setTextContent(courtCaseGeneralCategory);
    }/*w w  w  .jav  a  2  s .co m*/

    String sTrackingId = courtCaseDetail.getCaseTrackingID();

    if (StringUtils.isNotBlank(sTrackingId)) {

        Element caseTrackId = XmlUtils.appendElement(caseElement, OjbcNamespaceContext.NS_NC_30,
                "CaseTrackingID");

        sTrackingId = sTrackingId.trim();

        caseTrackId.setTextContent(sTrackingId);
    }

    String sDocketId = courtCaseDetail.getCaseDocketID();

    if (StringUtils.isNotBlank(sDocketId)) {

        Element caseDocketIdElement = XmlUtils.appendElement(caseElement, OjbcNamespaceContext.NS_NC_30,
                "CaseDocketID");

        caseDocketIdElement.setTextContent(sDocketId);
    }

    Element caseAugment = XmlUtils.appendElement(caseElement, OjbcNamespaceContext.NS_JXDM_51,
            "CaseAugmentation");

    String sJurisdictionTxt = courtCaseDetail.getJurisdictionText();

    if (StringUtils.isNotBlank(sJurisdictionTxt)) {

        Element caseCourt = XmlUtils.appendElement(caseAugment, OjbcNamespaceContext.NS_JXDM_51, "CaseCourt");

        Element orgAugment = XmlUtils.appendElement(caseCourt, OjbcNamespaceContext.NS_JXDM_51,
                "OrganizationAugmentation");

        Element orgJurisdiction = XmlUtils.appendElement(orgAugment, OjbcNamespaceContext.NS_JXDM_51,
                "OrganizationJurisdiction");

        Element jurisdictionTxtElement = XmlUtils.appendElement(orgJurisdiction, OjbcNamespaceContext.NS_NC_30,
                "JurisdictionText");

        sJurisdictionTxt = sJurisdictionTxt.trim();

        jurisdictionTxtElement.setTextContent(sJurisdictionTxt);
    }

    String sCaseOtherInfoIdCatDescTxt = courtCaseDetail.getCaseOtherInfoIdCatDescTxt();

    if (StringUtils.isBlank(sCaseOtherInfoIdCatDescTxt)) {

        Element caseOtherIdElement = XmlUtils.appendElement(caseAugment, OjbcNamespaceContext.NS_JXDM_51,
                "CaseOtherIdentification");

        Element idCatDescTxtElement = XmlUtils.appendElement(caseOtherIdElement, OjbcNamespaceContext.NS_NC_30,
                "IdentificationCategoryDescriptionText");

        sCaseOtherInfoIdCatDescTxt = sCaseOtherInfoIdCatDescTxt.trim();

        idCatDescTxtElement.setTextContent(sCaseOtherInfoIdCatDescTxt);
    }

    Element person = XmlUtils.appendElement(courtCaseSearchResultElement, OjbcNamespaceContext.NS_NC_30,
            "Person");
    XmlUtils.addAttribute(person, OjbcNamespaceContext.NS_STRUCTURES_30, "id", "Person_" + resultId);
    XmlUtils.addAttribute(person, OjbcNamespaceContext.NS_STRUCTURES_30, "metadata", "M" + resultId);

    String personDob = courtCaseDetail.getPersonBirthDate();

    if (StringUtils.isNotBlank(personDob)) {

        Element personDobElement = XmlUtils.appendElement(person, OjbcNamespaceContext.NS_NC_30,
                "PersonBirthDate");

        Element personDobValueElement = XmlUtils.appendElement(personDobElement, OjbcNamespaceContext.NS_NC_30,
                "Date");

        personDob = personDob.trim();

        personDobValueElement.setTextContent(personDob);
    }

    String sEyeColor = courtCaseDetail.getPersonEyeColor();

    if (StringUtils.isNotBlank(sEyeColor)) {

        Element eyeColorElement = XmlUtils.appendElement(person, OjbcNamespaceContext.NS_NC_30,
                "PersonEyeColorText");

        sEyeColor = sEyeColor.trim();

        eyeColorElement.setTextContent(sEyeColor);
    }

    String sHairColor = courtCaseDetail.getPersonHairColor();

    if (StringUtils.isNotBlank(sHairColor)) {

        Element hairColor = XmlUtils.appendElement(person, OjbcNamespaceContext.NS_NC_30,
                "PersonHairColorText");

        sHairColor = sHairColor.trim();

        hairColor.setTextContent(sHairColor);
    }

    String sHeight = courtCaseDetail.getPersonHeight();

    if (StringUtils.isNotBlank(sHeight)) {

        Element height = XmlUtils.appendElement(person, OjbcNamespaceContext.NS_NC_30, "PersonHeightMeasure");

        Element measureValueTxt = XmlUtils.appendElement(height, OjbcNamespaceContext.NS_NC_30,
                "MeasureValueText");

        sHeight = sHeight.trim();

        measureValueTxt.setTextContent(sHeight);

        String sHeightUnits = courtCaseDetail.getPersonHeightUnits();

        if (StringUtils.isNotBlank(sHeightUnits)) {

            Element lengthUnitCode = XmlUtils.appendElement(height, OjbcNamespaceContext.NS_NC_30,
                    "LengthUnitCode");

            lengthUnitCode.setTextContent(sHeightUnits);
        }
    }

    String personGivenName = courtCaseDetail.getPersonGivenName();

    boolean hasPersonGivenName = StringUtils.isNotBlank(personGivenName);

    String sPersonMiddleName = courtCaseDetail.getPersonMiddleName();

    boolean hasPersonMiddleName = StringUtils.isNotBlank(sPersonMiddleName);

    String personSurName = courtCaseDetail.getPersonSurName();

    boolean hasPersonSurName = StringUtils.isNotBlank(personSurName);

    if (hasPersonGivenName || hasPersonMiddleName || hasPersonSurName) {

        Element personNameElement = XmlUtils.appendElement(person, OjbcNamespaceContext.NS_NC_30, "PersonName");

        if (hasPersonGivenName) {

            Element personGivenNameElement = XmlUtils.appendElement(personNameElement,
                    OjbcNamespaceContext.NS_NC_30, "PersonGivenName");

            personGivenName = personGivenName.trim();

            personGivenNameElement.setTextContent(personGivenName);
        }

        if (hasPersonMiddleName) {

            Element personMiddleNameElement = XmlUtils.appendElement(personNameElement,
                    OjbcNamespaceContext.NS_NC_30, "PersonMiddleName");

            sPersonMiddleName = sPersonMiddleName.trim();

            personMiddleNameElement.setTextContent(sPersonMiddleName);
        }

        if (hasPersonSurName) {

            Element personSurNameElement = XmlUtils.appendElement(personNameElement,
                    OjbcNamespaceContext.NS_NC_30, "PersonSurName");

            personSurName = personSurName.trim();

            personSurNameElement.setTextContent(personSurName);
        }
    }

    String sRaceCode = courtCaseDetail.getPersonRaceCode();

    if (StringUtils.isNotBlank(sRaceCode)) {

        Element personRaceCodeElement = XmlUtils.appendElement(person, OjbcNamespaceContext.NS_JXDM_51,
                "PersonRaceCode");

        sRaceCode = sRaceCode.trim();

        personRaceCodeElement.setTextContent(sRaceCode);
    }

    String sPersonSexCode = courtCaseDetail.getPersonSexCode();

    if (StringUtils.isNotBlank(sPersonSexCode)) {

        Element personSexCode = XmlUtils.appendElement(person, OjbcNamespaceContext.NS_JXDM_51,
                "PersonSexCode");

        sPersonSexCode = sPersonSexCode.trim();

        personSexCode.setTextContent(sPersonSexCode);
    }

    String sPersonWeight = courtCaseDetail.getPersonWeight();

    if (StringUtils.isNotBlank(sPersonWeight)) {

        Element personWeightMeasure = XmlUtils.appendElement(person, OjbcNamespaceContext.NS_NC_30,
                "PersonWeightMeasure");

        Element measureValTxt = XmlUtils.appendElement(personWeightMeasure, OjbcNamespaceContext.NS_NC_30,
                "MeasureValueText");

        sPersonWeight = sPersonWeight.trim();

        measureValTxt.setTextContent(sPersonWeight);
    }

    Element personAugmentation = XmlUtils.appendElement(person, OjbcNamespaceContext.NS_JXDM_51,
            "PersonAugmentation");

    String sDriversLicenseId = courtCaseDetail.getDriverLicenseId();

    if (StringUtils.isNotBlank(sDriversLicenseId)) {

        Element driverLicense = XmlUtils.appendElement(personAugmentation, OjbcNamespaceContext.NS_JXDM_51,
                "DriverLicense");

        Element driverLicenseId = XmlUtils.appendElement(driverLicense, OjbcNamespaceContext.NS_JXDM_51,
                "DriverLicenseIdentification");

        Element driverLicenseIdVal = XmlUtils.appendElement(driverLicenseId, OjbcNamespaceContext.NS_NC_30,
                "IdentificationID");

        sDriversLicenseId = sDriversLicenseId.trim();

        driverLicenseIdVal.setTextContent(sDriversLicenseId);

        String driversLicenseSourceTxt = courtCaseDetail.getDriverLicenseIdSourceTxt();

        if (StringUtils.isNotBlank(driversLicenseSourceTxt)) {

            Element drivLicIdSrcTxtElement = XmlUtils.appendElement(driverLicenseId,
                    OjbcNamespaceContext.NS_NC_30, "IdentificationSourceText");

            driversLicenseSourceTxt = driversLicenseSourceTxt.trim();

            drivLicIdSrcTxtElement.setTextContent(driversLicenseSourceTxt);
        }
    }

    String sFbiId = courtCaseDetail.getPersonFBIId();

    if (StringUtils.isNotBlank(sFbiId)) {

        Element personFBIId = XmlUtils.appendElement(personAugmentation, OjbcNamespaceContext.NS_JXDM_51,
                "PersonFBIIdentification");

        Element personFBIIdVal = XmlUtils.appendElement(personFBIId, OjbcNamespaceContext.NS_NC_30,
                "IdentificationID");

        sFbiId = sFbiId.trim();

        personFBIIdVal.setTextContent(sFbiId);
    }

    String sPersonSid = courtCaseDetail.getPersonSid();

    if (StringUtils.isNotBlank(sPersonSid)) {

        Element personSid = XmlUtils.appendElement(personAugmentation, OjbcNamespaceContext.NS_JXDM_51,
                "PersonStateFingerprintIdentification");

        Element personSidVal = XmlUtils.appendElement(personSid, OjbcNamespaceContext.NS_NC_30,
                "IdentificationID");

        sPersonSid = sPersonSid.trim();

        personSidVal.setTextContent(sPersonSid);
    }

    Element personCaseAssociation = XmlUtils.appendElement(courtCaseSearchResultElement,
            OjbcNamespaceContext.NS_CYFS, "PersonCaseAssociation");

    Element personAssoc = XmlUtils.appendElement(personCaseAssociation, OjbcNamespaceContext.NS_NC_30,
            "Person");
    XmlUtils.addAttribute(personAssoc, OjbcNamespaceContext.NS_STRUCTURES_30, "ref", "Person_" + resultId);

    Element caseAssoc = XmlUtils.appendElement(personCaseAssociation, OjbcNamespaceContext.NS_NC_30, "Case");
    XmlUtils.addAttribute(caseAssoc, OjbcNamespaceContext.NS_STRUCTURES_30, "ref", "Case_" + resultId);

    String sourceSystemNameText = courtCaseDetail.getSourceSystemNameText();

    if (StringUtils.isNotBlank(sourceSystemNameText)) {

        Element srcSysNameTxtElement = XmlUtils.appendElement(courtCaseSearchResultElement,
                OjbcNamespaceContext.NS_COURT_CASE_SEARCH_RESULTS_EXT, "SourceSystemNameText");

        sourceSystemNameText = sourceSystemNameText.trim();

        srcSysNameTxtElement.setTextContent(sourceSystemNameText);
    }

    String sSystemId = courtCaseDetail.getSystemId();

    String sSystemName = courtCaseDetail.getSystemName();

    boolean hasSystemId = StringUtils.isNotBlank(sSystemId);

    boolean hasSystemName = StringUtils.isNotBlank(sSystemName);

    if (hasSystemId || hasSystemName) {

        Element sysIdElement = XmlUtils.appendElement(courtCaseSearchResultElement,
                OjbcNamespaceContext.NS_INTEL_31, "SystemIdentification");

        if (hasSystemId) {

            Element sysIdValElement = XmlUtils.appendElement(sysIdElement, OjbcNamespaceContext.NS_NC_30,
                    "IdentificationID");

            sSystemId = sSystemId.trim();

            sysIdValElement.setTextContent(sSystemId);
        }

        if (hasSystemName) {

            Element sysName = XmlUtils.appendElement(sysIdElement, OjbcNamespaceContext.NS_NC_30, "SystemName");

            sSystemName = sSystemName.trim();

            sysName.setTextContent(sSystemName);
        }
    }

    String sSrchResCatTxt = courtCaseDetail.getSearchResultCategoryText();

    if (StringUtils.isNotBlank(sSrchResCatTxt)) {

        Element srchResCatTxtElement = XmlUtils.appendElement(courtCaseSearchResultElement,
                OjbcNamespaceContext.NS_COURT_CASE_SEARCH_RESULTS_EXT, "SearchResultCategoryText");

        sSrchResCatTxt = sSrchResCatTxt.trim();

        srchResCatTxtElement.setTextContent(sSrchResCatTxt);
    }

    String sOrgBranchName = courtCaseDetail.getOrganizationBranchName();

    String sOrgName = courtCaseDetail.getOrganizationName();

    boolean hasOrgBranchName = StringUtils.isNotBlank(sOrgBranchName);

    boolean hasOrgName = StringUtils.isNotBlank(sOrgName);

    if (hasOrgBranchName || hasOrgName) {

        Element infoOwnOrgElement = XmlUtils.appendElement(courtCaseSearchResultElement,
                OjbcNamespaceContext.NS_COURT_CASE_SEARCH_RESULTS_EXT, "InformationOwningOrganization");

        if (hasOrgBranchName) {

            Element orgBranchNameElement = XmlUtils.appendElement(infoOwnOrgElement,
                    OjbcNamespaceContext.NS_NC_30, "OrganizationBranchName");

            sOrgBranchName = sOrgBranchName.trim();

            orgBranchNameElement.setTextContent(sOrgBranchName);
        }

        if (hasOrgName) {

            Element orgNameElement = XmlUtils.appendElement(infoOwnOrgElement, OjbcNamespaceContext.NS_NC_30,
                    "OrganizationName");

            sOrgName = sOrgName.trim();

            orgNameElement.setTextContent(sOrgName);
        }
    }

    String sLastUpdatedDate = courtCaseDetail.getLastUpdatedDate();

    if (StringUtils.isNotBlank(sLastUpdatedDate)) {

        Element metadataElement = XmlUtils.appendElement(courtCaseSearchResultElement,
                OjbcNamespaceContext.NS_NC_30, "Metadata");

        XmlUtils.addAttribute(metadataElement, OjbcNamespaceContext.NS_STRUCTURES_30, "id", "M" + resultId);

        Element lastUpdatedDateElement = XmlUtils.appendElement(metadataElement, OjbcNamespaceContext.NS_NC_30,
                "LastUpdatedDate");

        Element lastUpdateValElement = XmlUtils.appendElement(lastUpdatedDateElement,
                OjbcNamespaceContext.NS_NC_30, "Date");

        sLastUpdatedDate = sLastUpdatedDate.trim();

        lastUpdateValElement.setTextContent(sLastUpdatedDate);
    }

    return courtCaseSearchResultElement;
}

From source file:org.ojbc.bundles.adapters.staticmock.custody.CustodySearchResultBuilder.java

public static Element buildCustodySearchResultElement(Document custodySearchResultsDoc,
        Document custodyQueryResult, String resultId) throws Exception {

    CustodyDetail custodyDetail = getCustodyDetail(custodyQueryResult);

    Element custodySearchResultElement = custodySearchResultsDoc
            .createElementNS(OjbcNamespaceContext.NS_CUSTODY_SEARCH_RESULTS, "CustodySearchResult");
    custodySearchResultElement.setPrefix(OjbcNamespaceContext.NS_PREFIX_CUSTODY_SEARCH_RESULTS);

    XmlUtils.addAttribute(custodySearchResultElement, OjbcNamespaceContext.NS_STRUCTURES_30, "id",
            "Result_" + resultId);

    String sDocCreationDate = custodyDetail.getDocCreationDate();

    if (StringUtils.isNotBlank(sDocCreationDate)) {

        Element docCreateDate = XmlUtils.appendElement(custodySearchResultElement,
                OjbcNamespaceContext.NS_NC_30, "DocumentCreationDate");

        Element docCreateDateTime = XmlUtils.appendElement(docCreateDate, OjbcNamespaceContext.NS_NC_30,
                "DateTime");

        sDocCreationDate = sDocCreationDate.trim();

        docCreateDateTime.setTextContent(sDocCreationDate);
    }/*from   w  w w  .j  av  a 2 s .  com*/

    String docId = custodyDetail.getDocId();

    String docIdCatDesc = custodyDetail.getDocumentIdCategoryDescription();

    boolean hasDocId = StringUtils.isNotBlank(docId);

    boolean hasDocIdCatDesc = StringUtils.isNotBlank(docIdCatDesc);

    if (hasDocId || hasDocIdCatDesc) {

        Element docIdElement = XmlUtils.appendElement(custodySearchResultElement, OjbcNamespaceContext.NS_NC_30,
                "DocumentIdentification");

        if (hasDocId) {

            Element docIdValElement = XmlUtils.appendElement(docIdElement, OjbcNamespaceContext.NS_NC_30,
                    "IdentificationID");

            docId = docId.trim();

            docIdValElement.setTextContent(docId);
        }

        if (hasDocIdCatDesc) {

            Element docIdCatDescTxtElement = XmlUtils.appendElement(docIdElement, OjbcNamespaceContext.NS_NC_30,
                    "IdentificationCategoryDescriptionText");

            docIdCatDesc = docIdCatDesc.trim();

            docIdCatDescTxtElement.setTextContent(docIdCatDesc);
        }
    }

    Element personElement = XmlUtils.appendElement(custodySearchResultElement, OjbcNamespaceContext.NS_NC_30,
            "Person");

    XmlUtils.addAttribute(personElement, OjbcNamespaceContext.NS_STRUCTURES_30, "id", "Person_" + resultId);
    XmlUtils.addAttribute(personElement, OjbcNamespaceContext.NS_STRUCTURES_30, "metadata", "M" + resultId);

    String sPersonDob = custodyDetail.getPersonDob();

    if (StringUtils.isNotBlank(sPersonDob)) {

        Element personDob = XmlUtils.appendElement(personElement, OjbcNamespaceContext.NS_NC_30,
                "PersonBirthDate");
        Element dobDateTimeElement = XmlUtils.appendElement(personDob, OjbcNamespaceContext.NS_NC_30,
                "DateTime");

        sPersonDob = sPersonDob.trim();

        dobDateTimeElement.setTextContent(sPersonDob);
    }

    String sPersonGivenName = custodyDetail.getPersonGivenName();
    boolean hasPersonGivenName = StringUtils.isNotBlank(sPersonGivenName);

    String sPersonMiddleName = custodyDetail.getPersonMiddleName();
    boolean hasPersonMiddleName = StringUtils.isNotBlank(sPersonMiddleName);

    String sPersonSurName = custodyDetail.getPersonSurName();
    boolean hasPersonSurName = StringUtils.isNotBlank(sPersonSurName);

    if (hasPersonGivenName || hasPersonMiddleName || hasPersonSurName) {

        Element personNameElement = XmlUtils.appendElement(personElement, OjbcNamespaceContext.NS_NC_30,
                "PersonName");

        if (hasPersonGivenName) {

            Element personGivenNameElement = XmlUtils.appendElement(personNameElement,
                    OjbcNamespaceContext.NS_NC_30, "PersonGivenName");

            sPersonGivenName = sPersonGivenName.trim();

            personGivenNameElement.setTextContent(sPersonGivenName);
        }

        if (hasPersonMiddleName) {

            Element middleNameElement = XmlUtils.appendElement(personNameElement, OjbcNamespaceContext.NS_NC_30,
                    "PersonMiddleName");

            sPersonMiddleName = sPersonMiddleName.trim();

            middleNameElement.setTextContent(sPersonMiddleName);
        }

        if (hasPersonSurName) {

            Element surNameElement = XmlUtils.appendElement(personNameElement, OjbcNamespaceContext.NS_NC_30,
                    "PersonSurName");

            sPersonSurName = sPersonSurName.trim();

            surNameElement.setTextContent(sPersonSurName);
        }

    }

    String sPersonSex = custodyDetail.getPersonSex();

    if (StringUtils.isNotBlank(sPersonSex)) {

        Element personSexTxt = XmlUtils.appendElement(personElement, OjbcNamespaceContext.NS_NC_30,
                "PersonSexText");

        sPersonSex = sPersonSex.trim();

        personSexTxt.setTextContent(sPersonSex);
    }

    String sPersonSSNId = custodyDetail.getPersonSsn();

    if (StringUtils.isNotBlank(sPersonSSNId)) {

        Element personSSNIdentification = XmlUtils.appendElement(personElement, OjbcNamespaceContext.NS_NC_30,
                "PersonSSNIdentification");

        Element ssnIdVal = XmlUtils.appendElement(personSSNIdentification, OjbcNamespaceContext.NS_NC_30,
                "IdentificationID");

        sPersonSSNId = sPersonSSNId.trim();

        ssnIdVal.setTextContent(sPersonSSNId);
    }

    String personStateId = custodyDetail.getPersonStateId();

    if (StringUtils.isNotBlank(personStateId)) {

        Element personStateIdElement = XmlUtils.appendElement(personElement, OjbcNamespaceContext.NS_NC_30,
                "PersonStateIdentification");

        Element personStateIdValElement = XmlUtils.appendElement(personStateIdElement,
                OjbcNamespaceContext.NS_NC_30, "IdentificationID");

        personStateId = personStateId.trim();

        personStateIdValElement.setTextContent(personStateId);
    }

    Element booking = XmlUtils.appendElement(custodySearchResultElement,
            OjbcNamespaceContext.NS_CUSTODY_SEARCH_RES_EXT, "Booking");
    XmlUtils.addAttribute(booking, OjbcNamespaceContext.NS_STRUCTURES_30, "id", "Booking" + resultId);

    String sFingerprintDate = custodyDetail.getFingerprintDate();

    if (StringUtils.isNotBlank(sFingerprintDate)) {

        Element fingerprintDate = XmlUtils.appendElement(booking, OjbcNamespaceContext.NS_JXDM_51,
                "FingerprintDate");

        Element fingerprintDateTime = XmlUtils.appendElement(fingerprintDate, OjbcNamespaceContext.NS_NC_30,
                "DateTime");

        sFingerprintDate = sFingerprintDate.trim();

        fingerprintDateTime.setTextContent(sFingerprintDate);
    }

    String bookingSubjId = custodyDetail.getBookingSubjectId();

    if (StringUtils.isNotBlank(bookingSubjId)) {

        Element bookingSubjectElement = XmlUtils.appendElement(booking, OjbcNamespaceContext.NS_JXDM_51,
                "BookingSubject");

        Element bookingSubjIdElement = XmlUtils.appendElement(bookingSubjectElement,
                OjbcNamespaceContext.NS_JXDM_51, "SubjectIdentification");

        Element bookingSubjIdValElement = XmlUtils.appendElement(bookingSubjIdElement,
                OjbcNamespaceContext.NS_NC_30, "IdentificationID");

        bookingSubjId = bookingSubjId.trim();

        bookingSubjIdValElement.setTextContent(bookingSubjId);
    }

    String sImgLoc = custodyDetail.getImageLocation();

    if (StringUtils.isNotBlank(sImgLoc)) {

        Element imageElement = XmlUtils.appendElement(booking, OjbcNamespaceContext.NS_NC_30, "Image");

        Element imgLocElement = XmlUtils.appendElement(imageElement, OjbcNamespaceContext.NS_NC_30,
                "ImageLocation");

        Element imgLocDescTxtElement = XmlUtils.appendElement(imgLocElement, OjbcNamespaceContext.NS_NC_30,
                "LocationDescriptionText");

        sImgLoc = sImgLoc.trim();

        imgLocDescTxtElement.setTextContent(sImgLoc);
    }

    Element chargeElement = XmlUtils.appendElement(custodySearchResultElement, OjbcNamespaceContext.NS_JXDM_51,
            "Charge");
    XmlUtils.addAttribute(chargeElement, OjbcNamespaceContext.NS_STRUCTURES_30, "id", "Charge_" + resultId);

    String sChargeCount = custodyDetail.getChargeCount();

    if (StringUtils.isNotBlank(sChargeCount)) {

        Element chargeCountQuantityElement = XmlUtils.appendElement(chargeElement,
                OjbcNamespaceContext.NS_JXDM_51, "ChargeCountQuantity");

        sChargeCount = sChargeCount.trim();

        chargeCountQuantityElement.setTextContent(sChargeCount);
    }

    String sChargeDesc = custodyDetail.getChargeDescription();

    if (StringUtils.isNotBlank(sChargeDesc)) {

        Element chargeDescriptionTxtElement = XmlUtils.appendElement(chargeElement,
                OjbcNamespaceContext.NS_JXDM_51, "ChargeDescriptionText");

        sChargeDesc = sChargeDesc.trim();

        chargeDescriptionTxtElement.setTextContent(sChargeDesc);
    }

    String sChargeStatuteCodeId = custodyDetail.getChargeStatuteCodeId();

    String sStatuteIdCatDescTxt = custodyDetail.getStatuteIdCategoryDescriptionTxt();

    boolean hasChargeStatuteCodeId = StringUtils.isNotBlank(sChargeStatuteCodeId);

    boolean hasStatuteIdCatDescTxt = StringUtils.isNotBlank(sStatuteIdCatDescTxt);

    if (hasChargeStatuteCodeId || hasStatuteIdCatDescTxt) {

        Element chargeStatuteElement = XmlUtils.appendElement(chargeElement, OjbcNamespaceContext.NS_JXDM_51,
                "ChargeStatute");

        Element statuteCodeIdElement = XmlUtils.appendElement(chargeStatuteElement,
                OjbcNamespaceContext.NS_JXDM_51, "StatuteCodeIdentification");

        if (hasChargeStatuteCodeId) {

            Element statCodeIdValElement = XmlUtils.appendElement(statuteCodeIdElement,
                    OjbcNamespaceContext.NS_NC_30, "IdentificationID");

            sChargeStatuteCodeId = sChargeStatuteCodeId.trim();

            statCodeIdValElement.setTextContent(sChargeStatuteCodeId);
        }

        if (hasStatuteIdCatDescTxt) {

            Element statCodeIdCatDescTxtElement = XmlUtils.appendElement(statuteCodeIdElement,
                    OjbcNamespaceContext.NS_NC_30, "IdentificationCategoryDescriptionText");

            sStatuteIdCatDescTxt = sStatuteIdCatDescTxt.trim();

            statCodeIdCatDescTxtElement.setTextContent(sStatuteIdCatDescTxt);
        }

    }

    Element personChargeAssociation = XmlUtils.appendElement(custodySearchResultElement,
            OjbcNamespaceContext.NS_JXDM_51, "PersonChargeAssociation");

    Element person = XmlUtils.appendElement(personChargeAssociation, OjbcNamespaceContext.NS_NC_30, "Person");
    XmlUtils.addAttribute(person, OjbcNamespaceContext.NS_STRUCTURES_30, "ref", "Person_" + resultId);

    Element personCharge = XmlUtils.appendElement(personChargeAssociation, OjbcNamespaceContext.NS_JXDM_51,
            "Charge");
    XmlUtils.addAttribute(personCharge, OjbcNamespaceContext.NS_STRUCTURES_30, "ref", "Charge_" + resultId);

    Element activityChargeAssociation = XmlUtils.appendElement(custodySearchResultElement,
            OjbcNamespaceContext.NS_JXDM_51, "ActivityChargeAssociation");

    Element activity = XmlUtils.appendElement(activityChargeAssociation, OjbcNamespaceContext.NS_NC_30,
            "Activity");
    XmlUtils.addAttribute(activity, OjbcNamespaceContext.NS_STRUCTURES_30, "ref", "Booking_" + resultId);

    Element activityCharge = XmlUtils.appendElement(activityChargeAssociation, OjbcNamespaceContext.NS_JXDM_51,
            "Charge");
    XmlUtils.addAttribute(activityCharge, OjbcNamespaceContext.NS_STRUCTURES_30, "ref", "Charge_" + resultId);

    String sSourceSystemNameText = custodyDetail.getSourceSystemNameText();

    if (StringUtils.isNotBlank(sSourceSystemNameText)) {

        Element sourceSystemNameTextElement = XmlUtils.appendElement(custodySearchResultElement,
                OjbcNamespaceContext.NS_CUSTODY_SEARCH_RES_EXT, "SourceSystemNameText");

        sSourceSystemNameText = sSourceSystemNameText.trim();

        sourceSystemNameTextElement.setTextContent(sSourceSystemNameText);
    }

    String sSystemId = custodyDetail.getSystemId();

    String sSystemName = custodyDetail.getSystemName();

    boolean hasSystemId = StringUtils.isNotBlank(sSystemId);

    boolean hasSystemName = StringUtils.isNotBlank(sSystemName);

    if (hasSystemId || hasSystemName) {

        Element systemIdentification = XmlUtils.appendElement(custodySearchResultElement,
                OjbcNamespaceContext.NS_INTEL_31, "SystemIdentification");

        if (hasSystemId) {

            Element systemIdVal = XmlUtils.appendElement(systemIdentification, OjbcNamespaceContext.NS_NC_30,
                    "IdentificationID");

            sSystemId = sSystemId.trim();

            systemIdVal.setTextContent(sSystemId);
        }

        if (hasSystemName) {

            Element systemName = XmlUtils.appendElement(systemIdentification, OjbcNamespaceContext.NS_NC_30,
                    "SystemName");

            sSystemName = sSystemName.trim();

            systemName.setTextContent(sSystemName);
        }
    }

    String sSearchResultCatTxt = custodyDetail.getSearchResultCategoryDescriptionText();

    if (StringUtils.isNotBlank(sSearchResultCatTxt)) {

        Element searchResultCategoryTxtElement = XmlUtils.appendElement(custodySearchResultElement,
                OjbcNamespaceContext.NS_CUSTODY_SEARCH_RES_EXT, "SearchResultCategoryText");

        sSearchResultCatTxt = sSearchResultCatTxt.trim();

        searchResultCategoryTxtElement.setTextContent(sSearchResultCatTxt);
    }

    String sBranchName = custodyDetail.getOrganizationBranchName();

    String sOrgName = custodyDetail.getOrganizationName();

    boolean hasBranchName = StringUtils.isNotBlank(sBranchName);

    boolean hasOrgName = StringUtils.isNotBlank(sOrgName);

    if (hasBranchName || hasOrgName) {

        Element infoOwningOrgElement = XmlUtils.appendElement(custodySearchResultElement,
                OjbcNamespaceContext.NS_CUSTODY_SEARCH_RES_EXT, "InformationOwningOrganization");

        if (hasBranchName) {

            Element organizationBranchNameElement = XmlUtils.appendElement(infoOwningOrgElement,
                    OjbcNamespaceContext.NS_NC_30, "OrganizationBranchName");

            sBranchName = sBranchName.trim();

            organizationBranchNameElement.setTextContent(sBranchName);
        }

        if (hasOrgName) {

            Element organizationName = XmlUtils.appendElement(infoOwningOrgElement,
                    OjbcNamespaceContext.NS_NC_30, "OrganizationName");

            sOrgName = sOrgName.trim();

            organizationName.setTextContent(sOrgName);
        }
    }

    String sLastUpdatedDate = custodyDetail.getLastUpdatedDate();

    if (StringUtils.isNotBlank(sLastUpdatedDate)) {

        Element metaData = XmlUtils.appendElement(custodySearchResultElement, OjbcNamespaceContext.NS_NC_30,
                "Metadata");
        XmlUtils.addAttribute(metaData, OjbcNamespaceContext.NS_STRUCTURES_30, "id", "M" + resultId);

        Element lastUpdatedDate = XmlUtils.appendElement(metaData, OjbcNamespaceContext.NS_NC_30,
                "LastUpdatedDate");

        Element lastUpdatedDateVal = XmlUtils.appendElement(lastUpdatedDate, OjbcNamespaceContext.NS_NC_30,
                "Date");

        sLastUpdatedDate = sLastUpdatedDate.trim();

        lastUpdatedDateVal.setTextContent(sLastUpdatedDate);
    }

    return custodySearchResultElement;
}

From source file:org.ojbc.bundles.adapters.staticmock.samplegen.CourtCaseSampleGenerator.java

Document buildCourtCaseDetailDoc(PersonElementWrapper person) throws ParserConfigurationException, IOException {

    Document rCourtCaseDetailDoc = getNewDocument();

    Element rootCourtCaseElement = rCourtCaseDetailDoc.createElementNS(
            OjbcNamespaceContext.NS_COURT_CASE_QUERY_RESULTS_EXCH_DOC, "CourtCaseQueryResults");
    rootCourtCaseElement.setPrefix(OjbcNamespaceContext.NS_PREFIX_COURT_CASE_QUERY_RESULTS_EXCH_DOC);

    rCourtCaseDetailDoc.appendChild(rootCourtCaseElement);

    Element docCreateDateElement = XmlUtils.appendElement(rootCourtCaseElement, OjbcNamespaceContext.NS_NC_30,
            "DocumentCreationDate");

    Element docCreateDateValElement = XmlUtils.appendElement(docCreateDateElement,
            OjbcNamespaceContext.NS_NC_30, "DateTime");

    String sCurrentDate = DateTime.now().toString("yyyy-MM-dd'T'HH:mm:ss");

    docCreateDateValElement.setTextContent(sCurrentDate);

    Element docIdElement = XmlUtils.appendElement(rootCourtCaseElement, OjbcNamespaceContext.NS_NC_30,
            "DocumentIdentification");
    Element docIdValElement = XmlUtils.appendElement(docIdElement, OjbcNamespaceContext.NS_NC_30,
            "IdentificationID");
    docIdValElement.setTextContent(RandomStringUtils.randomNumeric(8));

    Element sysIdElement = XmlUtils.appendElement(rootCourtCaseElement, OjbcNamespaceContext.NS_INTEL_31,
            "SystemIdentification");
    Element sysIdValElement = XmlUtils.appendElement(sysIdElement, OjbcNamespaceContext.NS_NC_30,
            "IdentificationID");
    sysIdValElement.setTextContent(RandomStringUtils.randomNumeric(8));

    Element sysNameElement = XmlUtils.appendElement(sysIdElement, OjbcNamespaceContext.NS_NC_30, "SystemName");
    sysNameElement.setTextContent(randomString("CourtCaseSystem", "CourtCaseFinder"));

    Element caseElement = XmlUtils.appendElement(rootCourtCaseElement, OjbcNamespaceContext.NS_NC_30, "Case");
    XmlUtils.addAttribute(caseElement, OjbcNamespaceContext.NS_STRUCTURES_30, "id", "Case_01");

    Element activIdElement = XmlUtils.appendElement(caseElement, OjbcNamespaceContext.NS_NC_30,
            "ActivityIdentification");
    Element activIdValElement = XmlUtils.appendElement(activIdElement, OjbcNamespaceContext.NS_NC_30,
            "IdentificationID");
    String sampleCaseId = RandomStringUtils.randomNumeric(8);
    activIdValElement.setTextContent(sampleCaseId);

    Element activStatusElement = XmlUtils.appendElement(caseElement, OjbcNamespaceContext.NS_NC_30,
            "ActivityStatus");
    Element actStatDescTxtElement = XmlUtils.appendElement(activStatusElement, OjbcNamespaceContext.NS_NC_30,
            "StatusDescriptionText");
    actStatDescTxtElement.setTextContent(randomString("Early", "Outdated", "Complete"));

    Element caseDispElement = XmlUtils.appendElement(caseElement, OjbcNamespaceContext.NS_NC_30,
            "CaseDisposition");
    Element dispDateElement = XmlUtils.appendElement(caseDispElement, OjbcNamespaceContext.NS_NC_30,
            "DispositionDate");
    Element caseDispDatValElement = XmlUtils.appendElement(dispDateElement, OjbcNamespaceContext.NS_NC_30,
            "Date");
    caseDispDatValElement.setTextContent(randomDate("yyyy-MM-dd'T'HH:mm:ss"));

    Element caseGenCatTxtElement = XmlUtils.appendElement(caseElement, OjbcNamespaceContext.NS_NC_30,
            "CaseGeneralCategoryText");
    caseGenCatTxtElement.setTextContent(randomString("Ownership", "Debate", "Arrest"));

    Element caseTrackIdElement = XmlUtils.appendElement(caseElement, OjbcNamespaceContext.NS_NC_30,
            "CaseTrackingID");
    String sampleCaseTrackId = RandomStringUtils.randomNumeric(8);
    caseTrackIdElement.setTextContent(sampleCaseTrackId);

    Element caseDocketIdElement = XmlUtils.appendElement(caseElement, OjbcNamespaceContext.NS_NC_30,
            "CaseDocketID");

    String sampleDocket = randomString("SC vs NC", "NY vs LA", "North vs South", "City vs State");
    caseDocketIdElement.setTextContent(sampleDocket);

    Element caseFilingElement = XmlUtils.appendElement(caseElement, OjbcNamespaceContext.NS_NC_30,
            "CaseFiling");
    Element caseFileDocCreateDate = XmlUtils.appendElement(caseFilingElement, OjbcNamespaceContext.NS_NC_30,
            "DocumentCreationDate");
    Element caseFileDocCreateDateValElement = XmlUtils.appendElement(caseFileDocCreateDate,
            OjbcNamespaceContext.NS_NC_30, "DateTime");
    caseFileDocCreateDateValElement.setTextContent(randomDate("yyyy-MM-dd'T'HH:mm:ss"));

    Element caseAugmentElement = XmlUtils.appendElement(caseElement, OjbcNamespaceContext.NS_JXDM_51,
            "CaseAugmentation");
    Element caseAmendChargeElement = XmlUtils.appendElement(caseAugmentElement, OjbcNamespaceContext.NS_JXDM_51,
            "CaseAmendedCharge");

    Element chargeCountElement = XmlUtils.appendElement(caseAmendChargeElement, OjbcNamespaceContext.NS_JXDM_51,
            "ChargeCountQuantity");
    String sampleChargeCount = RandomStringUtils.randomNumeric(2);
    chargeCountElement.setTextContent(sampleChargeCount);

    Element chargeDescTxtElement = XmlUtils.appendElement(caseAmendChargeElement,
            OjbcNamespaceContext.NS_JXDM_51, "ChargeDescriptionText");
    String sampleChargeDesc = randomString("Blocking Traffic", "Speeding", "Turn Signal Broken",
            "Causing Comotion");
    chargeDescTxtElement.setTextContent(sampleChargeDesc);

    Element chargeFilingDateElement = XmlUtils.appendElement(caseAmendChargeElement,
            OjbcNamespaceContext.NS_JXDM_51, "ChargeFilingDate");
    Element chargeFilingDateValElement = XmlUtils.appendElement(chargeFilingDateElement,
            OjbcNamespaceContext.NS_NC_30, "Date");
    chargeFilingDateValElement.setTextContent(randomDate("yyyy-MM-dd'T'HH:mm:ss"));

    Element chargeStatuteElement = XmlUtils.appendElement(caseAmendChargeElement,
            OjbcNamespaceContext.NS_JXDM_51, "ChargeStatute");

    Element chargeStatuteCodeIdElement = XmlUtils.appendElement(chargeStatuteElement,
            OjbcNamespaceContext.NS_JXDM_51, "StatuteCodeIdentification");

    Element statCodeIdValElement = XmlUtils.appendElement(chargeStatuteCodeIdElement,
            OjbcNamespaceContext.NS_NC_30, "IdentificationID");
    String sampleChargeStatuteId = RandomStringUtils.randomNumeric(6);
    statCodeIdValElement.setTextContent(sampleChargeStatuteId);

    Element chargeStatIdCatDescTxtElement = XmlUtils.appendElement(chargeStatuteCodeIdElement,
            OjbcNamespaceContext.NS_NC_30, "IdentificationCategoryDescriptionText");

    String sampleCatDescTxt = randomString("Driver License", "Concealed Weapon Permit", "Government ID",
            "Motorcycle License");
    chargeStatIdCatDescTxtElement.setTextContent(sampleCatDescTxt);

    int caseChargeCount = ThreadLocalRandom.current().nextInt(1, 3 + 1);

    Logger.getLogger(this.getClass()).info("\n\n CaseCharge Count: " + caseChargeCount + "\n\n");

    for (int i = 0; i < caseChargeCount; i++) {

        appendCaseChargeSampleElement(caseAugmentElement);
    }/*from  w w  w .j  a  v  a 2 s.c  o  m*/

    Element caseCourtElement = XmlUtils.appendElement(caseAugmentElement, OjbcNamespaceContext.NS_JXDM_51,
            "CaseCourt");

    Element caseCourtOrgAugmentElement = XmlUtils.appendElement(caseCourtElement,
            OjbcNamespaceContext.NS_JXDM_51, "OrganizationAugmentation");

    Element caseCourtOrgJurisdictElement = XmlUtils.appendElement(caseCourtOrgAugmentElement,
            OjbcNamespaceContext.NS_JXDM_51, "OrganizationJurisdiction");

    Element caseCourtOrgAutJurisdicTxtElement = XmlUtils.appendElement(caseCourtOrgJurisdictElement,
            OjbcNamespaceContext.NS_NC_30, "JurisdictionText");
    caseCourtOrgAutJurisdicTxtElement
            .setTextContent(randomString("Highway Patrol", "Sheriff", "City Police", "Mall Cop"));

    Element caseCourtNameElement = XmlUtils.appendElement(caseCourtElement, OjbcNamespaceContext.NS_JXDM_51,
            "CourtName");
    caseCourtNameElement.setTextContent(randomString("Thornton Municipal Court", "Adams County Court",
            "Adams District Court", "Aura Municipal Court"));

    Element caseCourtDivTxtElement = XmlUtils.appendElement(caseCourtElement, OjbcNamespaceContext.NS_JXDM_51,
            "CourtDivisionText");
    caseCourtDivTxtElement.setTextContent(randomString("District Court DIV A", "County Court DIV 1",
            "County Court DIV 7", "County Court DIV 2"));

    Element caseCourtEventElement = XmlUtils.appendElement(caseAugmentElement, OjbcNamespaceContext.NS_JXDM_51,
            "CaseCourtEvent");

    Element caseCourtEventActivIdElement = XmlUtils.appendElement(caseCourtEventElement,
            OjbcNamespaceContext.NS_NC_30, "ActivityIdentification");

    Element caseCourtActivIdValElement = XmlUtils.appendElement(caseCourtEventActivIdElement,
            OjbcNamespaceContext.NS_NC_30, "IdentificationID");
    caseCourtActivIdValElement.setTextContent(RandomStringUtils.randomNumeric(8));

    Element caseCourtActivDateElement = XmlUtils.appendElement(caseCourtEventElement,
            OjbcNamespaceContext.NS_NC_30, "ActivityDate");

    Element caseCourtActivityDateValElement = XmlUtils.appendElement(caseCourtActivDateElement,
            OjbcNamespaceContext.NS_NC_30, "Date");
    caseCourtActivityDateValElement.setTextContent(randomDate("yyyy-MM-dd'T'HH:mm:ss"));

    Element caseCourtActivDescTxxtElement = XmlUtils.appendElement(caseCourtEventElement,
            OjbcNamespaceContext.NS_NC_30, "ActivityDescriptionText");
    caseCourtActivDescTxxtElement.setTextContent(randomString("Speeding", "Swerving", "Stealing"));

    Element activityNameElement = XmlUtils.appendElement(caseCourtEventElement, OjbcNamespaceContext.NS_NC_30,
            "ActivityName");
    activityNameElement.setTextContent(randomString("Burglary", "Speaking Falsehood", "Telling Bad Jokes"));

    Element courtEventJudgeElement = XmlUtils.appendElement(caseCourtEventElement,
            OjbcNamespaceContext.NS_JXDM_51, "CourtEventJudge");

    Element roleOfPersonElement = XmlUtils.appendElement(courtEventJudgeElement, OjbcNamespaceContext.NS_NC_30,
            "RoleOfPerson");

    Element judgeNameElement = XmlUtils.appendElement(roleOfPersonElement, OjbcNamespaceContext.NS_NC_30,
            "PersonName");

    Element judgeFullNameElement = XmlUtils.appendElement(judgeNameElement, OjbcNamespaceContext.NS_NC_30,
            "PersonFullName");

    judgeFullNameElement.setTextContent(getRandomName());

    Element firstCourtAprncElement = XmlUtils.appendElement(caseCourtEventElement,
            OjbcNamespaceContext.NS_COURT_CASE_QUERY_RESULTS_EXT, "FirstCourtAppearance");

    Element courtAprncDatElement = XmlUtils.appendElement(firstCourtAprncElement,
            OjbcNamespaceContext.NS_JXDM_51, "CourtAppearanceDate");

    Element courtAprncDatValElement = XmlUtils.appendElement(courtAprncDatElement,
            OjbcNamespaceContext.NS_NC_30, "Date");
    courtAprncDatValElement.setTextContent(randomDate("yyyy-MM-dd'T'HH:mm:ss"));

    Element courtEventCommentsTxtElement = XmlUtils.appendElement(caseCourtEventElement,
            OjbcNamespaceContext.NS_COURT_CASE_QUERY_RESULTS_EXT, "CourtEventCommentsText");
    courtEventCommentsTxtElement.setTextContent(
            randomString("A lot of commotion", "Many reporters present", "Lawyers making up stories"));

    Element defendantSelfRepIndicElement = XmlUtils.appendElement(caseAugmentElement,
            OjbcNamespaceContext.NS_JXDM_51, "CaseDefendantSelfRepresentationIndicator");
    defendantSelfRepIndicElement.setTextContent(getRandomBooleanString());

    Element caseDefendantPartyElement = XmlUtils.appendElement(caseAugmentElement,
            OjbcNamespaceContext.NS_JXDM_51, "CaseDefendantParty");

    Element defendantEntOrgElement = XmlUtils.appendElement(caseDefendantPartyElement,
            OjbcNamespaceContext.NS_NC_30, "EntityOrganization");

    Element entOrgNameElement = XmlUtils.appendElement(defendantEntOrgElement, OjbcNamespaceContext.NS_NC_30,
            "OrganizationName");
    entOrgNameElement
            .setTextContent(randomString("123 Roofing", "DisneyLand", "Moe's Junk Yard", "Lorax Cleaning"));

    Element entPersonElement = XmlUtils.appendElement(caseDefendantPartyElement, OjbcNamespaceContext.NS_NC_30,
            "EntityPerson");

    XmlUtils.addAttribute(entPersonElement, OjbcNamespaceContext.NS_STRUCTURES_30, "ref", "Person_01");

    Element caseDefenseAtterneyElement = XmlUtils.appendElement(caseAugmentElement,
            OjbcNamespaceContext.NS_JXDM_51, "CaseDefenseAttorney");

    Element defenseAttortyPersonRoleElement = XmlUtils.appendElement(caseDefenseAtterneyElement,
            OjbcNamespaceContext.NS_NC_30, "RoleOfPerson");

    Element defenseAtrnyPersonNameElement = XmlUtils.appendElement(defenseAttortyPersonRoleElement,
            OjbcNamespaceContext.NS_NC_30, "PersonName");
    ;

    Element defenseAtrnyFullNameElement = XmlUtils.appendElement(defenseAtrnyPersonNameElement,
            OjbcNamespaceContext.NS_NC_30, "PersonFullName");
    defenseAtrnyFullNameElement.setTextContent(getRandomName());

    Element caseDomViolenceElement = XmlUtils.appendElement(caseAugmentElement, OjbcNamespaceContext.NS_JXDM_51,
            "CaseDomesticViolenceIndicator");
    caseDomViolenceElement.setTextContent(getRandomBooleanString());

    Element caseHearingElement = XmlUtils.appendElement(caseAugmentElement, OjbcNamespaceContext.NS_JXDM_51,
            "CaseHearing");

    Element caseHearingActivIdElement = XmlUtils.appendElement(caseHearingElement,
            OjbcNamespaceContext.NS_NC_30, "ActivityIdentification");

    Element caseHearActivIdValElement = XmlUtils.appendElement(caseHearingActivIdElement,
            OjbcNamespaceContext.NS_NC_30, "IdentificationID");

    caseHearActivIdValElement.setTextContent(RandomStringUtils.randomNumeric(8));

    Element activCatTxtElement = XmlUtils.appendElement(caseHearingElement, OjbcNamespaceContext.NS_NC_30,
            "ActivityCategoryText");

    activCatTxtElement.setTextContent(randomString("Prosecution", "Defense", "Evidence Presentation"));

    Element caseHearingActivDateRangeElement = XmlUtils.appendElement(caseHearingElement,
            OjbcNamespaceContext.NS_NC_30, "ActivityDateRange");

    Element caseHearingStartDateElement = XmlUtils.appendElement(caseHearingActivDateRangeElement,
            OjbcNamespaceContext.NS_NC_30, "StartDate");

    Element caseHearingStartDateValElement = XmlUtils.appendElement(caseHearingStartDateElement,
            OjbcNamespaceContext.NS_NC_30, "DateTime");
    caseHearingStartDateValElement.setTextContent(randomDate("yyyy-MM-dd'T'HH:mm:ss"));

    Element caseHearingEndDateElement = XmlUtils.appendElement(caseHearingActivDateRangeElement,
            OjbcNamespaceContext.NS_NC_30, "EndDate");

    Element caseHearingEndDateValElement = XmlUtils.appendElement(caseHearingEndDateElement,
            OjbcNamespaceContext.NS_NC_30, "DateTime");
    caseHearingEndDateValElement.setTextContent(randomDate("yyyy-MM-dd'T'HH:mm:ss"));

    Element activDescTxtElement = XmlUtils.appendElement(caseHearingElement, OjbcNamespaceContext.NS_NC_30,
            "ActivityDescriptionText");
    activDescTxtElement.setTextContent(randomString("Jury Deciding Verdict", "Jury meeting"));

    Element hearingActivNameElement = XmlUtils.appendElement(caseHearingElement, OjbcNamespaceContext.NS_NC_30,
            "ActivityName");
    hearingActivNameElement
            .setTextContent(randomString("Pre-Trial Hearing", "Plea Hearing", "Sentence Hearing"));

    Element activReasonElement = XmlUtils.appendElement(caseHearingElement, OjbcNamespaceContext.NS_NC_30,
            "ActivityReasonText");
    activReasonElement.setTextContent(
            randomString("evidence review", "hear plea agreement", "review presentence investigation report"));

    Element activDispElement = XmlUtils.appendElement(caseHearingElement, OjbcNamespaceContext.NS_NC_30,
            "ActivityDisposition");

    Element activDispDescTxtElement = XmlUtils.appendElement(activDispElement, OjbcNamespaceContext.NS_NC_30,
            "DispositionDescriptionText");
    activDispDescTxtElement.setTextContent(randomString("Guilty", "Not Guilty", "Hung"));

    Element caseHearingCourtEventJudgeElement = XmlUtils.appendElement(caseHearingElement,
            OjbcNamespaceContext.NS_JXDM_51, "CourtEventJudge");

    Element caseHearingJudgeRoleElement = XmlUtils.appendElement(caseHearingCourtEventJudgeElement,
            OjbcNamespaceContext.NS_NC_30, "RoleOfPerson");

    Element caseHearingJudgeNameElement = XmlUtils.appendElement(caseHearingJudgeRoleElement,
            OjbcNamespaceContext.NS_NC_30, "PersonName");

    Element caseJudgeFullNameElement = XmlUtils.appendElement(caseHearingJudgeNameElement,
            OjbcNamespaceContext.NS_NC_30, "PersonFullName");

    caseJudgeFullNameElement.setTextContent(getRandomName());

    Element caseHearingCommentsTxtElement = XmlUtils.appendElement(caseHearingElement,
            OjbcNamespaceContext.NS_COURT_CASE_QUERY_RESULTS_EXT, "CourtEventCommentsText");

    caseHearingCommentsTxtElement.setTextContent(randomString("Trial really long", "Hard to find entrance"));

    Element caseJudgeElement = XmlUtils.appendElement(caseAugmentElement, OjbcNamespaceContext.NS_JXDM_51,
            "CaseJudge");

    Element caseJudgeRolePersonElement = XmlUtils.appendElement(caseJudgeElement, OjbcNamespaceContext.NS_NC_30,
            "RoleOfPerson");

    Element caseJudgeNameElement = XmlUtils.appendElement(caseJudgeRolePersonElement,
            OjbcNamespaceContext.NS_NC_30, "PersonName");

    Element caseJudgePersonNameElement = XmlUtils.appendElement(caseJudgeNameElement,
            OjbcNamespaceContext.NS_NC_30, "PersonFullName");
    caseJudgePersonNameElement.setTextContent(getRandomName());

    Element judicBarMemberElement = XmlUtils.appendElement(caseJudgeElement, OjbcNamespaceContext.NS_JXDM_51,
            "JudicialOfficialBarMembership");

    Element judicBarIdElement = XmlUtils.appendElement(judicBarMemberElement, OjbcNamespaceContext.NS_JXDM_51,
            "JudicialOfficialBarIdentification");

    Element judicBarIdValElement = XmlUtils.appendElement(judicBarIdElement, OjbcNamespaceContext.NS_NC_30,
            "IdentificationID");

    judicBarIdValElement.setTextContent(RandomStringUtils.randomNumeric(8));

    Element caseLieneageElement = XmlUtils.appendElement(caseAugmentElement, OjbcNamespaceContext.NS_JXDM_51,
            "CaseLineageCase");

    Element caseTrackingIdElement = XmlUtils.appendElement(caseLieneageElement, OjbcNamespaceContext.NS_NC_30,
            "CaseTrackingID");
    caseTrackingIdElement.setTextContent(RandomStringUtils.randomNumeric(8));

    Element caseProsecAtrnyElement = XmlUtils.appendElement(caseAugmentElement, OjbcNamespaceContext.NS_JXDM_51,
            "CaseProsecutionAttorney");

    Element prosecAtrnyRoleElement = XmlUtils.appendElement(caseProsecAtrnyElement,
            OjbcNamespaceContext.NS_NC_30, "RoleOfPerson");

    Element prosecPersonElement = XmlUtils.appendElement(prosecAtrnyRoleElement, OjbcNamespaceContext.NS_NC_30,
            "PersonName");

    Element prosecAtrnyNameElement = XmlUtils.appendElement(prosecPersonElement, OjbcNamespaceContext.NS_NC_30,
            "PersonFullName");
    prosecAtrnyNameElement.setTextContent(getRandomName());

    Element prosecutorBarElement = XmlUtils.appendElement(caseProsecAtrnyElement,
            OjbcNamespaceContext.NS_JXDM_51, "JudicialOfficialBarMembership");

    Element prosecutorOfficBarIdElement = XmlUtils.appendElement(prosecutorBarElement,
            OjbcNamespaceContext.NS_JXDM_51, "JudicialOfficialBarIdentification");

    Element prosecutorOfficBarIdValElement = XmlUtils.appendElement(prosecutorOfficBarIdElement,
            OjbcNamespaceContext.NS_NC_30, "IdentificationID");
    prosecutorOfficBarIdValElement.setTextContent(RandomStringUtils.randomNumeric(8));

    Element caseAugmentExtElement = XmlUtils.appendElement(caseElement,
            OjbcNamespaceContext.NS_COURT_CASE_QUERY_RESULTS_EXT, "CaseAugmentation");

    Element caseSealedIndicatorElement = XmlUtils.appendElement(caseAugmentExtElement,
            OjbcNamespaceContext.NS_COURT_CASE_QUERY_RESULTS_EXT, "CaseSealedIndicator");
    caseSealedIndicatorElement.setTextContent(getRandomBooleanString());

    Element remandDateElement = XmlUtils.appendElement(caseAugmentExtElement,
            OjbcNamespaceContext.NS_COURT_CASE_QUERY_RESULTS_EXT, "RemandDate");

    Element remandDateValElement = XmlUtils.appendElement(remandDateElement, OjbcNamespaceContext.NS_NC_30,
            "Date");
    remandDateValElement.setTextContent(randomDate("yyyy-MM-dd'T'HH:mm:ss"));

    Element apelateCaseElement = XmlUtils.appendElement(rootCourtCaseElement, OjbcNamespaceContext.NS_JXDM_51,
            "AppellateCase");
    XmlUtils.addAttribute(apelateCaseElement, OjbcNamespaceContext.NS_STRUCTURES_30, "id", "Appel_Case_01");

    Element apelateCaseTrackIdElement = XmlUtils.appendElement(apelateCaseElement,
            OjbcNamespaceContext.NS_NC_30, "CaseTrackingID");
    apelateCaseTrackIdElement.setTextContent(RandomStringUtils.randomNumeric(8));

    Element apelateCaseFilingElement = XmlUtils.appendElement(apelateCaseElement, OjbcNamespaceContext.NS_NC_30,
            "CaseFiling");

    Element apelateCaseFileDocCreateDateElement = XmlUtils.appendElement(apelateCaseFilingElement,
            OjbcNamespaceContext.NS_NC_30, "DocumentCreationDate");

    Element apelateCaseFileDocDateVal = XmlUtils.appendElement(apelateCaseFileDocCreateDateElement,
            OjbcNamespaceContext.NS_NC_30, "Date");
    apelateCaseFileDocDateVal.setTextContent(randomDate("yyyy-MM-dd'T'HH:mm:ss"));

    Element identityElement = XmlUtils.appendElement(rootCourtCaseElement, OjbcNamespaceContext.NS_NC_30,
            "Identity");
    XmlUtils.addAttribute(identityElement, OjbcNamespaceContext.NS_STRUCTURES_30, "id", "Identity_01");

    Element idPersonRepElement = XmlUtils.appendElement(identityElement, OjbcNamespaceContext.NS_NC_30,
            "IdentityPersonRepresentation");

    Element idPersonDobElement = XmlUtils.appendElement(idPersonRepElement, OjbcNamespaceContext.NS_NC_30,
            "PersonBirthDate");

    Element idPersonDobValElement = XmlUtils.appendElement(idPersonDobElement, OjbcNamespaceContext.NS_NC_30,
            "Date");
    idPersonDobValElement.setTextContent(randomDate("yyyy-MM-dd'T'HH:mm:ss"));

    PersonElementWrapper samplePerson = getRandomIdentity(null);

    Element idPersonNameElement = XmlUtils.appendElement(idPersonRepElement, OjbcNamespaceContext.NS_NC_30,
            "PersonName");

    Element idPersonGivenName = XmlUtils.appendElement(idPersonNameElement, OjbcNamespaceContext.NS_NC_30,
            "PersonGivenName");
    idPersonGivenName.setTextContent(samplePerson.firstName);

    Element idPersonMiddleName = XmlUtils.appendElement(idPersonNameElement, OjbcNamespaceContext.NS_NC_30,
            "PersonMiddleName");
    idPersonMiddleName.setTextContent(samplePerson.middleName);

    Element idPersonSurNameElement = XmlUtils.appendElement(idPersonNameElement, OjbcNamespaceContext.NS_NC_30,
            "PersonSurName");
    idPersonSurNameElement.setTextContent(samplePerson.lastName);

    Element idPersonFullNameElement = XmlUtils.appendElement(idPersonNameElement, OjbcNamespaceContext.NS_NC_30,
            "PersonFullName");
    idPersonFullNameElement.setTextContent(
            samplePerson.firstName + " " + samplePerson.middleName + " " + samplePerson.lastName);

    Element idPersonSsnElement = XmlUtils.appendElement(idPersonRepElement, OjbcNamespaceContext.NS_NC_30,
            "PersonSSNIdentification");

    Element idPersonSsnIdElement = XmlUtils.appendElement(idPersonSsnElement, OjbcNamespaceContext.NS_NC_30,
            "IdentificationID");
    idPersonSsnIdElement.setTextContent(RandomStringUtils.randomNumeric(8));

    Element contactInfoElement = XmlUtils.appendElement(rootCourtCaseElement, OjbcNamespaceContext.NS_NC_30,
            "ContactInformation");
    XmlUtils.addAttribute(contactInfoElement, OjbcNamespaceContext.NS_STRUCTURES_30, "id", "CI_01");

    Element phoneElement = XmlUtils.appendElement(contactInfoElement, OjbcNamespaceContext.NS_NC_30,
            "ContactTelephoneNumber");

    Element fullPhoneElement = XmlUtils.appendElement(phoneElement, OjbcNamespaceContext.NS_NC_30,
            "FullTelephoneNumber");

    Element phoneValElement = XmlUtils.appendElement(fullPhoneElement, OjbcNamespaceContext.NS_NC_30,
            "TelephoneNumberFullID");

    String samplePhone = (String) getRandomIdentity(null).telephoneNumber;
    phoneValElement.setTextContent(samplePhone);

    Element elecContactIdElement = XmlUtils.appendElement(contactInfoElement,
            OjbcNamespaceContext.NS_COURT_CASE_QUERY_RESULTS_EXT, "ElectronicContactIdentification");

    Element electContactIdValElement = XmlUtils.appendElement(elecContactIdElement,
            OjbcNamespaceContext.NS_NC_30, "IdentificationID");
    electContactIdValElement.setTextContent(RandomStringUtils.randomNumeric(8));

    Element electContactIdCatDescTxtElement = XmlUtils.appendElement(elecContactIdElement,
            OjbcNamespaceContext.NS_NC_30, "IdentificationCategoryDescriptionText");
    electContactIdCatDescTxtElement.setTextContent(randomString("Email", "Facebook", "SkypeID"));

    Element citationElement = XmlUtils.appendElement(rootCourtCaseElement, OjbcNamespaceContext.NS_JXDM_51,
            "Citation");
    XmlUtils.addAttribute(citationElement, OjbcNamespaceContext.NS_STRUCTURES_30, "id", "Citation_01");

    Element citationActivIdElement = XmlUtils.appendElement(citationElement, OjbcNamespaceContext.NS_NC_30,
            "ActivityIdentification");

    Element citationAcivIdVAlElement = XmlUtils.appendElement(citationActivIdElement,
            OjbcNamespaceContext.NS_NC_30, "IdentificationID");
    citationAcivIdVAlElement.setTextContent(RandomStringUtils.randomNumeric(8));

    Element citationViolationElement = XmlUtils.appendElement(citationElement, OjbcNamespaceContext.NS_JXDM_51,
            "CitationViolation");

    Element citationActivDateElement = XmlUtils.appendElement(citationViolationElement,
            OjbcNamespaceContext.NS_NC_30, "ActivityDate");

    Element citationActivDateValElement = XmlUtils.appendElement(citationActivDateElement,
            OjbcNamespaceContext.NS_NC_30, "Date");
    citationActivDateValElement.setTextContent(randomDate("yyyy-MM-dd'T'HH:mm:ss"));

    Element incidentLocationElement = XmlUtils.appendElement(citationViolationElement,
            OjbcNamespaceContext.NS_NC_30, "IncidentLocation");

    Element incidentAddressElement = XmlUtils.appendElement(incidentLocationElement,
            OjbcNamespaceContext.NS_NC_30, "Address");

    Element incidentAddressUnitElement = XmlUtils.appendElement(incidentAddressElement,
            OjbcNamespaceContext.NS_NC_30, "AddressSecondaryUnitText");
    incidentAddressUnitElement.setTextContent(randomString("APT 123", "Suite 456", "St 789", "P.O. Box 4528"));

    Element addressPointElement = XmlUtils.appendElement(incidentAddressElement, OjbcNamespaceContext.NS_NC_30,
            "AddressDeliveryPointID");
    addressPointElement.setTextContent(randomString("doorstep", "mailbox", "PO box"));

    Element incidentLocStreetElement = XmlUtils.appendElement(incidentAddressElement,
            OjbcNamespaceContext.NS_NC_30, "LocationStreet");

    Element locStreetNameElement = XmlUtils.appendElement(incidentLocStreetElement,
            OjbcNamespaceContext.NS_NC_30, "StreetName");
    locStreetNameElement.setTextContent(samplePerson.addressStreetName);

    Element locStreetCatTxtElement = XmlUtils.appendElement(incidentLocStreetElement,
            OjbcNamespaceContext.NS_NC_30, "StreetCategoryText");
    locStreetCatTxtElement.setTextContent(randomString("Small Road", "Cul de Sac", "Highway", "Interstate"));

    Element locCountyNameElement = XmlUtils.appendElement(incidentAddressElement, OjbcNamespaceContext.NS_NC_30,
            "LocationCountyName");
    locCountyNameElement.setTextContent(randomString("Rowan", "Pickens", "Union", "Dorchester"));

    Element locDescTxtElement = XmlUtils.appendElement(incidentLocationElement, OjbcNamespaceContext.NS_NC_30,
            "LocationDescriptionText");
    locDescTxtElement.setTextContent(randomString("NY", "LA", "UT", "FL"));

    Element locNameElement = XmlUtils.appendElement(incidentLocationElement, OjbcNamespaceContext.NS_NC_30,
            "LocationName");
    locNameElement.setTextContent(randomString("40N 70W", "City", "County"));

    Element violationAugmentElement = XmlUtils.appendElement(citationViolationElement,
            OjbcNamespaceContext.NS_COURT_CASE_QUERY_RESULTS_EXT, "ViolationAugmentation");

    Element drivingPointNumTxtElement = XmlUtils.appendElement(violationAugmentElement,
            OjbcNamespaceContext.NS_COURT_CASE_QUERY_RESULTS_EXT, "DrivingPointNumberText");
    drivingPointNumTxtElement.setTextContent(RandomStringUtils.randomNumeric(2));

    Element drivingPointReducedTxtElement = XmlUtils.appendElement(violationAugmentElement,
            OjbcNamespaceContext.NS_COURT_CASE_QUERY_RESULTS_EXT, "DrivingPointNumberReducedText");
    drivingPointReducedTxtElement.setTextContent(RandomStringUtils.randomNumeric(2));

    Element bacTestRefusedElement = XmlUtils.appendElement(violationAugmentElement,
            OjbcNamespaceContext.NS_COURT_CASE_QUERY_RESULTS_EXT,
            "PersonBloodAlcoholContentTestRefusedIndicator");
    bacTestRefusedElement.setTextContent(getRandomBooleanString());

    Element citationAugElement = XmlUtils.appendElement(citationElement,
            OjbcNamespaceContext.NS_COURT_CASE_QUERY_RESULTS_EXT, "CitationAugmentation");

    Element courtAprncDateElement = XmlUtils.appendElement(citationAugElement, OjbcNamespaceContext.NS_JXDM_51,
            "CourtAppearanceDate");

    Element courtApncDateTimeElement = XmlUtils.appendElement(courtAprncDateElement,
            OjbcNamespaceContext.NS_NC_30, "DateTime");
    courtApncDateTimeElement.setTextContent(randomDate("yyyy-MM-dd'T'HH:mm:ss"));

    Element crtApncRqdElement = XmlUtils.appendElement(citationAugElement,
            OjbcNamespaceContext.NS_COURT_CASE_QUERY_RESULTS_EXT, "CourtAppearanceRequiredIndicator");
    crtApncRqdElement.setTextContent(getRandomBooleanString());

    Element licSurndrdElement = XmlUtils.appendElement(citationAugElement,
            OjbcNamespaceContext.NS_COURT_CASE_QUERY_RESULTS_EXT, "LicenseSurrenderedIndicator");
    licSurndrdElement.setTextContent(getRandomBooleanString());

    Element drivingIncElement = XmlUtils.appendElement(rootCourtCaseElement, OjbcNamespaceContext.NS_JXDM_51,
            "DrivingIncident");
    XmlUtils.addAttribute(drivingIncElement, OjbcNamespaceContext.NS_STRUCTURES_30, "id", "Incident_01");

    Element incidentDescTxtElement = XmlUtils.appendElement(drivingIncElement, OjbcNamespaceContext.NS_NC_30,
            "ActivityDescriptionText");
    incidentDescTxtElement.setTextContent(
            randomString("Speeding", "Driving too slow", "Spinning Out", "Tailgating", "Blowing horn"));

    Element driverSpeedElement = XmlUtils.appendElement(drivingIncElement, OjbcNamespaceContext.NS_JXDM_51,
            "DrivingIncidentRecordedSpeedRateMeasure");

    Element speedMeasElement = XmlUtils.appendElement(driverSpeedElement, OjbcNamespaceContext.NS_NC_30,
            "MeasureValueText");
    speedMeasElement.setTextContent(RandomStringUtils.randomNumeric(3));

    Element speedUnitElement = XmlUtils.appendElement(driverSpeedElement, OjbcNamespaceContext.NS_NC_30,
            "MeasureUnitText");
    speedUnitElement.setTextContent(randomString("kt", "mph", "kph", "mpm"));

    Element speedLimitElement = XmlUtils.appendElement(drivingIncElement, OjbcNamespaceContext.NS_JXDM_51,
            "DrivingIncidentLegalSpeedRateMeasure");

    Element speedLimitNumElement = XmlUtils.appendElement(speedLimitElement, OjbcNamespaceContext.NS_NC_30,
            "MeasureValueText");
    speedLimitNumElement.setTextContent(RandomStringUtils.randomNumeric(2));

    Element speedUnitsElement = XmlUtils.appendElement(speedLimitElement, OjbcNamespaceContext.NS_NC_30,
            "MeasureUnitText");
    speedUnitsElement.setTextContent(randomString("kt", "mph", "kph", "mpm"));

    Element arrestElement = XmlUtils.appendElement(drivingIncElement, OjbcNamespaceContext.NS_JXDM_51,
            "Arrest");
    XmlUtils.addAttribute(arrestElement, OjbcNamespaceContext.NS_STRUCTURES_30, "id", "Arrest_01");

    Element arrestActivDateElement = XmlUtils.appendElement(arrestElement, OjbcNamespaceContext.NS_NC_30,
            "ActivityDate");

    Element arrestActivDateValElement = XmlUtils.appendElement(arrestActivDateElement,
            OjbcNamespaceContext.NS_NC_30, "Date");
    arrestActivDateValElement.setTextContent(randomDate("yyyy-MM-dd'T'HH:mm:ss"));

    Element arrestAgencyRecIdElement = XmlUtils.appendElement(arrestElement, OjbcNamespaceContext.NS_JXDM_51,
            "ArrestAgencyRecordIdentification");

    Element arrestRecIdElement = XmlUtils.appendElement(arrestAgencyRecIdElement, OjbcNamespaceContext.NS_NC_30,
            "IdentificationID");
    arrestRecIdElement.setTextContent(RandomStringUtils.randomNumeric(8));

    Element arrestChargeElement = XmlUtils.appendElement(arrestElement, OjbcNamespaceContext.NS_JXDM_51,
            "ArrestCharge");

    Element arrestChargeStatuteElement = XmlUtils.appendElement(arrestChargeElement,
            OjbcNamespaceContext.NS_JXDM_51, "ChargeStatute");

    Element arrestChargeStatCodeIdElement = XmlUtils.appendElement(arrestChargeStatuteElement,
            OjbcNamespaceContext.NS_JXDM_51, "StatuteCodeIdentification");

    Element arrestChargeIdElement = XmlUtils.appendElement(arrestChargeStatCodeIdElement,
            OjbcNamespaceContext.NS_NC_30, "IdentificationID");
    arrestChargeIdElement.setTextContent(RandomStringUtils.randomNumeric(8));

    Element arrestLocElement = XmlUtils.appendElement(arrestElement, OjbcNamespaceContext.NS_JXDM_51,
            "ArrestLocation");

    Element arrestLocDescTxtElement = XmlUtils.appendElement(arrestLocElement, OjbcNamespaceContext.NS_NC_30,
            "LocationDescriptionText");
    arrestLocDescTxtElement.setTextContent(randomString("NY", "LA", "SF", "FL", "ATL"));

    Element arrestOfficialElement = XmlUtils.appendElement(arrestElement, OjbcNamespaceContext.NS_JXDM_51,
            "ArrestOfficial");
    XmlUtils.addAttribute(arrestOfficialElement, OjbcNamespaceContext.NS_STRUCTURES_30, "id", "Officer_01");

    Element officalRoleElement = XmlUtils.appendElement(arrestOfficialElement, OjbcNamespaceContext.NS_NC_30,
            "RoleOfPerson");

    Element arrestOfficNameElement = XmlUtils.appendElement(officalRoleElement, OjbcNamespaceContext.NS_NC_30,
            "PersonName");

    Element arrestFullNameElement = XmlUtils.appendElement(arrestOfficNameElement,
            OjbcNamespaceContext.NS_NC_30, "PersonFullName");
    arrestFullNameElement.setTextContent(getRandomName());

    Element leEnforcUnitElement = XmlUtils.appendElement(arrestOfficialElement, OjbcNamespaceContext.NS_JXDM_51,
            "EnforcementOfficialUnit");

    Element leEnforceUnitNameElement = XmlUtils.appendElement(leEnforcUnitElement,
            OjbcNamespaceContext.NS_JXDM_51, "EnforcementUnitName");
    leEnforceUnitNameElement.setTextContent(randomString("LAPD", "NYPD", "Walker Texas Ranger"));

    Element detentionElement = XmlUtils.appendElement(drivingIncElement, OjbcNamespaceContext.NS_JXDM_51,
            "Detention");
    XmlUtils.addAttribute(detentionElement, OjbcNamespaceContext.NS_STRUCTURES_30, "id", "Detention_01");

    Element detentionActivElement = XmlUtils.appendElement(detentionElement, OjbcNamespaceContext.NS_NC_30,
            "ActivityIdentification");

    Element detActivIdElement = XmlUtils.appendElement(detentionActivElement, OjbcNamespaceContext.NS_NC_30,
            "IdentificationID");

    detActivIdElement.setTextContent(RandomStringUtils.randomNumeric(8));

    Element detActivCatTxtElement = XmlUtils.appendElement(detentionElement, OjbcNamespaceContext.NS_NC_30,
            "ActivityCategoryText");
    detActivCatTxtElement.setTextContent(randomString("Jail", "Prison", "Community Service"));

    Element detActivDatRangeElement = XmlUtils.appendElement(detentionElement, OjbcNamespaceContext.NS_NC_30,
            "ActivityDateRange");

    Element detStartDateElement = XmlUtils.appendElement(detActivDatRangeElement, OjbcNamespaceContext.NS_NC_30,
            "StartDate");

    Element detStartDateValElement = XmlUtils.appendElement(detStartDateElement, OjbcNamespaceContext.NS_NC_30,
            "Date");
    detStartDateValElement.setTextContent(randomDate("yyyy-MM-dd'T'HH:mm:ss"));

    Element detEndDateElement = XmlUtils.appendElement(detActivDatRangeElement, OjbcNamespaceContext.NS_NC_30,
            "EndDate");

    Element endDateValElement = XmlUtils.appendElement(detEndDateElement, OjbcNamespaceContext.NS_NC_30,
            "Date");
    endDateValElement.setTextContent(randomDate("yyyy-MM-dd'T'HH:mm:ss"));

    Element superviseCustStatus = XmlUtils.appendElement(detentionElement, OjbcNamespaceContext.NS_NC_30,
            "SupervisionCustodyStatus");

    Element superviseStatDescTxtElement = XmlUtils.appendElement(superviseCustStatus,
            OjbcNamespaceContext.NS_NC_30, "StatusDescriptionText");
    superviseStatDescTxtElement
            .setTextContent(randomString("Parents Watching", "Big Brother Custody", "Homeless Shelter"));

    Element supervisFacElement = XmlUtils.appendElement(detentionElement, OjbcNamespaceContext.NS_NC_30,
            "SupervisionFacility");

    Element facIdElement = XmlUtils.appendElement(supervisFacElement, OjbcNamespaceContext.NS_NC_30,
            "FacilityIdentification");

    Element facIdValElement = XmlUtils.appendElement(facIdElement, OjbcNamespaceContext.NS_NC_30,
            "IdentificationID");
    facIdValElement.setTextContent(RandomStringUtils.randomNumeric(8));

    Element bailBondElement = XmlUtils.appendElement(drivingIncElement, OjbcNamespaceContext.NS_JXDM_51,
            "BailBond");
    XmlUtils.addAttribute(bailBondElement, OjbcNamespaceContext.NS_STRUCTURES_30, "id", "Bond_01");

    Element bailBondActivIdElement = XmlUtils.appendElement(bailBondElement, OjbcNamespaceContext.NS_NC_30,
            "ActivityIdentification");

    Element bailBondActivIdValElement = XmlUtils.appendElement(bailBondActivIdElement,
            OjbcNamespaceContext.NS_NC_30, "IdentificationID");
    bailBondActivIdValElement.setTextContent(RandomStringUtils.randomNumeric(8));

    Element bailBondActivCatTxtElement = XmlUtils.appendElement(bailBondElement, OjbcNamespaceContext.NS_NC_30,
            "ActivityCategoryText");
    bailBondActivCatTxtElement.setTextContent(randomString("Bond", "Bail", "Recognizance"));

    Element bailBondAmountElement = XmlUtils.appendElement(bailBondElement, OjbcNamespaceContext.NS_JXDM_51,
            "BailBondAmount");

    Element bailBondAmountValElement = XmlUtils.appendElement(bailBondAmountElement,
            OjbcNamespaceContext.NS_NC_30, "Amount");

    bailBondAmountValElement.setTextContent(RandomStringUtils.randomNumeric(4));

    Element bondIssuerElement = XmlUtils.appendElement(bailBondElement, OjbcNamespaceContext.NS_JXDM_51,
            "BailBondIssuerEntity");

    Element bondEntOrgElement = XmlUtils.appendElement(bondIssuerElement, OjbcNamespaceContext.NS_NC_30,
            "EntityOrganization");

    Element bondOrgNameElement = XmlUtils.appendElement(bondEntOrgElement, OjbcNamespaceContext.NS_NC_30,
            "OrganizationName");

    bondOrgNameElement
            .setTextContent(randomString("Bonds 4 Cheap", "25% Bonds", "24hr Bonding", "Bonds Advance"));

    Element vehicleElement = XmlUtils.appendElement(drivingIncElement, OjbcNamespaceContext.NS_NC_30,
            "Vehicle");
    XmlUtils.addAttribute(vehicleElement, OjbcNamespaceContext.NS_STRUCTURES_30, "id", "Vehicle_01");

    Element vehicCmvElement = XmlUtils.appendElement(vehicleElement, OjbcNamespaceContext.NS_NC_30,
            "VehicleCMVIndicator");
    vehicCmvElement.setTextContent(getRandomBooleanString());

    Element vehicleIdElement = XmlUtils.appendElement(vehicleElement, OjbcNamespaceContext.NS_NC_30,
            "VehicleIdentification");

    Element vinValueElement = XmlUtils.appendElement(vehicleIdElement, OjbcNamespaceContext.NS_NC_30,
            "IdentificationID");
    vinValueElement.setTextContent(RandomStringUtils.randomNumeric(8));

    Element vehicleMakeCode = XmlUtils.appendElement(vehicleElement, OjbcNamespaceContext.NS_JXDM_51,
            "VehicleMakeCode");
    vehicleMakeCode.setTextContent(RandomStringUtils.randomNumeric(3));

    Element vehicleModelElement = XmlUtils.appendElement(vehicleElement, OjbcNamespaceContext.NS_JXDM_51,
            "VehicleModelCode");
    vehicleModelElement.setTextContent(randomString("Chevy", "Ford", "GM", "Ferari", "Pontiac", "Kia", "VW"));

    Element personElement = XmlUtils.appendElement(drivingIncElement, OjbcNamespaceContext.NS_NC_30, "Person");
    XmlUtils.addAttribute(personElement, OjbcNamespaceContext.NS_STRUCTURES_30, "id", "Person_01");

    Element personDobElement = XmlUtils.appendElement(personElement, OjbcNamespaceContext.NS_NC_30,
            "PersonBirthDate");

    Element dobValElement = XmlUtils.appendElement(personDobElement, OjbcNamespaceContext.NS_NC_30, "Date");
    dobValElement.setTextContent(randomDate("yyyy-MM-dd'T'HH:mm:ss"));

    Element personDescElement = XmlUtils.appendElement(personElement, OjbcNamespaceContext.NS_NC_30,
            "PersonDescriptionText");
    personDescElement.setTextContent(randomString("Really Tall", "Short white female", "Tall black male",
            "Thin Asian female", "Very Large"));

    Element ethnicityElement = XmlUtils.appendElement(personElement, OjbcNamespaceContext.NS_NC_30,
            "PersonEthnicityText");
    ethnicityElement.setTextContent(randomString("W", "B", "A", "L"));

    Element eyeColorElement = XmlUtils.appendElement(personElement, OjbcNamespaceContext.NS_JXDM_51,
            "PersonEyeColorCode");
    eyeColorElement.setTextContent(randomString("BLU", "BWN", "GRN", "BLK"));

    Element hairElement = XmlUtils.appendElement(personElement, OjbcNamespaceContext.NS_JXDM_51,
            "PersonHairColorCode");
    hairElement.setTextContent(randomString("BLO", "BWN", "RED"));

    Element heightElement = XmlUtils.appendElement(personElement, OjbcNamespaceContext.NS_NC_30,
            "PersonHeightMeasure");

    Element heightValueElement = XmlUtils.appendElement(heightElement, OjbcNamespaceContext.NS_NC_30,
            "MeasureValueText");
    heightValueElement.setTextContent(RandomStringUtils.randomNumeric(2));

    Element heightUnitElement = XmlUtils.appendElement(heightElement, OjbcNamespaceContext.NS_NC_30,
            "MeasureUnitText");
    heightUnitElement.setTextContent(randomString("in", "cm", "mm", "me", "ft"));

    PersonElementWrapper samplePerson2 = getRandomIdentity(null);

    Element personNameElement = XmlUtils.appendElement(personElement, OjbcNamespaceContext.NS_NC_30,
            "PersonName");

    Element givenNameElement = XmlUtils.appendElement(personNameElement, OjbcNamespaceContext.NS_NC_30,
            "PersonGivenName");

    givenNameElement.setTextContent(samplePerson2.firstName);

    Element middleNameElement = XmlUtils.appendElement(personNameElement, OjbcNamespaceContext.NS_NC_30,
            "PersonMiddleName");

    middleNameElement.setTextContent(samplePerson2.middleName);

    Element surNameElement = XmlUtils.appendElement(personNameElement, OjbcNamespaceContext.NS_NC_30,
            "PersonSurName");

    surNameElement.setTextContent(samplePerson2.lastName);

    Element personFullNameElement = XmlUtils.appendElement(personNameElement, OjbcNamespaceContext.NS_NC_30,
            "PersonFullName");

    personFullNameElement.setTextContent(
            samplePerson2.firstName + " " + samplePerson2.middleName + " " + samplePerson2.lastName);

    Element personRaceElement = XmlUtils.appendElement(personElement, OjbcNamespaceContext.NS_NC_30,
            "PersonRaceText");

    personRaceElement.setTextContent(randomString("WHT", "BLK", "ASN", "LAT", "PAC"));

    Element personSexCodeElement = XmlUtils.appendElement(personElement, OjbcNamespaceContext.NS_NC_30,
            "PersonSexText");
    personSexCodeElement.setTextContent(samplePerson2.sex);

    Element ssnElement = XmlUtils.appendElement(personElement, OjbcNamespaceContext.NS_NC_30,
            "PersonSSNIdentification");

    Element ssnValElement = XmlUtils.appendElement(ssnElement, OjbcNamespaceContext.NS_NC_30,
            "IdentificationID");
    ssnValElement.setTextContent(RandomStringUtils.randomNumeric(9));

    Element weightElement = XmlUtils.appendElement(personElement, OjbcNamespaceContext.NS_NC_30,
            "PersonWeightMeasure");

    Element weightMeasureElement = XmlUtils.appendElement(weightElement, OjbcNamespaceContext.NS_NC_30,
            "MeasureValueText");
    weightMeasureElement.setTextContent(RandomStringUtils.randomNumeric(3));

    Element personAugmentElement = XmlUtils.appendElement(personElement, OjbcNamespaceContext.NS_JXDM_51,
            "PersonAugmentation");

    Element drivLicElement = XmlUtils.appendElement(personAugmentElement, OjbcNamespaceContext.NS_JXDM_51,
            "DriverLicense");

    Element drivLicIdElement = XmlUtils.appendElement(drivLicElement, OjbcNamespaceContext.NS_JXDM_51,
            "DriverLicenseIdentification");

    Element drivLicIdValElement = XmlUtils.appendElement(drivLicIdElement, OjbcNamespaceContext.NS_NC_30,
            "IdentificationID");
    drivLicIdValElement.setTextContent(RandomStringUtils.randomNumeric(8));

    Element drivLicIdSrcElement = XmlUtils.appendElement(drivLicIdElement, OjbcNamespaceContext.NS_NC_30,
            "IdentificationSourceText");
    drivLicIdSrcElement.setTextContent(randomString("SC", "NC", "GA", "FL", "ME", "MA", "VT", "TX"));

    Element drivLicExpDateElement = XmlUtils.appendElement(drivLicElement, OjbcNamespaceContext.NS_JXDM_51,
            "DriverLicenseExpirationDate");

    Element drivLicExpDateValElement = XmlUtils.appendElement(drivLicExpDateElement,
            OjbcNamespaceContext.NS_NC_30, "DateTime");
    drivLicExpDateValElement.setTextContent(randomDate("yyyy-MM-dd'T'HH:mm:ss"));

    Element drivLicIssDateElement = XmlUtils.appendElement(drivLicElement, OjbcNamespaceContext.NS_JXDM_51,
            "DriverLicenseIssueDate");

    Element drivLicIssDatValElement = XmlUtils.appendElement(drivLicIssDateElement,
            OjbcNamespaceContext.NS_NC_30, "DateTime");
    drivLicIssDatValElement.setTextContent(randomDate("yyyy-MM-dd'T'HH:mm:ss"));

    Element drivLicClassElement = XmlUtils.appendElement(drivLicElement, OjbcNamespaceContext.NS_JXDM_51,
            "DriverLicenseNonCommercialClassText");
    drivLicClassElement.setTextContent(randomString("C", "M", "L", "D", "S"));

    Element fbiElement = XmlUtils.appendElement(personAugmentElement, OjbcNamespaceContext.NS_JXDM_51,
            "PersonFBIIdentification");

    Element fbiIdValElement = XmlUtils.appendElement(fbiElement, OjbcNamespaceContext.NS_NC_30,
            "IdentificationID");
    fbiIdValElement.setTextContent(RandomStringUtils.randomNumeric(8));

    Element sidElement = XmlUtils.appendElement(personAugmentElement, OjbcNamespaceContext.NS_JXDM_51,
            "PersonStateFingerprintIdentification");

    Element sidValElement = XmlUtils.appendElement(sidElement, OjbcNamespaceContext.NS_NC_30,
            "IdentificationID");
    sidValElement.setTextContent(RandomStringUtils.randomNumeric(8));

    Element locElement = XmlUtils.appendElement(drivingIncElement, OjbcNamespaceContext.NS_NC_30, "Location");
    XmlUtils.addAttribute(locElement, OjbcNamespaceContext.NS_STRUCTURES_30, "id", "Location_01");

    Element locAddressElement = XmlUtils.appendElement(locElement, OjbcNamespaceContext.NS_NC_30, "Address");

    Element addressUnitElement = XmlUtils.appendElement(locAddressElement, OjbcNamespaceContext.NS_NC_30,
            "AddressSecondaryUnitText");
    addressUnitElement
            .setTextContent(randomString("APT 234", "STE 567", "PO Box 789", "2nd Floor", "Door on left"));

    Element locStreetElement = XmlUtils.appendElement(locAddressElement, OjbcNamespaceContext.NS_NC_30,
            "LocationStreet");

    Element locStreetFullElement = XmlUtils.appendElement(locStreetElement, OjbcNamespaceContext.NS_NC_30,
            "StreetFullText");

    locStreetFullElement.setTextContent(samplePerson2.addressStreetName);

    Element locCityElement = XmlUtils.appendElement(locAddressElement, OjbcNamespaceContext.NS_NC_30,
            "LocationCityName");
    locCityElement.setTextContent(samplePerson2.city);

    Element locStateElement = XmlUtils.appendElement(locAddressElement, OjbcNamespaceContext.NS_NC_30,
            "LocationStateName");
    locStateElement.setTextContent(samplePerson2.state);

    Element locZipElement = XmlUtils.appendElement(locAddressElement, OjbcNamespaceContext.NS_NC_30,
            "LocationPostalCode");
    locZipElement.setTextContent(samplePerson2.zipCode);

    Element locCatTxtElement = XmlUtils.appendElement(locElement, OjbcNamespaceContext.NS_NC_30,
            "LocationCategoryText");
    locCatTxtElement.setTextContent(randomString("around corner", "North", "East", "South", "West"));

    Element activCaseAssocElement = XmlUtils.appendElement(drivingIncElement, OjbcNamespaceContext.NS_JXDM_51,
            "ActivityCaseAssociation");

    Element citationActivElement = XmlUtils.appendElement(activCaseAssocElement, OjbcNamespaceContext.NS_NC_30,
            "Activity");
    XmlUtils.addAttribute(citationActivElement, OjbcNamespaceContext.NS_STRUCTURES_30, "ref", "Citation_01");

    Element arrestActivityElement = XmlUtils.appendElement(activCaseAssocElement, OjbcNamespaceContext.NS_NC_30,
            "Activity");
    XmlUtils.addAttribute(arrestActivityElement, OjbcNamespaceContext.NS_STRUCTURES_30, "ref", "Arrest_01");

    Element detentionActivityElement = XmlUtils.appendElement(activCaseAssocElement,
            OjbcNamespaceContext.NS_NC_30, "Activity");
    XmlUtils.addAttribute(detentionActivityElement, OjbcNamespaceContext.NS_STRUCTURES_30, "ref",
            "Detention_01");

    Element bondActivityElement = XmlUtils.appendElement(activCaseAssocElement, OjbcNamespaceContext.NS_NC_30,
            "Activity");
    XmlUtils.addAttribute(bondActivityElement, OjbcNamespaceContext.NS_STRUCTURES_30, "ref", "Bond_01");

    Element caseAssocElement = XmlUtils.appendElement(activCaseAssocElement, OjbcNamespaceContext.NS_NC_30,
            "Case");
    XmlUtils.addAttribute(caseAssocElement, OjbcNamespaceContext.NS_STRUCTURES_30, "ref", "Case_01");

    Element relatedCaseAssocElement = XmlUtils.appendElement(drivingIncElement, OjbcNamespaceContext.NS_NC_30,
            "RelatedCaseAssociation");

    Element relatedCaseActivityElement = XmlUtils.appendElement(relatedCaseAssocElement,
            OjbcNamespaceContext.NS_NC_30, "Activity");
    XmlUtils.addAttribute(relatedCaseActivityElement, OjbcNamespaceContext.NS_STRUCTURES_30, "ref", "Case_01");

    Element appelCaseActivElement = XmlUtils.appendElement(relatedCaseAssocElement,
            OjbcNamespaceContext.NS_NC_30, "Activity");
    XmlUtils.addAttribute(appelCaseActivElement, OjbcNamespaceContext.NS_STRUCTURES_30, "ref", "Appel_Case_01");

    Element activIncidentAssocElement = XmlUtils.appendElement(drivingIncElement,
            OjbcNamespaceContext.NS_JXDM_51, "ActivityIncidentAssociation");

    Element incidentCitationActivityElement = XmlUtils.appendElement(activIncidentAssocElement,
            OjbcNamespaceContext.NS_NC_30, "Activity");
    XmlUtils.addAttribute(incidentCitationActivityElement, OjbcNamespaceContext.NS_STRUCTURES_30, "ref",
            "Citation_01");

    Element activIncidentIncElement = XmlUtils.appendElement(activIncidentAssocElement,
            OjbcNamespaceContext.NS_NC_30, "Incident");
    XmlUtils.addAttribute(activIncidentIncElement, OjbcNamespaceContext.NS_STRUCTURES_30, "ref", "Incident_01");

    Element contactInfoAssocElement = XmlUtils.appendElement(drivingIncElement, OjbcNamespaceContext.NS_NC_30,
            "ContactInformationAssociation");

    Element contactEntElement = XmlUtils.appendElement(contactInfoAssocElement, OjbcNamespaceContext.NS_NC_30,
            "ContactEntity");
    XmlUtils.addAttribute(contactEntElement, OjbcNamespaceContext.NS_STRUCTURES_30, "ref", "Person_01");

    Element contactAssocInfoElement = XmlUtils.appendElement(contactInfoAssocElement,
            OjbcNamespaceContext.NS_NC_30, "ContactInformation");
    XmlUtils.addAttribute(contactAssocInfoElement, OjbcNamespaceContext.NS_STRUCTURES_30, "ref", "CI_01");

    Element personConveyAssocElement = XmlUtils.appendElement(drivingIncElement, OjbcNamespaceContext.NS_NC_30,
            "PersonConveyanceAssociation");

    Element conveyAssocPersonElement = XmlUtils.appendElement(personConveyAssocElement,
            OjbcNamespaceContext.NS_NC_30, "Person");
    XmlUtils.addAttribute(conveyAssocPersonElement, OjbcNamespaceContext.NS_STRUCTURES_30, "ref", "Person_01");

    Element conveyAssocVehicleElement = XmlUtils.appendElement(personConveyAssocElement,
            OjbcNamespaceContext.NS_NC_30, "Conveyance");
    XmlUtils.addAttribute(conveyAssocVehicleElement, OjbcNamespaceContext.NS_STRUCTURES_30, "ref",
            "Vehicle_01");

    Element personResAssocElement = XmlUtils.appendElement(drivingIncElement, OjbcNamespaceContext.NS_NC_30,
            "PersonResidenceAssociation");

    Element resAssocPersonElement = XmlUtils.appendElement(personResAssocElement, OjbcNamespaceContext.NS_NC_30,
            "Person");
    XmlUtils.addAttribute(resAssocPersonElement, OjbcNamespaceContext.NS_STRUCTURES_30, "ref", "Person_01");

    Element resLocElement = XmlUtils.appendElement(personResAssocElement, OjbcNamespaceContext.NS_NC_30,
            "Location");
    XmlUtils.addAttribute(resLocElement, OjbcNamespaceContext.NS_STRUCTURES_30, "ref", "Location_01");

    Element aliasIdentAssocElement = XmlUtils.appendElement(drivingIncElement, OjbcNamespaceContext.NS_NC_30,
            "PersonAliasIdentityAssociation");

    Element aliasPerson = XmlUtils.appendElement(aliasIdentAssocElement, OjbcNamespaceContext.NS_NC_30,
            "Person");
    XmlUtils.addAttribute(aliasPerson, OjbcNamespaceContext.NS_STRUCTURES_30, "ref", "Person_01");

    Element aliasIdentElement = XmlUtils.appendElement(aliasIdentAssocElement, OjbcNamespaceContext.NS_NC_30,
            "Identity");
    XmlUtils.addAttribute(aliasIdentElement, OjbcNamespaceContext.NS_STRUCTURES_30, "ref", "Identity_01");

    Element srcSysNamTxtElement = XmlUtils.appendElement(drivingIncElement,
            OjbcNamespaceContext.NS_COURT_CASE_QUERY_RESULTS_EXT, "SourceSystemNameText");

    //TODO correct sys name values
    srcSysNamTxtElement.setTextContent(randomString("Thornton Municipal FullCourt",
            "Adams County County Court FullCourt", "Pima County District Court Tyler Odysee"));

    Element queryResCatTxtElement = XmlUtils.appendElement(drivingIncElement,
            OjbcNamespaceContext.NS_COURT_CASE_QUERY_RESULTS_EXT, "QueryResultCategoryText");
    queryResCatTxtElement.setTextContent(randomString("Results", "Result List", "Results Returned"));

    Element infoOwnOrgElement = XmlUtils.appendElement(drivingIncElement,
            OjbcNamespaceContext.NS_COURT_CASE_QUERY_RESULTS_EXT, "InformationOwningOrganization");

    Element orgBranchNameElement = XmlUtils.appendElement(infoOwnOrgElement, OjbcNamespaceContext.NS_NC_30,
            "OrganizationBranchName");
    orgBranchNameElement.setTextContent(randomString("Large Search Company", "Acme", "Acme Search Finder",
            "Acme people lookup finder", "Cops", "Walker Texas Ranger"));

    Element orgNameElement = XmlUtils.appendElement(infoOwnOrgElement, OjbcNamespaceContext.NS_NC_30,
            "OrganizationName");
    orgNameElement.setTextContent(randomString("COPS", "Walker Texas Ranger", "Matlock"));

    Element metadataElement = XmlUtils.appendElement(drivingIncElement, OjbcNamespaceContext.NS_NC_30,
            "Metadata");

    Element lastUpdateDateElement = XmlUtils.appendElement(metadataElement, OjbcNamespaceContext.NS_NC_30,
            "LastUpdatedDate");

    Element lastUpdateDateValElement = XmlUtils.appendElement(lastUpdateDateElement,
            OjbcNamespaceContext.NS_NC_30, "Date");
    lastUpdateDateValElement.setTextContent(randomDate("yyyy-MM-dd'T'HH:mm:ss"));

    Element queryRestMetaElement = XmlUtils.appendElement(drivingIncElement, OjbcNamespaceContext.NS_QRM,
            "QueryResultsMetadata");

    Element infoAccessDenialElement = XmlUtils.appendElement(queryRestMetaElement, OjbcNamespaceContext.NS_IAD,
            "InformationAccessDenial");

    Element infoAccessDenialIndicElement = XmlUtils.appendElement(infoAccessDenialElement,
            OjbcNamespaceContext.NS_IAD, "InformationAccessDenialIndicator");
    infoAccessDenialIndicElement.setTextContent(getRandomBooleanString());

    Element infoAccessDenySysTxtElement = XmlUtils.appendElement(infoAccessDenialElement,
            OjbcNamespaceContext.NS_IAD, "InformationAccessDenyingSystemNameText");
    infoAccessDenySysTxtElement.setTextContent(
            randomString("BG Checker", "Background Checkers", "Rapback Deniers", "FBI", "Clearance Beakers"));

    Element infoAccDenySysNamElement = XmlUtils.appendElement(infoAccessDenialElement,
            OjbcNamespaceContext.NS_IAD, "InformationAccessDenialReasonText");
    infoAccDenySysNamElement.setTextContent(randomString("On deny list", "On no-fly list", "Gossips",
            "Sells info to others", "Can't keep a secret"));

    Element queryRequestErrorElement = XmlUtils.appendElement(queryRestMetaElement,
            OjbcNamespaceContext.NS_QRER, "QueryRequestError");

    Element errorTxtElement = XmlUtils.appendElement(queryRequestErrorElement, OjbcNamespaceContext.NS_QRER,
            "ErrorText");
    errorTxtElement.setTextContent(randomString("Can't do that query", "Can't find anyone", "Looked too long"));

    Element queryReqIdElement = XmlUtils.appendElement(queryRequestErrorElement, OjbcNamespaceContext.NS_QRER,
            "QueryRequestIdentification");

    Element queryReqIdValElement = XmlUtils.appendElement(queryReqIdElement, OjbcNamespaceContext.NS_NC_30,
            "IdentificationID");
    queryReqIdValElement.setTextContent(RandomStringUtils.randomNumeric(8));

    //TODO I think this is the description of the query request from the portal
    Element idCatDescElment = XmlUtils.appendElement(queryReqIdElement, OjbcNamespaceContext.NS_NC_30,
            "IdentificationCategoryDescriptionText");
    idCatDescElment
            .setTextContent(randomString("Driver License", "Gvmt Id", "Passport", "Concealed Weapons Permit"));

    Element idSrcTxtElement = XmlUtils.appendElement(queryReqIdElement, OjbcNamespaceContext.NS_NC_30,
            "IdentificationSourceText");
    idSrcTxtElement.setTextContent(samplePerson.state);

    OjbcNamespaceContext ojbcNamespaceContext = new OjbcNamespaceContext();

    ojbcNamespaceContext.populateRootNamespaceDeclarations(rootCourtCaseElement);

    return rCourtCaseDetailDoc;
}

From source file:org.ojbc.bundles.adapters.staticmock.samplegen.CriminalHistorySampleGenerator.java

@Override
protected List<Document> generateSample(Collection<PersonElementWrapper> people, DateTime baseDate,
        String stateParam) throws Exception {

    List<Document> personDocuments = new ArrayList<Document>();

    for (PersonElementWrapper person : people) {

        Document ret = documentBuilder.newDocument();
        personDocuments.add(ret);/* w w w.  j a v  a  2s .  c o m*/
        Element e = null;

        //LOG.info("person.state=" + person.state + ", stateParam=" + stateParam);

        e = ret.createElementNS(OjbcNamespaceContext.NS_CH_DOC, "CriminalHistory");
        ret.appendChild(e);
        e.setPrefix(OjbcNamespaceContext.NS_PREFIX_CH_DOC);

        e = appendElement(e, OjbcNamespaceContext.NS_CH_EXT, "RapSheet");
        Element rapSheet = e;

        e = appendElement(rapSheet, OjbcNamespaceContext.NS_RAPSHEET_41, "Metadata");
        e = appendElement(e, OjbcNamespaceContext.NS_NC, "ReportingOrganizationText");
        e.setTextContent("State CHRI");

        addIntroductionElement(person, rapSheet);
        addPersonElement(ret, person, rapSheet);
        addBiometricElement(ret, person, rapSheet);

        String locationId = addLocationElement(ret, person, rapSheet);

        int arrestCount = generatePoissonInt(1, true);

        List<Arrest> arrests = new ArrayList<Arrest>();

        for (int i = 0; i < arrestCount; i++) {
            Arrest arrest = new Arrest(baseDate, person);
            arrests.add(arrest);
        }

        Set<Agency> agencies = new HashSet<Agency>();
        for (Arrest arrest : arrests) {
            agencies.add(arrest.arrestingAgency);
            for (ArrestCharge arrestCharge : arrest.charges) {
                if (arrestCharge.offense != null) {
                    agencies.add(arrestCharge.offense.supervisionAgency);
                }
            }
        }

        addAgencyElements(ret, rapSheet, agencies);
        addResidenceLocationElement(ret, person, rapSheet, locationId);
        addSupervisionCycleElements(ret, rapSheet, arrests);
        addMainCycleElements(ret, rapSheet, arrests);
        addArrestAgencyAssociations(ret, rapSheet, arrests);
        addSupervisionAgencyAssociations(ret, rapSheet, arrests);

        addProtectionOrderElements(rapSheet, person, baseDate);

        OJBC_NAMESPACE_CONTEXT.populateRootNamespaceDeclarations(ret.getDocumentElement());

    }

    return personDocuments;

}

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//from ww  w  .  j a v a  2  s. 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.FirearmRegistrationSampleGenerator.java

@Override
protected List<Document> generateSample(Collection<PersonElementWrapper> people, DateTime baseDate,
        String state) throws Exception {

    List<Document> personDocuments = new ArrayList<Document>();

    LOG.info("Processing " + people.size() + " records");

    for (PersonElementWrapper person : people) {

        Document ret = documentBuilder.newDocument();
        personDocuments.add(ret);//from   w w  w.  j  av  a 2 s  . c o m

        Element rootElement = ret.createElementNS(OjbcNamespaceContext.NS_FIREARM_DOC,
                "PersonFirearmRegistrationQueryResults");
        ret.appendChild(rootElement);
        rootElement.setPrefix(OjbcNamespaceContext.NS_PREFIX_FIREARM_DOC);

        addPersonElement(rootElement, person, baseDate);
        int firearmCount = generatePoissonInt(.7, true);
        for (int i = 0; i < firearmCount; i++) {
            addFirearmElement(rootElement, baseDate, i + 1);
        }
        for (int i = 0; i < firearmCount; i++) {
            addRegistrationElement(rootElement, person, baseDate, i + 1);
        }

        addLocationElement(rootElement, person);

        Element e = appendElement(rootElement, OjbcNamespaceContext.NS_NC, "ContactInformation");
        XmlUtils.addAttribute(e, OjbcNamespaceContext.NS_STRUCTURES, "id", "CI1");
        addTelephoneNumberElement(e, "360-555-1212");

        e = appendElement(rootElement, OjbcNamespaceContext.NS_NC, "ContactInformation");
        XmlUtils.addAttribute(e, OjbcNamespaceContext.NS_STRUCTURES, "id", "CI2");
        addTelephoneNumberElement(e, "212-333-8888");

        e = appendElement(e, OjbcNamespaceContext.NS_NC, "ContactEntity");
        e = appendElement(e, OjbcNamespaceContext.NS_NC, "EntityOrganization");
        e = appendElement(e, OjbcNamespaceContext.NS_NC, "OrganizationLocation");
        addLocationElement(e, "123 Commerce Way", person);

        Element assn = null;

        for (int i = 0; i < firearmCount; i++) {
            assn = appendElement(rootElement, OjbcNamespaceContext.NS_NC, "PropertyRegistrationAssociation");
            e = appendElement(assn, OjbcNamespaceContext.NS_NC, "ItemRegistrationReference");
            XmlUtils.addAttribute(e, OjbcNamespaceContext.NS_STRUCTURES, "ref", "R" + (i + 1));
            e = appendElement(assn, OjbcNamespaceContext.NS_NC, "ItemReference");
            XmlUtils.addAttribute(e, OjbcNamespaceContext.NS_STRUCTURES, "ref", "F" + (i + 1));
            e = appendElement(assn, OjbcNamespaceContext.NS_NC, "ItemRegistrationHolderReference");
            XmlUtils.addAttribute(e, OjbcNamespaceContext.NS_STRUCTURES, "ref", person.personId);
        }

        assn = appendElement(rootElement, OjbcNamespaceContext.NS_NC, "ResidenceAssociation");
        e = appendElement(assn, OjbcNamespaceContext.NS_NC, "PersonReference");
        XmlUtils.addAttribute(e, OjbcNamespaceContext.NS_STRUCTURES, "ref", person.personId);
        e = appendElement(assn, OjbcNamespaceContext.NS_NC, "LocationReference");
        XmlUtils.addAttribute(e, OjbcNamespaceContext.NS_STRUCTURES, "ref", "L1");

        assn = appendElement(rootElement, OjbcNamespaceContext.NS_NC, "PersonContactInformationAssociation");
        e = appendElement(assn, OjbcNamespaceContext.NS_NC, "PersonReference");
        XmlUtils.addAttribute(e, OjbcNamespaceContext.NS_STRUCTURES, "ref", person.personId);
        e = appendElement(assn, OjbcNamespaceContext.NS_NC, "ContactInformationReference");
        XmlUtils.addAttribute(e, OjbcNamespaceContext.NS_STRUCTURES, "ref", "CI1");

        assn = appendElement(rootElement, OjbcNamespaceContext.NS_NC, "PersonEmploymentAssociation");
        e = appendElement(assn, OjbcNamespaceContext.NS_NC, "EmployeeReference");
        XmlUtils.addAttribute(e, OjbcNamespaceContext.NS_STRUCTURES, "ref", person.personId);
        e = appendElement(assn, OjbcNamespaceContext.NS_NC, "EmployeeOccupationText");
        e.setTextContent(person.occupation);

        assn = appendElement(rootElement, OjbcNamespaceContext.NS_NC, "EmployeeContactInformationAssociation");
        e = appendElement(assn, OjbcNamespaceContext.NS_NC, "PersonReference");
        XmlUtils.addAttribute(e, OjbcNamespaceContext.NS_STRUCTURES, "ref", person.personId);
        e = appendElement(assn, OjbcNamespaceContext.NS_NC, "ContactInformationReference");
        XmlUtils.addAttribute(e, OjbcNamespaceContext.NS_STRUCTURES, "ref", "CI2");

        OJBC_NAMESPACE_CONTEXT.populateRootNamespaceDeclarations(ret.getDocumentElement());

    }

    return personDocuments;

}

From source file:org.ojbc.bundles.adapters.staticmock.samplegen.IncidentSampleGenerator.java

List<Document> buildIncidentInstanceDocuments(DateTime baseDate, String stateParam) throws IOException {

    PersonElementWrapper subject = getRandomIdentity(stateParam);
    int incidents = generatePoissonInt(0.8, true);

    LOG.info("Generating " + incidents + " incidents for subject " + subject.lastName);

    List<Document> documents = new ArrayList<Document>();

    for (int i = 0; i < incidents; i++) {

        Incident incident = generateRandomIncident(baseDate, stateParam);
        incident.subject = subject;// w  w w  .  j a  va2  s  .c  om

        while (incident.subject.id.equals(incident.suspect.id)
                || incident.subject.id.equals(incident.officer.id)
                || incident.subject.id.equals(incident.victim.id)) {
            incident = generateRandomIncident(baseDate, stateParam);
            incident.subject = subject;
        }

        Document d = documentBuilder.newDocument();

        Element e = null;

        e = d.createElementNS(OjbcNamespaceContext.NS_IR, "IncidentReport");
        d.appendChild(e);
        e.setPrefix(OjbcNamespaceContext.NS_PREFIX_IR);
        // this is only in here to support validation, if you copy the generated instance to a file and validate it
        XmlUtils.addAttribute(e, OjbcNamespaceContext.NS_XSI, "schemaLocation",
                "http://ojbc.org/IEPD/Exchange/IncidentReport/1.0 ../xsd/exchange_schema/Incident_Report.xsd");

        e = appendElement(e, OjbcNamespaceContext.NS_LEXSPD, "doPublish");
        e = appendElement(e, OjbcNamespaceContext.NS_LEXS, "PublishMessageContainer");
        e = appendElement(e, OjbcNamespaceContext.NS_LEXS, "PublishMessage");

        addMessageMetadataElement(e);
        addDataSubmitterMetadataElement(e, incident);
        addDataItemPackageElement(e, incident, baseDate);

        OJBC_NAMESPACE_CONTEXT.populateRootNamespaceDeclarations(d.getDocumentElement());

        documents.add(d);

    }

    return documents;

}

From source file:org.ojbc.bundles.adapters.staticmock.samplegen.JuvenileHistorySampleGenerator.java

private Document writeHistoryToDocument(JuvenileHistory history, DateTime baseDate) throws Exception {
    // call a method to build a sub-element structure for each component of the history.  write unit tests that validate each of those sub-elements.
    // then assemble them all into a container document, with the search params in a made-up structure at the top.  we can't validate that container
    // document because we won't have a schema for it.
    Document ret = documentBuilder.newDocument();

    Element root = ret.createElementNS(OjbcNamespaceContext.NS_JUVENILE_HISTORY_CONTAINER,
            "JuvenileHistoryContainer");
    root.setPrefix(OjbcNamespaceContext.NS_PREFIX_JUVENILE_HISTORY_CONTAINER);
    ret.appendChild(root);/*ww  w.  j ava  2  s  . c  o  m*/

    appendAvailabilityMetadata(ret, baseDate, history);
    appendPeople(ret, baseDate, history);
    appendLocations(ret, baseDate, history);
    appendParentChildAssociations(ret, baseDate, history);

    appendReferrals(ret, baseDate, history);
    appendOffenseCharges(ret, baseDate, history);
    appendOffenseLocations(ret, baseDate, history);
    appendCasePlans(ret, baseDate, history);
    appendPlacements(ret, baseDate, history);
    appendIntakes(ret, baseDate, history);
    appendHearings(ret, baseDate, history);

    new OjbcNamespaceContext().populateRootNamespaceDeclarations(root);

    return ret;

}

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;
}