Example usage for com.liferay.portal.kernel.backgroundtask BackgroundTaskManagerUtil addBackgroundTask

List of usage examples for com.liferay.portal.kernel.backgroundtask BackgroundTaskManagerUtil addBackgroundTask

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.backgroundtask BackgroundTaskManagerUtil addBackgroundTask.

Prototype

public static BackgroundTask addBackgroundTask(long userId, long groupId, String name,
            String[] servletContextNames, Class<?> taskExecutorClass, Map<String, Serializable> taskContextMap,
            ServiceContext serviceContext) throws PortalException 

Source Link

Usage

From source file:at.graz.meduni.bibbox.liferay.portlet.service.impl.ApplicationInstanceServiceImpl.java

License:Open Source License

private JSONObject installApplication(String applicationname, String version, String instanceid,
        String instancename, String data) {
    JSONObject returnobject = JSONFactoryUtil.createJSONObject();

    if (ApplicationInstanceLocalServiceUtil.checkInstanceNameAvailable(instanceid)) {
        returnobject.put("status", "error");
        returnobject.put("error", "InstanceId alredy exists!");
        return returnobject;
    }// w  w  w.ja v  a2  s.  c  o  m

    ApplicationInstanceLocalServiceUtil.registerApplication(applicationname, version, instanceid, instancename);

    long userId = 0;
    long groupId = 0;
    try {
        User user = this.getGuestOrUser();
        Company company = CompanyLocalServiceUtil.getCompany(user.getCompanyId());
        groupId = company.getGroupId();
        userId = user.getUserId();
    } catch (Exception e) {
        System.err.println(FormatExceptionMessage.formatExceptionMessage("error", log_portlet_, log_classname_,
                "installApplication(String applicationname, String version, String instanceid, String instancename, String data)",
                "Error getting user from api call."));
        e.printStackTrace();
    }

    Map<String, Serializable> taskContextMap = new HashMap<>();

    taskContextMap.put("instanceId", instanceid);
    taskContextMap.put("data", data);

    try {
        BackgroundTaskManagerUtil.addBackgroundTask(userId, groupId,
                BibboxBackgroundTaskExecutorNames.BIBBOX_INSTANCE_INSTALLER_BACKGROUND_TASK_EXECUTOR,
                new String[] { "BIBBOXDocker-portlet" }, InstallApplicationBG.class, taskContextMap,
                new ServiceContext());
    } catch (PortalException e) {
        System.err.println(FormatExceptionMessage.formatExceptionMessage("error", log_portlet_, log_classname_,
                "installApplication(String applicationname, String version, String instanceid, String instancename, String data)",
                "Error starting Background Task. For instance: " + instanceid));
        e.printStackTrace();
    }

    returnobject.put("status", "installing");
    returnobject.put("instanceid", instanceid);

    return returnobject;
}

From source file:at.graz.meduni.bibbox.liferay.portlet.service.impl.ApplicationInstanceServiceImpl.java

License:Open Source License

private JSONObject deleteInstance(String instanceId) {
    JSONObject returnobject = JSONFactoryUtil.createJSONObject();
    ApplicationInstance applicationinstance = ApplicationInstanceLocalServiceUtil
            .getApplicationInstance(instanceId);
    if (applicationinstance == null) {
        returnobject.put("status", "error");
        returnobject.put("error", "InstanceId dose not exist!");
    } else {//from  w  ww  .ja  v a  2  s  .c  o m
        applicationinstance.setDeleted(true);
        applicationinstance.setStatus("deleting");
        ApplicationInstanceLocalServiceUtil.updateApplicationInstance(applicationinstance);

        long userId = 0;
        long groupId = 0;

        try {
            User user = this.getGuestOrUser();
            Company company = CompanyLocalServiceUtil.getCompany(user.getCompanyId());
            groupId = company.getGroupId();
            userId = user.getUserId();
        } catch (Exception e) {
            System.err.println(FormatExceptionMessage.formatExceptionMessage("error", log_portlet_,
                    log_classname_, "getUserObject()", "Error getting user from api call"));
            e.printStackTrace();
        }

        Map<String, Serializable> taskContextMap = new HashMap<>();
        taskContextMap.put("instanceId", instanceId);

        try {
            BackgroundTaskManagerUtil.addBackgroundTask(userId, groupId,
                    BibboxBackgroundTaskExecutorNames.BIBBOX_INSTANCE_DELETE_BACKGROUND_TASK_EXECUTOR,
                    new String[] { "BIBBOXDocker-portlet" }, DeleteApplication.class, taskContextMap,
                    new ServiceContext());
        } catch (PortalException e) {
            System.err.println(FormatExceptionMessage.formatExceptionMessage("error", log_portlet_,
                    log_classname_, "getUserObject()", "Error starting delete Task."));
            e.printStackTrace();
        }

        returnobject.put("status", "installing");
        returnobject.put("instanceid", instanceId);
    }
    return returnobject;
}

