Search in sources :

Example 1 with TIMEOUT

use of org.omg.CORBA.TIMEOUT in project ACS by ACS-Community.

the class ContainerProxy method activate_component.

/**
	 * @see com.cosylab.acs.maci.Container#activate_component(int, long, String, String, String)
	 */
public ComponentInfo activate_component(int handle, long executionId, String name, String exe, String type) throws AcsJCannotActivateComponentEx {
    try {
        ComponentInfo retVal = null;
        si.ijs.maci.ComponentInfo info;
        try {
            info = container.activate_component(handle, executionId, name, exe, type);
        } catch (CannotActivateComponentEx cannotActivateEx) {
            // and thus have to convert it to its JDK-style peer exception
            throw AcsJCannotActivateComponentEx.fromCannotActivateComponentEx(cannotActivateEx);
        }
        if (info != null) {
            retVal = new ComponentInfo(info.h, info.name, info.type, info.code, info.reference != null ? new ComponentProxy(info.name, info.reference) : null);
            retVal.setContainer(info.container);
            retVal.setContainerName(info.container_name);
            retVal.setAccessRights(inverseMapAccessRights(info.access));
            retVal.setClients(new IntArray(info.clients));
            retVal.setInterfaces(info.interfaces);
        }
        return retVal;
    } catch (TIMEOUT tex) {
        TimeoutRemoteException re = new TimeoutRemoteException("Timout occured while invoking 'activate_component()' method.", tex);
        throw re;
    } catch (org.omg.CORBA.MARSHAL marshalEx) {
        // see http://jira.alma.cl/browse/COMP-4371. Unclear if a parameter was null, or the returned struct was invalid.
        RemoteException re = new RemoteException("Failed to transform the paramters or return value of the container's 'activate_component' method " + "to/from the corba call, using parameters name=" + name + ", exe=" + exe + ", type=" + type, marshalEx);
        throw re;
    } catch (Exception ex) {
        RemoteException re = new RemoteException("Failed to invoke 'activate_component()' method.", ex);
        throw re;
    }
}
Also used : RemoteException(com.cosylab.acs.maci.RemoteException) IOException(java.io.IOException) TimeoutRemoteException(com.cosylab.acs.maci.TimeoutRemoteException) AcsJException(alma.acs.exceptions.AcsJException) AcsJCannotActivateComponentEx(alma.maciErrType.wrappers.AcsJCannotActivateComponentEx) CannotActivateComponentEx(alma.maciErrType.CannotActivateComponentEx) IntArray(com.cosylab.acs.maci.IntArray) TimeoutRemoteException(com.cosylab.acs.maci.TimeoutRemoteException) ComponentInfo(com.cosylab.acs.maci.ComponentInfo) CBComponentInfo(si.ijs.maci.CBComponentInfo) TIMEOUT(org.omg.CORBA.TIMEOUT) RemoteException(com.cosylab.acs.maci.RemoteException) TimeoutRemoteException(com.cosylab.acs.maci.TimeoutRemoteException)

Example 2 with TIMEOUT

use of org.omg.CORBA.TIMEOUT in project ACS by ACS-Community.

the class AdministratorProxy method component_activated.

/**
	 * @see com.cosylab.acs.maci.Administrator#component_activated(com.cosylab.acs.maci.ComponentInfo, long, long)
	 */
