use of gen.core.project.Project.Repositories 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);
}
Aggregations