From source file:at.graz.meduni.bibbox.liferay.portlet.service.impl.ApplicationInstanceServiceImpl.java

License:Open Source License

private JSONObject startInstance(String instanceId) {
    JSONObject returnobject = JSONFactoryUtil.createJSONObject();
    ApplicationInstance applicationinstance = ApplicationInstanceLocalServiceUtil
            .getApplicationInstance(instanceId);
    if (applicationinstance == null) {
        returnobject.put("status", "error");
        returnobject.put("error", "InstanceId dose not exist!");
        String activityId = addMessageActivity("Starting Instance " + instanceId, "STARTAPP", "RUNNING",
                "UNKNOWN");
        ActivitiesProtocol.addActivityLogEntry(activityId, "ERROR", "InstanceId dose not exist!");
        finishActivity(activityId, "FINISHED", "ERROR");
    } else {/* ww w . j  a v a  2s . co m*/
        ApplicationInstanceStatus applicationinstancestatus = ApplicationInstanceStatusLocalServiceUtil
                .getApplicationInstanceStatusByInstanceId(applicationinstance.getApplicationInstanceId());
        applicationinstancestatus.setStatus("starting");
        applicationinstancestatus = ApplicationInstanceStatusLocalServiceUtil
                .updateApplicationInstanceStatus(applicationinstancestatus);

        long userId = 0;
        long groupId = 0;
        try {
            User user = this.getGuestOrUser();
            Company company = CompanyLocalServiceUtil.getCompany(user.getCompanyId());
            groupId = company.getGroupId();
            userId = user.getUserId();
        } catch (Exception e) {
            System.err.println(FormatExceptionMessage.formatExceptionMessage("error", log_portlet_,
                    log_classname_, "startInstance(String instanceId)", "Error getting user from api call."));
            e.printStackTrace();
        }

        Map<String, Serializable> taskContextMap = new HashMap<>();

        taskContextMap.put("instanceId", instanceId);
        taskContextMap.put("command", "start");

        try {
            BackgroundTaskManagerUtil.addBackgroundTask(userId, groupId,
                    BibboxBackgroundTaskExecutorNames.BIBBOX_INSTANCE_CONTROLE_BACKGROUND_TASK_EXECUTOR,
                    new String[] { "BIBBOXDocker-portlet" }, ControleApplication.class, taskContextMap,
                    new ServiceContext());
        } catch (PortalException e) {
            System.err.println(FormatExceptionMessage.formatExceptionMessage("error", log_portlet_,
                    log_classname_, "startInstance(String instanceId)",
                    "Error starting Background Task. For instance: " + instanceId));
            e.printStackTrace();
        }
    }
    applicationinstance = null;
    returnobject.put("status", "starting");
    return returnobject;
}

From source file:at.graz.meduni.bibbox.liferay.portlet.service.impl.ApplicationInstanceServiceImpl.java

License:Open Source License