public void component_activated(ComponentInfo info, long timeStamp, long executionId) throws RemoteException {
    try {
        // invalid info (replacement for null)
        final si.ijs.maci.ComponentInfo invalidInfo = new si.ijs.maci.ComponentInfo("<invalid>", "<invalid>", null, "<invalid>", new int[0], 0, "<invalid>", 0, 0, new String[0]);
        si.ijs.maci.ComponentInfo componentInfo = invalidInfo;
        if (info != null) {
            Object obj = null;
            if (info.getComponent() != null)
                obj = (Object) info.getComponent().getObject();
            String[] interfaces;
            if (info.getInterfaces() != null)
                interfaces = info.getInterfaces();
            else
                interfaces = new String[0];
            componentInfo = new si.ijs.maci.ComponentInfo(info.getType(), info.getCode(), obj, info.getName(), info.getClients().toArray(), info.getContainer(), info.getContainerName(), info.getHandle(), ManagerProxyImpl.mapAccessRights(info.getAccessRights()), interfaces);
        }
        administrator.component_activated(componentInfo, UTCUtility.utcJavaToOmg(timeStamp), executionId);
    } catch (TIMEOUT te) {
        throw new RemoteTimeoutException("Failed to invoke 'component_activated()' method due to timeout.", te);
    } catch (TRANSIENT tre) {
        throw new RemoteTransientException("Failed to invoke 'component_activated()' method due to transient exception.", tre);
    } catch (Throwable ex) {
        throw new RemoteException("Failed to invoke 'component_activated()' method.", ex);
    }
}
Also used : RemoteTimeoutException(com.cosylab.acs.maci.RemoteTimeoutException) Object(org.omg.CORBA.Object) ComponentInfo(com.cosylab.acs.maci.ComponentInfo) TIMEOUT(org.omg.CORBA.TIMEOUT) RemoteException(com.cosylab.acs.maci.RemoteException) TRANSIENT(org.omg.CORBA.TRANSIENT) RemoteTransientException(com.cosylab.acs.maci.RemoteTransientException)

Example 3 with TIMEOUT

use of org.omg.CORBA.TIMEOUT in project ACS by ACS-Community.

the class ClientProxy method components_available.

/**
	 * @see com.cosylab.acs.maci.Client#components_available(ComponentInfo[])
	 */
public void components_available(ComponentInfo[] cobs) throws RemoteException {
    try {
        // invalid info (replacement for null)
        final si.ijs.maci.ComponentInfo invalidInfo = new si.ijs.maci.ComponentInfo("<invalid>", "<invalid>", null, "<invalid>", new int[0], 0, "<invalid>", 0, 0, new String[0]);
        // transform to CORBA specific 
        si.ijs.maci.ComponentInfo[] infos = null;
        if (cobs != null) {
            infos = new si.ijs.maci.ComponentInfo[cobs.length];
            for (int i = 0; i < cobs.length; i++) if (cobs[i] == null)
                infos[i] = invalidInfo;
            else {
                Object obj = null;
                if (cobs[i].getComponent() != null)
                    obj = (Object) cobs[i].getComponent().getObject();
                String[] interfaces;
                if (cobs[i].getInterfaces() != null)
                    interfaces = cobs[i].getInterfaces();
                else
                    interfaces = new String[0];
                infos[i] = new si.ijs.maci.ComponentInfo(cobs[i].getType(), cobs[i].getCode(), obj, cobs[i].getName(), cobs[i].getClients().toArray(), cobs[i].getContainer(), cobs[i].getContainerName(), cobs[i].getHandle(), ManagerProxyImpl.mapAccessRights(cobs[i].getAccessRights()), interfaces);
            }
        } else
            infos = new si.ijs.maci.ComponentInfo[0];
        client.components_available(infos);
    } catch (TIMEOUT te) {
        throw new RemoteTimeoutException("Failed to invoke 'components_available()' method due to timeout.", te);
    } catch (TRANSIENT tre) {
        throw new RemoteTransientException("Failed to invoke 'components_available()' method due to transient exception.", tre);
    } catch (Throwable ex) {
        throw new RemoteException("Failed to invoke 'component_available()' method.", ex);
    }
}
Also used : RemoteTimeoutException(com.cosylab.acs.maci.RemoteTimeoutException) Object(org.omg.CORBA.Object) ComponentInfo(com.cosylab.acs.maci.ComponentInfo) TIMEOUT(org.omg.CORBA.TIMEOUT) RemoteException(com.cosylab.acs.maci.RemoteException) TRANSIENT(org.omg.CORBA.TRANSIENT) RemoteTransientException(com.cosylab.acs.maci.RemoteTransientException)

Example 4 with TIMEOUT

use of org.omg.CORBA.TIMEOUT in project ACS by ACS-Community.

the class ClientProxy method taggedmessage.

/**
	 * @see com.cosylab.acs.maci.Client#message(MessageType, String)
	 */
