All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.redsolo.vcm.commands.ResourceDataParser Maven / Gradle / Ivy

There is a newer version: 1.2.4
Show newest version
package com.github.redsolo.vcm.commands;

import java.util.ArrayList;
import java.util.List;

import com.github.redsolo.vcm.ModelResource;
import com.github.redsolo.vcm.model.Feature;
import org.apache.commons.lang3.StringUtils;

public class ResourceDataParser {

    private ResourceDataParser() {
    }

    public static ModelResource getVariables(ModelResource root) {
        for (ModelResource modelResource : root.getResources()) {
            ModelResource variableSpace = modelResource.getResource("VariableSpace");
            if (variableSpace != null) {
                return variableSpace;
            }
        }
        return null;
    }
    
    public static List getPythonScripts(ModelResource root) {
        List pythonScripts = new ArrayList();
        for (ModelResource modelResource : root.getResources()) {
            
            for (ModelResource funcResource : modelResource.getResources("Functionality")) {
                if (funcResource.getName().equals("rPythonScript")) {
                    pythonScripts.add(funcResource);
                }
            }
        }
        return pythonScripts;
    }

    public static List getInterfaces(ModelResource root) {
        List interfaces = new ArrayList();
        for (ModelResource modelResource : root.getResources()) {
            
            for (ModelResource funcResource : modelResource.getResources("Functionality")) {
                if (funcResource.getName().equals("rSimInterface") ||
                        funcResource.getName().equals("rSimDynamicInterface")) {
                    interfaces.add(funcResource);
                }
            }
        }
        return interfaces;
    }

    public static List getNotes(ModelResource root) {
        List interfaces = new ArrayList();
        for (ModelResource modelResource : root.getResources()) {
            
            for (ModelResource funcResource : modelResource.getResources("Functionality")) {
                if (funcResource.getName().equals("rNote")) {
                    interfaces.add(funcResource);
                }
            }
        }
        return interfaces;
    }

    public static String getLocation(ModelResource root) {
        ModelResource locationResource = getLocationResource(root);
        if (locationResource != null) {
            return locationResource.getValue("Location").toString();
        }
        return null;
    }

    public static ModelResource getLocationResource(ModelResource root) {
        for (ModelResource modelResource : root.getResources()) {
            if (modelResource.hasValue("Location")) {
                return modelResource;
            }
        }
        return null;
    }

    public static ModelResource getNamedResource(ModelResource root, String name) {
        for (ModelResource modelResource : root.getResources()) {
            if (modelResource.getValue("Name") != null) {
                if (modelResource.getValue("Name").toString().equalsIgnoreCase(name)) {
                    return modelResource;
                }
            }
        }
        return null;
    }

    public static List getFeatures(ModelResource root, String type) {
        List features = new ArrayList();
        for (ModelResource modelResource : root.getResources()) {

            if (modelResource.getType().equals("Feature") && (StringUtils.isEmpty(type) || modelResource.getName().equals(type))) {
                features.add(new Feature(modelResource));
            }
            features.addAll(getFeatures(modelResource, type));
        }
        return features;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy