当前位置: 首页>>代码示例>>Java>>正文


Java ModelManagement类代码示例

本文整理汇总了Java中net.ssehub.easy.basics.modelManagement.ModelManagement的典型用法代码示例。如果您正苦于以下问题:Java ModelManagement类的具体用法?Java ModelManagement怎么用?Java ModelManagement使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


ModelManagement类属于net.ssehub.easy.basics.modelManagement包,在下文中一共展示了ModelManagement类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: load

import net.ssehub.easy.basics.modelManagement.ModelManagement; //导入依赖的package包/类
/**
 * Loads the main model.
 * @param management Either {@link VarModel#INSTANCE} or {@link BuildModel#INSTANCE}
 * @param fileEnding Either <tt>.ivml</tt> or <tt>_0.vil</tt>.
 * @param <M> Either {@link Project} or {@link Script}.
 * @return The loaded model or <tt>null</tt> if it was not found.
 */
private <M extends IModel> M load(ModelManagement<M> management, String fileEnding) {
    M model = null;
    File file = new File(tempModelsFolder, QmConstants.PROJECT_TOP_LEVEL + fileEnding);
    URI vilURI = file.toURI();
    ModelInfo<M> info = management.availableModels().getModelInfo(QmConstants.PROJECT_TOP_LEVEL, new Version(0),
        vilURI);
        
    if (null != info) {
        try {
            model = management.load(info);
        } catch (ModelManagementException e) {
            Bundle.getLogger(ModelModifier.class).exception(e);
        }
    }
    
    return model;
}
 
开发者ID:QualiMaster,项目名称:QM-EASyProducer,代码行数:25,代码来源:ModelModifier.java

示例2: loadPreferredModel

import net.ssehub.easy.basics.modelManagement.ModelManagement; //导入依赖的package包/类
/**
 * Loads a model with the specified (model name, version) pair from the given {@link ModelManagement} instance.
 * The model will only be loaded, if it can be loaded from the given <tt>locations</tt>
 * (ordering of parameters will be considered).
 * 
 * @param modelMgmt The {@link ModelManagement} instance from where the {@link IModel} should be loaded from, i.e.
 *     {@link net.ssehub.easy.varModel.management.VarModel#INSTANCE}
 *     or {@link net.ssehub.easy.instantiation.core.model.buildlangModel.BuildModel#INSTANCE}.
 * @param modelDefinition A (model name, version) pair for specifying which {@link IModel} should be loaded.
 * @param locations A ordered list of locations from where the {@link IModel} should be loaded from.
 * @param <M> The specific model type, will be derived from the {@link ModelManagement} instance.
 *     Will be {@link net.ssehub.easy.varModel.model.Project}
 *     or {@link net.ssehub.easy.instantiation.core.model.buildlangModel.Script}.
 * @return A loaded {@link IModel} or <tt>null</tt>.
 * 
 * @throws ModelManagementException In case that the available information
 *     may become inconsistent due to this update
 */
static<M extends IModel> M loadPreferredModel(ModelManagement<M> modelMgmt,
    IModelData modelDefinition, File... locations) throws ModelManagementException {
    
    ModelInfo<M> result = null;
    List<ModelInfo<M>> infos = modelMgmt.availableModels().getModelInfo(modelDefinition.getName(),
        modelDefinition.getVersion());
    
    if (null != infos && infos.size() > 0 && null != locations && locations.length > 0) {
        for (int i = 0; i < locations.length && null == result; i++) {
            File currentFile = locations[i];
            URI currentURI = currentFile.toURI();
            for (int j = 0; j < infos.size() && null == result; j++) {
                ModelInfo<M> info = infos.get(j);
                if (info.isContainedIn(currentURI)) {
                    result = info;
                }
            }
        }
    }
    
    // Throws a ModelManagementException if result is null
    return modelMgmt.load(result);
}
 
开发者ID:SSEHUB,项目名称:EASyProducer,代码行数:42,代码来源:Utils.java

示例3: assertOutdated

import net.ssehub.easy.basics.modelManagement.ModelManagement; //导入依赖的package包/类
/**
 * Asserts the outdated functionality on a model management instance.
 * 
 * @param <R> model type
 * @param mgt the management instance
 * @param modelName the model name
 * @throws ModelManagementException in case that model loading fails
 */
