Search in sources :

Example 1 with TaxonType

use of org.olat.imsmd.xml.manifest.TaxonType in project OpenOLAT by OpenOLAT.

the class ManifestMetadataBuilder method setClassificationTaxonomy.

/**
 * Set a taxonomy path of purpose "discipline"
 * @param taxonomyPath
 * @param lang
 */
public void setClassificationTaxonomy(String taxonomyPath, String lang) {
    ClassificationType classification = getClassification("discipline", lang, true);
    if (classification != null) {
        TaxonpathType taxonpathType = mdObjectFactory.createTaxonpathType();
        clearFromAny(TaxonpathType.class, classification.getContent());
        classification.getContent().add(mdObjectFactory.createTaxonpath(taxonpathType));
        taxonpathType.getTaxon().clear();
        SourceType sourceType = mdObjectFactory.createSourceType();
        sourceType.setLangstring(createString("Unkown", "en"));
        taxonpathType.setSource(sourceType);
        for (StringTokenizer tokenizer = new StringTokenizer(taxonomyPath, "/"); tokenizer.hasMoreTokens(); ) {
            String level = tokenizer.nextToken();
            TaxonType taxonType = mdObjectFactory.createTaxonType();
            EntryType entryType = mdObjectFactory.createEntryType();
            createOrUpdateFirstLangstring(entryType.getLangstring(), level, lang);
            taxonType.setEntry(entryType);
            taxonpathType.getTaxon().add(taxonType);
        }
    }
}
Also used : StringTokenizer(java.util.StringTokenizer) EntryType(org.olat.imsmd.xml.manifest.EntryType) TaxonType(org.olat.imsmd.xml.manifest.TaxonType) SourceType(org.olat.imsmd.xml.manifest.SourceType) TaxonpathType(org.olat.imsmd.xml.manifest.TaxonpathType) ClassificationType(org.olat.imsmd.xml.manifest.ClassificationType)

Example 2 with TaxonType

use of org.olat.imsmd.xml.manifest.TaxonType in project openolat by klemens.

the class ManifestMetadataBuilder method setClassificationTaxonomy.

/**
 * Set a taxonomy path of purpose "discipline"
 * @param taxonomyPath
 * @param lang
 */
public void setClassificationTaxonomy(String taxonomyPath, String lang) {
    ClassificationType classification = getClassification("discipline", lang, true);
    if (classification != null) {
        TaxonpathType taxonpathType = mdObjectFactory.createTaxonpathType();
        clearFromAny(TaxonpathType.class, classification.getContent());
        classification.getContent().add(mdObjectFactory.createTaxonpath(taxonpathType));
        taxonpathType.getTaxon().clear();
        SourceType sourceType = mdObjectFactory.createSourceType();
        sourceType.setLangstring(createString("Unkown", "en"));
        taxonpathType.setSource(sourceType);
        for (StringTokenizer tokenizer = new StringTokenizer(taxonomyPath, "/"); tokenizer.hasMoreTokens(); ) {
            String level = tokenizer.nextToken();
            TaxonType taxonType = mdObjectFactory.createTaxonType();
            EntryType entryType = mdObjectFactory.createEntryType();
            createOrUpdateFirstLangstring(entryType.getLangstring(), level, lang);
            taxonType.setEntry(entryType);
            taxonpathType.getTaxon().add(taxonType);
        }
    }
}
Also used : StringTokenizer(java.util.StringTokenizer) EntryType(org.olat.imsmd.xml.manifest.EntryType) TaxonType(org.olat.imsmd.xml.manifest.TaxonType) SourceType(org.olat.imsmd.xml.manifest.SourceType) TaxonpathType(org.olat.imsmd.xml.manifest.TaxonpathType) ClassificationType(org.olat.imsmd.xml.manifest.ClassificationType)

Example 3 with TaxonType

use of org.olat.imsmd.xml.manifest.TaxonType in project OpenOLAT by OpenOLAT.

the class ManifestMetadataBuilder method getClassificationTaxonomy.

public String getClassificationTaxonomy() {
    StringBuilder sb = new StringBuilder();
    ClassificationType classification = getClassification("discipline", null, false);
    if (classification != null) {
        TaxonpathType taxonpath = getFromAny(TaxonpathType.class, classification.getContent());
        if (taxonpath != null) {
            List<TaxonType> taxons = taxonpath.getTaxon();
            if (taxons != null) {
                for (TaxonType taxon : taxons) {
                    if (taxon.getEntry() != null && taxon.getEntry().getLangstring().size() > 0) {
                        LangstringType value = taxon.getEntry().getLangstring().get(0);
                        if (value != null && value.getValue() != null) {
                            sb.append("/").append(value.getValue());
                        }
                    }
                }
            }
        }
    }
    return sb.length() == 0 ? null : sb.toString();
}
Also used : TaxonType(org.olat.imsmd.xml.manifest.TaxonType) LangstringType(org.olat.imsmd.xml.manifest.LangstringType) TaxonpathType(org.olat.imsmd.xml.manifest.TaxonpathType) ClassificationType(org.olat.imsmd.xml.manifest.ClassificationType)

Example 4 with TaxonType

use of org.olat.imsmd.xml.manifest.TaxonType in project openolat by klemens.

the class ManifestMetadataBuilder method getClassificationTaxonomy.

public String getClassificationTaxonomy() {
    StringBuilder sb = new StringBuilder();
    ClassificationType classification = getClassification("discipline", null, false);
    if (classification != null) {
        TaxonpathType taxonpath = getFromAny(TaxonpathType.class, classification.getContent());
        if (taxonpath != null) {
            List<TaxonType> taxons = taxonpath.getTaxon();
            if (taxons != null) {
                for (TaxonType taxon : taxons) {
                    if (taxon.getEntry() != null && taxon.getEntry().getLangstring().size() > 0) {
                        LangstringType value = taxon.getEntry().getLangstring().get(0);
                        if (value != null && value.getValue() != null) {
                            sb.append("/").append(value.getValue());
                        }
                    }
                }
            }
        }
    }
    return sb.length() == 0 ? null : sb.toString();
}
Also used : TaxonType(org.olat.imsmd.xml.manifest.TaxonType) LangstringType(org.olat.imsmd.xml.manifest.LangstringType) TaxonpathType(org.olat.imsmd.xml.manifest.TaxonpathType) ClassificationType(org.olat.imsmd.xml.manifest.ClassificationType)

Aggregations

ClassificationType (org.olat.imsmd.xml.manifest.ClassificationType)4 TaxonType (org.olat.imsmd.xml.manifest.TaxonType)4 TaxonpathType (org.olat.imsmd.xml.manifest.TaxonpathType)4 StringTokenizer (java.util.StringTokenizer)2 EntryType (org.olat.imsmd.xml.manifest.EntryType)2 LangstringType (org.olat.imsmd.xml.manifest.LangstringType)2 SourceType (org.olat.imsmd.xml.manifest.SourceType)2