Package org.globus.workspace.client_core.actions

Source Code of org.globus.workspace.client_core.actions.Reboot_Instance

/*
* Copyright 1999-2008 University of Chicago
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy
* of the License at
*
*    http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*/

package org.globus.workspace.client_core.actions;

import org.globus.workspace.client_core.ParameterProblem;
import org.globus.workspace.client_core.ExecutionProblem;
import org.globus.workspace.client_core.WSAction_Instance;
import org.globus.workspace.client_core.StubConfigurator;
import org.globus.workspace.client_core.utils.RMIUtils;
import org.globus.workspace.common.print.Print;
import org.nimbustools.messaging.gt4_0.generated.types.WorkspaceShutdownFault;
import org.nimbustools.messaging.gt4_0.generated.types.OperationDisabledFault;
import org.nimbustools.messaging.gt4_0.generated.types.ShutdownEnumeration;
import org.nimbustools.messaging.gt4_0.generated.types.WorkspaceShutdownRequest_Type;
import org.nimbustools.messaging.gt4_0.generated.types.WorkspaceUnknownFault;
import org.nimbustools.messaging.gt4_0.generated.WorkspacePortType;
import org.apache.axis.message.addressing.EndpointReferenceType;

import java.rmi.RemoteException;

public class Reboot_Instance extends WSAction_Instance {


    // -------------------------------------------------------------------------
    // CONSTRUCTORS
    // -------------------------------------------------------------------------

    /**
     * @see WSAction_Instance
     */
    public Reboot_Instance(EndpointReferenceType epr,
                           StubConfigurator stubConf,
                           Print debug) {
        super(epr, stubConf, debug);
    }

    /**
     * @see WSAction_Instance
     */
    public Reboot_Instance(WorkspacePortType instancePortType,
                           Print debug) {
        super(instancePortType, debug);
    }


    // -------------------------------------------------------------------------
    // EXECUTE
    // -------------------------------------------------------------------------

    /**
     * Calls reboot()
     *
     * @return null
     * @throws Exception see reboot()
     * @see #reboot()
     */
    protected Object action() throws Exception {
        this.reboot();
        return null;
    }

    /**
     * Reboot workspace.
     *
     * @throws ParameterProblem validation problem
     * @throws ExecutionProblem general problem running (connection errors etc)
     * @throws WorkspaceShutdownFault couldn't reboot
     * @throws OperationDisabledFault not allowed to reboot
     * @throws WorkspaceUnknownFault unknown
     */
    public void reboot() throws ParameterProblem,
                                ExecutionProblem,
                                WorkspaceShutdownFault,
                                OperationDisabledFault,
                                WorkspaceUnknownFault {

        this.validateAll();

        try {

            final WorkspaceShutdownRequest_Type req =
                    new WorkspaceShutdownRequest_Type();
            req.setShutdownType(ShutdownEnumeration.Reboot);

            ((WorkspacePortType) this.portType).shutdown(req);

        } catch (WorkspaceUnknownFault e) {
            throw e;
        } catch (WorkspaceShutdownFault e) {
            throw e;
        } catch (OperationDisabledFault e) {
            throw e;
        } catch (RemoteException e) {
            throw RMIUtils.generalRemoteException(e);
        }
    }
}
TOP

Related Classes of org.globus.workspace.client_core.actions.Reboot_Instance

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.