protected <R extends IModel> void assertOutdated(ModelManagement<R> mgt, String modelName) 
    throws ModelManagementException {
    List<ModelInfo<R>> infos = mgt.availableModels().getModelInfo(modelName);
    Assert.assertTrue("model not found", !infos.isEmpty());
    R m0 = mgt.load(infos.get(0));
    Assert.assertFalse("model is outdated", mgt.isOutdated(m0));
    mgt.outdateAll();
    Assert.assertTrue("model is not outdated", mgt.isOutdated(m0));
    R m1 = mgt.load(infos.get(0));
    Assert.assertFalse("model is outdated", mgt.isOutdated(infos.get(0)));
    Assert.assertFalse("model is outdated", mgt.isOutdated(m1));
    Assert.assertTrue("model instances shall not be equal after setting outdated", m0 != m1);
    mgt.setOutdated(m1);
    Assert.assertTrue("model is not outdated", mgt.isOutdated(m1));
    R m2 = mgt.load(infos.get(0));
    Assert.assertTrue("model instances shall not be equal after setting outdated", m1 != m2);
}
 
开发者ID:SSEHUB,项目名称:EASyProducer,代码行数:26,代码来源:AbstractTest.java

示例4: loadModel

import net.ssehub.easy.basics.modelManagement.ModelManagement; //导入依赖的package包/类
/**
 * Loads the {@link Project} or the {@link Script} and adds it to the given {@link PersistentProject}.
 * @param projectName The name of the {@link IModel} to load.
 * @param projectVersion The {@link Version} of the {@link IModel} to load.
 * @param modelType Must match to the given {@link IModel} type:
 * <ul>
 * <li>{@link Project} = {@link PathKind#IVML}</li>
 * <li>{@link Script} = {@link PathKind#VIL}</li>
 * </ul>
 * @throws PersistenceException Will be thrown if an error occurred during
 *     the {@link ModelManagement#load(ModelInfo)} operation.
 */
@SuppressWarnings("unchecked")
public void loadModel(String projectName, String projectVersion, PathKind modelType)
    throws PersistenceException {

    switch(modelType) {
    case IVML:
        ProjectContainer projectContainer = (ProjectContainer) loadModel(projectName, projectVersion,
            (ModelManagement<Model>) VarModel.INSTANCE, modelType);
        project.setVarModel(projectContainer);
        break;
    case VIL:
        ScriptContainer scriptContainer = (ScriptContainer) loadModel(projectName, projectVersion,
            (ModelManagement<Model>) BuildModel.INSTANCE, modelType);
        project.setScript(scriptContainer);
        break;
    default:
        // Not needed
        break;
    }
}
 
开发者ID:SSEHUB,项目名称:EASyProducer,代码行数:33,代码来源:ModelLoader.java

示例5: addOrRemoveLocation

import net.ssehub.easy.basics.modelManagement.ModelManagement; //导入依赖的package包/类
/**
 * Removed or adds a (temporary) folder for loading models from this locations.
 * @param modelManagement {@link VarModel#INSTANCE}, {@link BuildModel#INSTANCE}, or {@link TemplateModel#INSTANCE}
 * @param folder The folder to (un-)register
 * @param add <tt>true</tt> the folder will be added as possible location for models, <tt>false</tt> the folder
 *     will be removed.
 */
private void addOrRemoveLocation(ModelManagement<? extends IModel> modelManagement, File folder, boolean add) {
    try {
        if (add) {
            modelManagement.locations().addLocation(folder, ProgressObserver.NO_OBSERVER);
        } else {
            modelManagement.locations().removeLocation(folder, ProgressObserver.NO_OBSERVER);
        }
    } catch (ModelManagementException e) {
        Bundle.getLogger(ModelModifier.class).exception(e);
    }
}
 
开发者ID:QualiMaster,项目名称:QM-EASyProducer,代码行数:19,代码来源:ModelModifier.java

示例6: addOrRemoveLocation

import net.ssehub.easy.basics.modelManagement.ModelManagement; //导入依赖的package包/类
/**
 * Removed or adds a (temporary) folder for loading models from this locations.
 * @param modelManagement {@link VarModel#INSTANCE}, {@link BuildModel#INSTANCE}, or {@link TemplateModel#INSTANCE}
 * @param folder The folder to (un-)register
 * @param add <tt>true</tt> the folder will be added as possible location for models, <tt>false</tt> the folder
 *     will be removed.
 * @throws ModelManagementException If model files could not be parsed
 */
protected void addOrRemoveLocation(ModelManagement<? extends IModel> modelManagement, File folder, boolean add)
    throws ModelManagementException {
    
    if (add) {
        modelManagement.locations().addLocation(folder, ProgressObserver.NO_OBSERVER);
    } else {
        modelManagement.locations().removeLocation(folder, ProgressObserver.NO_OBSERVER);
    }
}
 
开发者ID:SSEHUB,项目名称:EASyProducer,代码行数:18,代码来源:AbstractModelTask.java

示例7: getProjectUri

