Search in sources :

Example 21 with Module

use of com.serotonin.m2m2.module.Module in project ma-core-public by infiniteautomation.

the class ModuleRegistry method ensureFileStoreDefinitions.

private static void ensureFileStoreDefinitions() {
    if (FILE_STORE_DEFINITIONS == null) {
        synchronized (LOCK) {
            if (FILE_STORE_DEFINITIONS == null) {
                Map<String, FileStoreDefinition> map = new HashMap<>();
                for (FileStoreDefinition def : Module.getDefinitions(preDefaults, FileStoreDefinition.class)) {
                    map.put(def.getStoreName(), def);
                }
                for (Module module : MODULES.values()) {
                    for (FileStoreDefinition def : module.getDefinitions(FileStoreDefinition.class)) map.put(def.getStoreName(), def);
                }
                for (FileStoreDefinition def : Module.getDefinitions(postDefaults, FileStoreDefinition.class)) {
                    map.put(def.getStoreName(), def);
                }
                FILE_STORE_DEFINITIONS = map;
            }
        }
    }
}
Also used : LinkedHashMap(java.util.LinkedHashMap) HashMap(java.util.HashMap) PublicFileStoreDefinition(com.serotonin.m2m2.module.definitions.filestore.PublicFileStoreDefinition) DocsFileStoreDefinition(com.serotonin.m2m2.module.definitions.filestore.DocsFileStoreDefinition) CoreFileStoreDefinition(com.serotonin.m2m2.module.definitions.filestore.CoreFileStoreDefinition)

Example 22 with Module

use of com.serotonin.m2m2.module.Module in project ma-core-public by infiniteautomation.

the class ModuleRegistry method ensureTemplateDefinitions.

private static void ensureTemplateDefinitions() {
    if (TEMPLATE_DEFINITIONS == null) {
        synchronized (LOCK) {
            if (TEMPLATE_DEFINITIONS == null) {
                Map<String, TemplateDefinition> map = new HashMap<String, TemplateDefinition>();
                for (TemplateDefinition def : Module.getDefinitions(preDefaults, TemplateDefinition.class)) {
                    map.put(def.getTemplateTypeName(), def);
                }
                for (Module module : MODULES.values()) {
                    for (TemplateDefinition def : module.getDefinitions(TemplateDefinition.class)) map.put(def.getTemplateTypeName(), def);
                }
                for (TemplateDefinition def : Module.getDefinitions(postDefaults, TemplateDefinition.class)) {
                    map.put(def.getTemplateTypeName(), def);
                }
                TEMPLATE_DEFINITIONS = map;
            }
        }
    }
}
Also used : LinkedHashMap(java.util.LinkedHashMap) HashMap(java.util.HashMap) DataPointPropertiesTemplateDefinition(com.serotonin.m2m2.vo.template.DataPointPropertiesTemplateDefinition)

Example 23 with Module

use of com.serotonin.m2m2.module.Module in project ma-core-public by infiniteautomation.

the class MangoTestBase method addModule.

/**
 * Add a module to the test.  Before the before() method is called.
 * @param name
 * @param definitions
 * @return
 */
protected static void addModule(String name, List<ModuleElementDefinition> definitions) {
    MangoTestModule module = new MangoTestModule(name);
    for (ModuleElementDefinition definition : definitions) module.addDefinition(definition);
    modules.add(module);
}
Also used : ModuleElementDefinition(com.serotonin.m2m2.module.ModuleElementDefinition)

Example 24 with Module

use of com.serotonin.m2m2.module.Module in project ma-core-public by infiniteautomation.

the class ModulesController method handleRequest.

@Override
public View handleRequest(HttpServletRequest request, HttpServletResponse response, Map<String, Object> model) throws Exception {
    // Check for a license download token.
    String token = request.getParameter("token");
    if (!StringUtils.isEmpty(token)) {
        if (downloadLicense(token))
            model.put("licenseDownloaded", true);
    }
    List<Module> modules = ModuleRegistry.getModules();
    Module.sortByName(modules);
    Module core = ModuleRegistry.getCoreModule();
    modules.add(0, core);
    model.put("guid", Providers.get(ICoreLicense.class).getGuid());
    model.put("distributor", Common.envProps.getString("distributor"));
    model.put("modules", modules);
    // Add in the Unloaded modules
    model.put("unloadedModules", ModuleRegistry.getUnloadedModules());
    // The JSON
    Map<String, Object> json = new HashMap<>();
    json.put("guid", Providers.get(ICoreLicense.class).getGuid());
    json.put("description", SystemSettingsDao.getValue(SystemSettingsDao.INSTANCE_DESCRIPTION));
    json.put("distributor", Common.envProps.getString("distributor"));
    Map<String, String> jsonModules = new HashMap<>();
    json.put("modules", jsonModules);
    for (Module module : modules) {
        jsonModules.put(module.getName(), module.getVersion().toString());
    }
    try {
        StringWriter out = new StringWriter();
        JsonWriter jsonWriter = new JsonWriter(Common.JSON_CONTEXT, out);
        jsonWriter.writeObject(json);
        model.put("json", out.toString());
    } catch (Exception e) {
        throw new ShouldNeverHappenException(e);
    }
    return null;
}
Also used : StringWriter(java.io.StringWriter) HashMap(java.util.HashMap) ShouldNeverHappenException(com.serotonin.ShouldNeverHappenException) Module(com.serotonin.m2m2.module.Module) JsonWriter(com.serotonin.json.JsonWriter) ShouldNeverHappenException(com.serotonin.ShouldNeverHappenException)

Example 25 with Module

use of com.serotonin.m2m2.module.Module in project ma-core-public by infiniteautomation.

the class ModuleDwrCreator method getInstance.

@Override
public ModuleDwr getInstance() throws InstantiationException {
    ModuleDwr o = (ModuleDwr) super.getInstance();
    o.setModule(module);
    return o;
}
Also used : ModuleDwr(com.serotonin.m2m2.web.dwr.ModuleDwr)

Aggregations

HashMap (java.util.HashMap)9 Module (com.serotonin.m2m2.module.Module)8 ApiOperation (com.wordnik.swagger.annotations.ApiOperation)7 RequestMapping (org.springframework.web.bind.annotation.RequestMapping)7 User (com.serotonin.m2m2.vo.User)6 JsonString (com.serotonin.json.type.JsonString)5 TranslatableMessage (com.serotonin.m2m2.i18n.TranslatableMessage)5 RestProcessResult (com.serotonin.m2m2.web.mvc.rest.v1.message.RestProcessResult)5 JsonObject (com.serotonin.json.type.JsonObject)4 File (java.io.File)4 ShouldNeverHappenException (com.serotonin.ShouldNeverHappenException)3 JsonWriter (com.serotonin.json.JsonWriter)3 CoreModuleModel (com.serotonin.m2m2.web.mvc.rest.v1.model.modules.CoreModuleModel)3 FileInputStream (java.io.FileInputStream)3 IOException (java.io.IOException)3 StringWriter (java.io.StringWriter)3 ArrayList (java.util.ArrayList)3 LinkedHashMap (java.util.LinkedHashMap)3 Version (com.github.zafarkhaja.semver.Version)2 BadRequestException (com.infiniteautomation.mango.rest.v2.exception.BadRequestException)2