![JAR search and dependency download from the Maven repository](/logo.png)
com.reprezen.genflow.api.zenmodel.ZenModelSource Maven / Gradle / Ivy
/*******************************************************************************
* Copyright © 2013, 2016 Modelsolv, Inc.
* All Rights Reserved.
*
* NOTICE: All information contained herein is, and remains the property
* of ModelSolv, Inc. See the file license.html in the root directory of
* this project for further information.
*******************************************************************************/
package com.reprezen.genflow.api.zenmodel;
import java.io.File;
import java.util.List;
import org.apache.commons.io.FilenameUtils;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.xtext.EcoreUtil2;
import com.google.common.base.Strings;
import com.google.common.collect.Lists;
import com.reprezen.core.RapidFileExtensions;
import com.reprezen.genflow.api.GenerationException;
import com.reprezen.genflow.api.loadability.AbstractLoadabilityTester;
import com.reprezen.genflow.api.loadability.LoadabilityTester;
import com.reprezen.genflow.api.source.AbstractSource;
import com.reprezen.genflow.api.source.ILocator;
import com.reprezen.genflow.api.zenmodel.util.CommonServices;
import com.reprezen.rapidml.DataModel;
import com.reprezen.rapidml.RapidmlPackage;
import com.reprezen.rapidml.SingleValueType;
import com.reprezen.rapidml.ZenModel;
import com.reprezen.rapidml.implicit.ZenModelNormalizer;
import com.reprezen.rapidml.xtext.loaders.ZenModelLoader;
public class ZenModelSource extends AbstractSource {
private final ZenModelLoader loader = new ZenModelLoader();
public ZenModelSource() {
super();
}
public ZenModelSource(File inputFile) {
super(inputFile);
}
@Override
public String getLabel() {
return "RAPID model";
}
@Override
public ZenModel load(File inFile) throws GenerationException {
checkMetaModelVersion(getMetaModelVersion());
ZenModel model = loader.loadAndValidateModel(inFile);
new ZenModelNormalizer().normalize(model);
return model;
}
@Override
public Iterable
© 2015 - 2025 Weber Informatics LLC | Privacy Policy