Search in sources :

Example 1 with Project

use of gen.core.project.Project in project omegat by omegat-org.

the class ProjectFileStorage method writeProjectFile.

/**
 * Saves project file to disk.
 */
public static void writeProjectFile(ProjectProperties props) throws Exception {
    File outFile = new File(props.getProjectRoot(), OConsts.FILE_PROJECT);
    String root = outFile.getAbsoluteFile().getParent();
    Omegat om = new Omegat();
    om.setProject(new Project());
    om.getProject().setVersion(OConsts.PROJ_CUR_VERSION);
    om.getProject().setSourceDir(getPathForStoring(root, props.getSourceRoot(), OConsts.DEFAULT_SOURCE));
    om.getProject().setSourceDirExcludes(new Masks());
    om.getProject().getSourceDirExcludes().getMask().addAll(props.getSourceRootExcludes());
    om.getProject().setTargetDir(getPathForStoring(root, props.getTargetRoot(), OConsts.DEFAULT_TARGET));
    om.getProject().setTmDir(getPathForStoring(root, props.getTMRoot(), OConsts.DEFAULT_TM));
    String glossaryDir = getPathForStoring(root, props.getGlossaryRoot(), OConsts.DEFAULT_GLOSSARY);
    om.getProject().setGlossaryDir(glossaryDir);
    // Compute glossary file location: must be relative to glossary root
    String glossaryFile = getPathForStoring(props.getGlossaryRoot(), props.getWriteableGlossary(), null);
    if (glossaryDir.equalsIgnoreCase(DEFAULT_FOLDER_MARKER) && props.isDefaultWriteableGlossaryFile()) {
        // Everything equals to default
        glossaryFile = DEFAULT_FOLDER_MARKER;
    }
    om.getProject().setGlossaryFile(glossaryFile);
    om.getProject().setDictionaryDir(getPathForStoring(root, props.getDictRoot(), OConsts.DEFAULT_DICT));
    om.getProject().setSourceLang(props.getSourceLanguage().toString());
    om.getProject().setTargetLang(props.getTargetLanguage().toString());
    om.getProject().setSourceTok(props.getSourceTokenizer().getCanonicalName());
    om.getProject().setTargetTok(props.getTargetTokenizer().getCanonicalName());
    om.getProject().setSentenceSeg(props.isSentenceSegmentingEnabled());
    om.getProject().setSupportDefaultTranslations(props.isSupportDefaultTranslations());
    om.getProject().setRemoveTags(props.isRemoveTags());
    om.getProject().setExternalCommand(props.getExternalCommand());
    if (props.getRepositories() != null && !props.getRepositories().isEmpty()) {
        om.getProject().setRepositories(new Repositories());
        om.getProject().getRepositories().getRepository().addAll(props.getRepositories());
    }
    Marshaller m = CONTEXT.createMarshaller();
    m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
    m.marshal(om, outFile);
}
Also used : Repositories(gen.core.project.Project.Repositories) Project(gen.core.project.Project) Marshaller(javax.xml.bind.Marshaller) File(java.io.File) Omegat(gen.core.project.Omegat) Masks(gen.core.project.Masks)

Aggregations

Masks (gen.core.project.Masks)1 Omegat (gen.core.project.Omegat)1 Project (gen.core.project.Project)1 Repositories (gen.core.project.Project.Repositories)1 File (java.io.File)1 Marshaller (javax.xml.bind.Marshaller)1