public void assemble()

in SdmxStructureParser/src/main/java/org/sdmxsource/sdmx/structureparser/builder/xmlBeans/v21/assemblers/StructureXmlBeanAssembler.java [102:249]


    public void assemble(StructuresType structures, SdmxBeans beans) throws SdmxException {
        OrganisationSchemesType orgType = null;
        if (beans.getOrganisationUnitSchemes().size() > 0) {
            orgType = structures.addNewOrganisationSchemes();
            OrganisationUnitSchemeType[] type = new OrganisationUnitSchemeType[beans.getOrganisationUnitSchemes().size()];
            int i = 0;
            for (OrganisationUnitSchemeBean currentBean : beans.getOrganisationUnitSchemes()) {
                type[i] = organisationUnitSchemeXmlBeanBuilder.build(currentBean);
                i++;
            }
            orgType.setOrganisationUnitSchemeArray(type);
        }
        if (beans.getDataConsumerSchemes().size() > 0) {
            if (orgType == null) {
                orgType = structures.addNewOrganisationSchemes();
            }
            int i = 0;
            DataConsumerSchemeType[] type = new DataConsumerSchemeType[beans.getDataConsumerSchemes().size()];
            for (DataConsumerSchemeBean currentBean : beans.getDataConsumerSchemes()) {
                type[i] = dataConsumerSchemeXmBeanlBuilder.build(currentBean);
                orgType.getDataConsumerSchemeList().add(dataConsumerSchemeXmBeanlBuilder.build(currentBean));
            }
        }
        if (beans.getDataProviderSchemes().size() > 0) {
            if (orgType == null) {
                orgType = structures.addNewOrganisationSchemes();
            }
            for (DataProviderSchemeBean currentBean : beans.getDataProviderSchemes()) {
                orgType.getDataProviderSchemeList().add(dataProviderSchemeXmlBeanBuilder.build(currentBean));
            }
        }
        if (beans.getAgenciesSchemes().size() > 0) {
            if (orgType == null) {
                orgType = structures.addNewOrganisationSchemes();
            }
            for (AgencySchemeBean currentBean : beans.getAgenciesSchemes()) {
                orgType.getAgencySchemeList().add(agencySchemeXmlBeanBuilder.build(currentBean));
            }
        }
        //CONSTRAINTS
        if (beans.getAttachmentConstraints().size() > 0
                || beans.getContentConstraintBeans().size() > 0) {
            ConstraintsType constraintsType = structures.addNewConstraints();
            for (AttachmentConstraintBean currentBean : beans.getAttachmentConstraints()) {
                constraintsType.getAttachmentConstraintList().add(attachmentConstraintXmlBeanBuilder.build(currentBean));
            }
            for (ContentConstraintBean currentBean : beans.getContentConstraintBeans()) {
                constraintsType.getContentConstraintList().add(contentConstraintXmlBeanBuilder.build(currentBean));
            }
        }

        // DATAFLOWS
        if (beans.getDataflows().size() > 0) {
            DataflowsType dataflowsType = structures.addNewDataflows();
            for (DataflowBean currentBean : beans.getDataflows()) {
                dataflowsType.getDataflowList().add(dataflowXmlBeanBuilderBean.build(currentBean));
            }
        }
        // METADATAFLOWS
        if (beans.getMetadataflows().size() > 0) {
            MetadataflowsType metadataflowsType = structures.addNewMetadataflows();
            for (MetadataFlowBean currentBean : beans.getMetadataflows()) {
                metadataflowsType.getMetadataflowList().add(metadataflowXmlBeanBuilderBean.build(currentBean));
            }
        }
        // CATEGORY SCHEMES
        if (beans.getCategorySchemes().size() > 0) {
            CategorySchemesType catSchemesType = structures.addNewCategorySchemes();
            for (CategorySchemeBean categorySchemeBean : beans.getCategorySchemes()) {
                catSchemesType.getCategorySchemeList().add(categorySchemeXmlBeanBuilderBean.build(categorySchemeBean));
            }
        }
        // CATEGORISATIONS
        if (beans.getCategorisations().size() > 0) {
            CategorisationsType categorisations = structures.addNewCategorisations();
            for (CategorisationBean categorisationBean : beans.getCategorisations()) {
                categorisations.getCategorisationList().add(categorisationXmlBeanBuilder.build(categorisationBean));
            }
        }
        // CODELISTS
        Set<CodelistBean> codelists = beans.getCodelists();
        if (codelists.size() > 0) {
            CodelistsType codelistsType = structures.addNewCodelists();
            CodelistType[] type = new CodelistType[codelists.size()];
            int i = 0;
            for (CodelistBean codelistBean : codelists) {
                type[i] = codelistXmlBeanBuilderBean.build(codelistBean);
                i++;
            }
            codelistsType.setCodelistArray(type);
        }
        // HIERARCHICAL CODELISTS
        if (beans.getHierarchicalCodelists().size() > 0) {
            HierarchicalCodelistsType hierarchicalCodelistsType = structures.addNewHierarchicalCodelists();
            for (HierarchicalCodelistBean currentBean : beans.getHierarchicalCodelists()) {
                hierarchicalCodelistsType.getHierarchicalCodelistList().add(hierarchicalCodelistXmlBuilderBean.build(currentBean));
            }
        }
        // CONCEPTS
        if (beans.getConceptSchemes().size() > 0) {
            ConceptsType conceptsType = structures.addNewConcepts();
            for (ConceptSchemeBean conceptSchemeBean : beans.getConceptSchemes()) {
                conceptsType.getConceptSchemeList().add(conceptSchemeXmlBeanBuilderBean.build(conceptSchemeBean));
            }
        }
        // METADATA STRUCTURE
        if (beans.getMetadataStructures().size() > 0) {
            MetadataStructuresType msdsType = structures.addNewMetadataStructures();
            for (MetadataStructureDefinitionBean currentBean : beans.getMetadataStructures()) {
                msdsType.getMetadataStructureList().add(metadataStructureXmlBeanBuilderBean.build(currentBean));
            }
        }
        // DATA STRUCTURE
        if (beans.getDataStructures().size() > 0) {
            DataStructuresType dataStructuresType = structures.addNewDataStructures();
            for (DataStructureBean currentBean : beans.getDataStructures()) {
                dataStructuresType.getDataStructureList().add(dataStructureXmlBeanBuilderBean.build(currentBean));
            }
        }
        // STRUCTURE SETS
        if (beans.getStructureSets().size() > 0) {
            StructureSetsType structureSetsType = structures.addNewStructureSets();
            for (StructureSetBean currentBean : beans.getStructureSets()) {
                structureSetsType.getStructureSetList().add(structureSetXmlBeanBuilderBean.build(currentBean));
            }
        }
        // REPORTING TAXONOMIES
        if (beans.getReportingTaxonomys().size() > 0) {
            ReportingTaxonomiesType reportingTaxonomiesType = structures.addNewReportingTaxonomies();
            for (ReportingTaxonomyBean currentBean : beans.getReportingTaxonomys()) {
                reportingTaxonomiesType.getReportingTaxonomyList().add(reportingTaxonomyXmlBeanBuilderBean.build(currentBean));
            }
        }
        // PROCESSES
        if (beans.getProcesses().size() > 0) {
            ProcessesType processesType = structures.addNewProcesses();
            for (ProcessBean currentBean : beans.getProcesses()) {
                processesType.getProcessList().add(processXmlBeanBuilderBean.build(currentBean));
            }
        }
        // PROVISION AGREEMENTS
        if (beans.getProvisionAgreements().size() > 0) {
            ProvisionAgreementsType provisionAgreementsType = structures.addNewProvisionAgreements();
            for (ProvisionAgreementBean currentBean : beans.getProvisionAgreements()) {
                provisionAgreementsType.getProvisionAgreementList().add(provisionAgreementXmlBeanBuilder.build(currentBean));
            }
        }
    }