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