private JSONObject stopInstance(String instanceId) {
    JSONObject returnobject = JSONFactoryUtil.createJSONObject();
    ApplicationInstance applicationinstance = ApplicationInstanceLocalServiceUtil
            .getApplicationInstance(instanceId);
    if (applicationinstance == null) {
        returnobject.put("status", "error");
        returnobject.put("error", "InstanceId dose not exist!");
        String activityId = addMessageActivity("Stopping Instance " + instanceId, "STOPAPP", "RUNNING",
                "UNKNOWN");
        ActivitiesProtocol.addActivityLogEntry(activityId, "ERROR", "InstanceId dose not exist!");
        finishActivity(activityId, "FINISHED", "ERROR");
    } else {//from w w  w.jav  a  2s . c  o  m
        ApplicationInstanceStatus applicationinstancestatus = ApplicationInstanceStatusLocalServiceUtil
                .getApplicationInstanceStatusByInstanceId(applicationinstance.getApplicationInstanceId());
        applicationinstancestatus.setStatus("stopping");
        applicationinstancestatus = ApplicationInstanceStatusLocalServiceUtil
                .updateApplicationInstanceStatus(applicationinstancestatus);

        long userId = 0;
        long groupId = 0;
        try {
            User user = this.getGuestOrUser();
            Company company = CompanyLocalServiceUtil.getCompany(user.getCompanyId());
            groupId = company.getGroupId();
            userId = user.getUserId();
        } catch (Exception e) {
            System.err.println(FormatExceptionMessage.formatExceptionMessage("error", log_portlet_,
                    log_classname_, "stopInstance(String instanceId)", "Error getting user from api call."));
            e.printStackTrace();
        }

        Map<String, Serializable> taskContextMap = new HashMap<>();

        taskContextMap.put("instanceId", instanceId);
        taskContextMap.put("command", "stop");

        try {
            BackgroundTaskManagerUtil.addBackgroundTask(userId, groupId,
                    BibboxBackgroundTaskExecutorNames.BIBBOX_INSTANCE_CONTROLE_BACKGROUND_TASK_EXECUTOR,
                    new String[] { "BIBBOXDocker-portlet" }, ControleApplication.class, taskContextMap,
                    new ServiceContext());
        } catch (PortalException e) {
            System.err.println(FormatExceptionMessage.formatExceptionMessage("error", log_portlet_,
                    log_classname_, "stopInstance(String instanceId)",
                    "Error starting Background Task. For instance: " + instanceId));
            e.printStackTrace();
        }
    }
    returnobject.put("status", "stopping");
    return returnobject;
}

From source file:at.graz.meduni.bibbox.liferay.portlet.service.impl.ApplicationInstanceServiceImpl.java

License:Open Source License

private JSONObject restartInstance(String instanceId) {
    JSONObject returnobject = JSONFactoryUtil.createJSONObject();
    ApplicationInstance applicationinstance = ApplicationInstanceLocalServiceUtil
            .getApplicationInstance(instanceId);
    if (applicationinstance == null) {
        returnobject.put("status", "error");
        returnobject.put("error", "InstanceId dose not exist!");
        String activityId = addMessageActivity("Restart Instance " + instanceId, "RESTARTAPP", "RUNNING",
                "UNKNOWN");
        ActivitiesProtocol.addActivityLogEntry(activityId, "ERROR", "InstanceId dose not exist!");
        finishActivity(activityId, "FINISHED", "ERROR");
    } else {//from w w  w. j a  va 2s  .  com
        ApplicationInstanceStatus applicationinstancestatus = ApplicationInstanceStatusLocalServiceUtil
                .getApplicationInstanceStatusByInstanceId(applicationinstance.getApplicationInstanceId());
        applicationinstancestatus.setStatus("restarting");
        applicationinstancestatus = ApplicationInstanceStatusLocalServiceUtil
                .updateApplicationInstanceStatus(applicationinstancestatus);

        long userId = 0;
        long groupId = 0;
        try {
            User user = this.getGuestOrUser();
            Company company = CompanyLocalServiceUtil.getCompany(user.getCompanyId());
            groupId = company.getGroupId();
            userId = user.getUserId();
        } catch (Exception e) {
            System.err.println(FormatExceptionMessage.formatExceptionMessage("error", log_portlet_,
                    log_classname_, "restartInstance(String instanceId)", "Error getting user from api call."));
            e.printStackTrace();
        }

        Map<String, Serializable> taskContextMap = new HashMap<>();

        taskContextMap.put("instanceId", instanceId);
        taskContextMap.put("command", "restart");

        try {
            BackgroundTaskManagerUtil.addBackgroundTask(userId, groupId,
                    BibboxBackgroundTaskExecutorNames.BIBBOX_INSTANCE_CONTROLE_BACKGROUND_TASK_EXECUTOR,
                    new String[] { "BIBBOXDocker-portlet" }, ControleApplication.class, taskContextMap,
                    new ServiceContext());
        } catch (PortalException e) {
            System.err.println(FormatExceptionMessage.formatExceptionMessage("error", log_portlet_,
                    log_classname_, "restartInstance(String instanceId)",
                    "Error starting Background Task. For instance: " + instanceId));
            e.printStackTrace();
        }
    }
    returnobject.put("status", "restarting");
    return returnobject;
}