public void taggedmessage(MessageType type, short id, String message) throws RemoteException {
    try {
        short msgType;
        if (type == MessageType.MSG_ERROR)
            msgType = si.ijs.maci.Client.MSG_ERROR;
        else
            msgType = si.ijs.maci.Client.MSG_INFORMATION;
        client.taggedmessage(msgType, id, message);
    } catch (TIMEOUT te) {
        throw new RemoteTimeoutException("Failed to invoke 'tagged_message()' method due to timeout.", te);
    } catch (TRANSIENT tre) {
        throw new RemoteTransientException("Failed to invoke 'tagged_message()' method due to transient exception.", tre);
    } catch (Throwable ex) {
        throw new RemoteException("Failed to invoke 'tagged_message()' method.", ex);
    }
}
Also used : RemoteTimeoutException(com.cosylab.acs.maci.RemoteTimeoutException) TIMEOUT(org.omg.CORBA.TIMEOUT) RemoteException(com.cosylab.acs.maci.RemoteException) TRANSIENT(org.omg.CORBA.TRANSIENT) RemoteTransientException(com.cosylab.acs.maci.RemoteTransientException)

Example 5 with TIMEOUT

use of org.omg.CORBA.TIMEOUT in project ACS by ACS-Community.

the class AdministratorProxy method clientLoggedIn.

/**
	 * @see com.cosylab.acs.maci.Administrator#clientLoggedIn(ClientInfo, long, long)
	 */
public void clientLoggedIn(ClientInfo info, long timeStamp, long executionId) throws RemoteException {
    try {
        si.ijs.maci.ClientInfo clientInfo = null;
        if (info != null)
            clientInfo = new si.ijs.maci.ClientInfo(info.getHandle(), ((ClientProxy) (info.getClient())).getClient(), info.getComponents().toArray(), info.getName(), ManagerProxyImpl.mapAccessRights(info.getAccessRights()));
        administrator.client_logged_in(clientInfo, UTCUtility.utcJavaToOmg(timeStamp), executionId);
    } catch (TIMEOUT te) {
        throw new RemoteTimeoutException("Failed to invoke 'client_logged_in()' method due to timeout.", te);
    } catch (TRANSIENT tre) {
        throw new RemoteTransientException("Failed to invoke 'client_logged_in()' method due to transient exception.", tre);
    } catch (Throwable ex) {
        throw new RemoteException("Failed to invoke 'client_logged_in()' method.", ex);
    }
}
Also used : RemoteTimeoutException(com.cosylab.acs.maci.RemoteTimeoutException) ClientInfo(com.cosylab.acs.maci.ClientInfo) TIMEOUT(org.omg.CORBA.TIMEOUT) RemoteException(com.cosylab.acs.maci.RemoteException) TRANSIENT(org.omg.CORBA.TRANSIENT) RemoteTransientException(com.cosylab.acs.maci.RemoteTransientException)

Aggregations

TIMEOUT (org.omg.CORBA.TIMEOUT)8 RemoteException (com.cosylab.acs.maci.RemoteException)7 RemoteTimeoutException (com.cosylab.acs.maci.RemoteTimeoutException)6 RemoteTransientException (com.cosylab.acs.maci.RemoteTransientException)6 TRANSIENT (org.omg.CORBA.TRANSIENT)6 ComponentInfo (com.cosylab.acs.maci.ComponentInfo)3 Object (org.omg.CORBA.Object)2 AcsJCORBAReferenceNilEx (alma.ACSErrTypeCORBA.wrappers.AcsJCORBAReferenceNilEx)1 AcsJNarrowFailedEx (alma.ACSErrTypeCORBA.wrappers.AcsJNarrowFailedEx)1 AcsJCORBAProblemEx (alma.ACSErrTypeCommon.wrappers.AcsJCORBAProblemEx)1 AcsJContainerServicesEx (alma.JavaContainerError.wrappers.AcsJContainerServicesEx)1 AcsJException (alma.acs.exceptions.AcsJException)1 EventDescriptionHelper (alma.acsnc.EventDescriptionHelper)1 CannotActivateComponentEx (alma.maciErrType.CannotActivateComponentEx)1 AcsJCannotActivateComponentEx (alma.maciErrType.wrappers.AcsJCannotActivateComponentEx)1 ClientInfo (com.cosylab.acs.maci.ClientInfo)1 ContainerInfo (com.cosylab.acs.maci.ContainerInfo)1 IntArray (com.cosylab.acs.maci.IntArray)1 TimeoutRemoteException (com.cosylab.acs.maci.TimeoutRemoteException)1 NameAlreadyUsed (gov.sandia.NotifyMonitoringExt.NameAlreadyUsed)1