import net.ssehub.easy.basics.modelManagement.ModelManagement; //导入依赖的package包/类
/**
 * Returns the {@link URI} of the given
 * {@link net.ssehub.easy.varModel.model.Project}.
 * 
 * @param project
 *            the {@link net.ssehub.easy.varModel.model.Project} for which
 *            the {@link URI} should be returned
 * @return the {@link URI} of the given project. May return
 *         <code>null</code> if the given project is <code>null</code> or
 *         the project URI could not be resolved.
 */
private java.net.URI getProjectUri(M project) {
    java.net.URI varModelProjectUri = null;
    if (project != null) {
        ModelManagement<M> modelMgt = modelQuery.getModelManagement();
        AvailableModels<M> availableModel = modelMgt.availableModels();
        if (availableModel != null) {
            ModelInfo<M> projectInfo = availableModel.getModelInfo(project);
            if (projectInfo != null) {
                varModelProjectUri = projectInfo.getLocation();
            }
        }
    }
    return varModelProjectUri;
}
 
开发者ID:SSEHUB,项目名称:EASyProducer,代码行数:26,代码来源:GenericEditorOpener.java

示例8: ModelContainer

import net.ssehub.easy.basics.modelManagement.ModelManagement; //导入依赖的package包/类
/**
 * Constructor if an Exception occurred during parsing the model.
 * The model can be used but not be saved, as long the semantic error is not solved.
 * @param model The model, which should be managed by this container.
 * @param description A description of an occurred semantic error while parsing the model.
 *     Can be <tt>null</tt>, then this constructor has the same behavior as {@link #ModelContainer(IModel)}.
 * @param modelManager The container holding and managing all models of type &lt;M&gt;.
 * @param location The location (folder) of the managed model.
 */
protected ModelContainer(M model, SemanticErrorDescription description, ModelManagement<M> modelManager,
    Configuration location) {
    
    this.model = model;
    this.description = description;
    this.modelManager = modelManager;
    this.location = location;
    modelManager.events().addModelListener(model, this);
}
 
开发者ID:SSEHUB,项目名称:EASyProducer,代码行数:19,代码来源:ModelContainer.java

示例9: getManagementInstance

import net.ssehub.easy.basics.modelManagement.ModelManagement; //导入依赖的package包/类
@Override
protected ModelManagement<Script> getManagementInstance() {
    return BuildModel.INSTANCE;
}
 
开发者ID:SSEHUB,项目名称:EASyProducer,代码行数:5,代码来源:ModelTranslator.java

示例10: getModelManagement

import net.ssehub.easy.basics.modelManagement.ModelManagement; //导入依赖的package包/类
@Override
public ModelManagement<Script> getModelManagement() {
    return BuildModel.INSTANCE;
}
 
开发者ID:SSEHUB,项目名称:EASyProducer,代码行数:5,代码来源:VilExpressionParser.java

示例11: getModelManagement

import net.ssehub.easy.basics.modelManagement.ModelManagement; //导入依赖的package包/类
@Override
public ModelManagement<Script> getModelManagement() {
    return RtVilModel.INSTANCE;
}
 
开发者ID:SSEHUB,项目名称:EASyProducer,代码行数:5,代码来源:EditorUtils.java

示例12: getManagementInstance

import net.ssehub.easy.basics.modelManagement.ModelManagement; //导入依赖的package包/类
@Override
protected ModelManagement<Script> getManagementInstance() {
    return RtVilModel.INSTANCE;
}
 
开发者ID:SSEHUB,项目名称:EASyProducer,代码行数:5,代码来源:ModelTranslator.java

示例13: getModelManagement

import net.ssehub.easy.basics.modelManagement.ModelManagement; //导入依赖的package包/类
@Override
protected ModelManagement<Script> getModelManagement() {
    return RtVilModel.INSTANCE;
}
 
开发者ID:SSEHUB,项目名称:EASyProducer,代码行数:5,代码来源:RtVilExpressionParser.java

示例14: getModelManagement

import net.ssehub.easy.basics.modelManagement.ModelManagement; //导入依赖的package包/类
@Override
public ModelManagement<Template> getModelManagement() {
    return TemplateModel.INSTANCE;
}
 
开发者ID:SSEHUB,项目名称:EASyProducer,代码行数:5,代码来源:VtlModelQuery.java

示例15: getModelManagement

import net.ssehub.easy.basics.modelManagement.ModelManagement; //导入依赖的package包/类
@Override
protected ModelManagement<Template> getModelManagement() {
    return TemplateModel.INSTANCE;
}
 
开发者ID:SSEHUB,项目名称:EASyProducer,代码行数:5,代码来源:VtlExpressionParser.java


注:本文中的net.ssehub.easy.basics.modelManagement.ModelManagement类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。