AppPluginUtil

Description

  • org.joget.apps.app.service.AppPluginUtil
  • Under wflow-core module
  • Utility class to retrieve plugin properties value and i18n message

 

Code Sample

import java.util.Map;
import java.util.HashMap;
import javax.servlet.http.HttpServletRequest;
import org.joget.apps.app.service.AppUtil;

import org.joget.apps.app.service.AppPluginUtil;
import org.joget.apps.app.model.AppDefinition;
import org.joget.plugin.base.Plugin;
import org.joget.plugin.base.PluginManager;
import org.joget.plugin.property.model.PropertyEditable;

import org.joget.workflow.util.WorkflowUtil;
  
PluginManager pluginManager = (PluginManager) AppUtil.getApplicationContext().getBean("pluginManager");
  
String pluginName = "org.joget.apps.app.lib.EmailTool";
Plugin plugin = pluginManager.getPlugin(pluginName);
  
AppDefinition appDef = AppUtil.getCurrentAppDefinition();
  
Map propertiesMap = new HashMap();
propertiesMap.put("pluginManager", pluginManager);
propertiesMap.put("appDef", appDef);
  
// add HttpServletRequest into the property map
try {
    HttpServletRequest request = WorkflowUtil.getHttpServletRequest();
    if (request != null) {
        propertiesMap.put("request", request);
    }
} catch (Throwable e) {
    // ignore if class is not found
}
  
//Email tool properties
propertiesMap.put("toSpecific", "sample@joget.org");
propertiesMap.put("subject", "Test Email");
propertiesMap.put("message", "This is just a test email");
  
propertiesMap = AppPluginUtil.getDefaultProperties(plugin, propertiesMap, appDef, null);
  
if (plugin instanceof PropertyEditable) {
    ((PropertyEditable) plugin).setProperties(propertiesMap);
}
  
//send email
plugin.execute(propertiesMap);

 

Methods

getApplicationContext

public static org.springframework.context.ApplicationContext getApplicationContext()

Utility method to retrieve the ApplicationContext of the system.

 

getDefaultProperties

public static java.util.Map getDefaultProperties(org.joget.plugin.base.Plugin plugin, java.lang.String properties, org.joget.apps.app.model.AppDefinition appDef)

Method to retrieve the final plugin properties value by passing the configured properties to override the default plugin properties in an App.

 

getDefaultProperties

public static java.util.Map getDefaultProperties(org.joget.plugin.base.Plugin plugin, java.lang.String properties, org.joget.apps.app.model.AppDefinition appDef, org.joget.workflow.model.WorkflowAssignment assignment)

Method to retrieve the final plugin properties value by passing the configured properties to override the default plugin properties in an App.

Options to pass in WorkflowAssignment object for Hash Variable parsing.

 

getDefaultProperties

public static java.util.Map getDefaultProperties(org.joget.plugin.base.Plugin plugin, java.util.Map propertyMap, org.joget.apps.app.model.AppDefinition appDef, org.joget.workflow.model.WorkflowAssignment assignment)

Method to retrieve the final plugin properties value by passing the configured properties to override the default plugin properties in an App.

Options to pass in WorkflowAssignment object for Hash Variable parsing.

 

getMessage

public static java.lang.String getMessage(java.lang.String key, java.lang.String pluginName, java.lang.String translationPath)

Method to get a message from a plugin messages bundle.

 
Created by Damian Last modified by Aadrian on Dec 13, 2024