Search in sources :

Example 26 with Completion

use of alma.ACSErr.Completion in project ACS by ACS-Community.

the class AcsJExceptionTest method testJCompletion.

/**
	 * Creates Completion objects from scratch, from other completion objects,
     * with and without associated exception, and checks the values.
	 */
public void testJCompletion() {
    // a completion without associated exception
    AcsJCompletion jcompl1 = new ACSErrTestOKAcsJCompletion();
    assertEquals(ACSErrTypeTest.value, jcompl1.getType());
    assertEquals(ACSErrTestOK.value, jcompl1.getCode());
    assertFalse(jcompl1.isError());
    assertTrue(jcompl1.getTimeStamp() > 0);
    Completion corbacompl = jcompl1.toCorbaCompletion();
    assertEquals(ACSErrTypeTest.value, corbacompl.type);
    assertEquals(ACSErrTestOK.value, corbacompl.code);
    assertTrue(corbacompl.previousError.length == 0);
    assertEquals(UTCUtility.utcJavaToOmg(jcompl1.getTimeStamp()), corbacompl.timeStamp);
    long timeMillisBeforeExceptionCreation = System.currentTimeMillis();
    // completion with associated exception, 
    // trying to wrap the previous completion (which has no exception that could be wrapped)
    AcsJCompletion jcompl2 = new ACSErrTest1AcsJCompletion(jcompl1);
    assertTrue(jcompl2.isError());
    AcsJException acsjex2 = jcompl2.getAcsJException();
    assertTrue(acsjex2 instanceof AcsJACSErrTest1Ex);
    assertNull(acsjex2.getCause());
    // completion with associated exception, 
    // but this time trying to wrap the plain CORBA completion instead of its AcsJ-equivalent.
    AcsJCompletion jcompl2b = new ACSErrTest2AcsJCompletion(corbacompl);
    assertTrue(jcompl2b.isError());
    AcsJException acsjex2b = jcompl2b.getAcsJException();
    assertTrue(acsjex2b instanceof AcsJACSErrTest2Ex);
    assertNull(acsjex2b.getCause());
    // now wrapping a completion with exception with another completion with exception
    AcsJCompletion jcompl3 = new ACSErrTest3AcsJCompletion(jcompl2);
    assertTrue(jcompl3.isError());
    AcsJException acsjex3 = jcompl3.getAcsJException();
    assertTrue(acsjex3 instanceof AcsJACSErrTest3Ex);
    Throwable acsjex_cause = acsjex3.getCause();
    assertNotNull(acsjex_cause);
    Throwable acsjex_cause2 = acsjex_cause.getCause();
    assertNull(acsjex_cause2);
    Completion corbacomp3 = jcompl3.toCorbaCompletion();
    assertEquals(ACSErrTypeTest.value, corbacomp3.type);
    assertEquals(ACSErrTest3.value, corbacomp3.code);
    assertNotNull(corbacomp3.previousError);
    assertEquals(1, corbacomp3.previousError.length);
    ErrorTrace trace_3_1 = corbacomp3.previousError[0];
    assertNotNull(trace_3_1);
    ErrorTrace trace_3_0 = trace_3_1.previousError[0];
    assertNotNull(trace_3_0);
    assertEquals(0, trace_3_0.previousError.length);
    // check the various timestamps
    long timeMillisAfterExceptionCreation = System.currentTimeMillis();
    assertTrue(timeMillisBeforeExceptionCreation <= acsjex2.getTimestampMillis());
    assertTrue(timeMillisAfterExceptionCreation >= acsjex2.getTimestampMillis());
    assertTrue(timeMillisBeforeExceptionCreation <= acsjex2b.getTimestampMillis());
    assertTrue(timeMillisAfterExceptionCreation >= acsjex2b.getTimestampMillis());
    long corbacomp3_millis = UTCUtility.utcOmgToJava(corbacomp3.timeStamp);
    assertTrue(timeMillisBeforeExceptionCreation <= corbacomp3_millis);
    assertTrue(timeMillisAfterExceptionCreation >= corbacomp3_millis);
    long trace_3_0_millis = UTCUtility.utcOmgToJava(trace_3_0.timeStamp);
    assertTrue(timeMillisBeforeExceptionCreation <= trace_3_0_millis);
    assertTrue(timeMillisAfterExceptionCreation >= trace_3_0_millis);
}
Also used : ACSErrTest3AcsJCompletion(alma.ACSErrTypeTest.wrappers.ACSErrTest3AcsJCompletion) ACSErrTest2AcsJCompletion(alma.ACSErrTypeTest.wrappers.ACSErrTest2AcsJCompletion) ACSErrTestOKAcsJCompletion(alma.ACSErrTypeTest.wrappers.ACSErrTestOKAcsJCompletion) ACSErrTest1AcsJCompletion(alma.ACSErrTypeTest.wrappers.ACSErrTest1AcsJCompletion) ACSErrTest3AcsJCompletion(alma.ACSErrTypeTest.wrappers.ACSErrTest3AcsJCompletion) ErrorTrace(alma.ACSErr.ErrorTrace) ACSErrTest2AcsJCompletion(alma.ACSErrTypeTest.wrappers.ACSErrTest2AcsJCompletion) ACSErrTestOKAcsJCompletion(alma.ACSErrTypeTest.wrappers.ACSErrTestOKAcsJCompletion) ACSErrTest1AcsJCompletion(alma.ACSErrTypeTest.wrappers.ACSErrTest1AcsJCompletion) ACSErrTest2AcsJCompletion(alma.ACSErrTypeTest.wrappers.ACSErrTest2AcsJCompletion) ACSErrTestOKAcsJCompletion(alma.ACSErrTypeTest.wrappers.ACSErrTestOKAcsJCompletion) ACSErrTest1AcsJCompletion(alma.ACSErrTypeTest.wrappers.ACSErrTest1AcsJCompletion) Completion(alma.ACSErr.Completion) ACSErrTest3AcsJCompletion(alma.ACSErrTypeTest.wrappers.ACSErrTest3AcsJCompletion) AcsJACSErrTest1Ex(alma.ACSErrTypeTest.wrappers.AcsJACSErrTest1Ex) AcsJACSErrTest3Ex(alma.ACSErrTypeTest.wrappers.AcsJACSErrTest3Ex) AcsJACSErrTest2Ex(alma.ACSErrTypeTest.wrappers.AcsJACSErrTest2Ex)

Example 27 with Completion

use of alma.ACSErr.Completion in project ACS by ACS-Community.

the class CommonMonitorImpl method retrieveValueAndDispatch.

/**
	 * Retrieve property value via cached <code>mnemonicValue</code>
	 * and add response to <code>BACIDispatchAction<code>. 
	 */
protected void retrieveValueAndDispatch(long keyTime, boolean done) {
    // create new holder (done expeditiously)
    CompletionHolder completionHolder = CompletionUtil.createCompletionHolder();
    // retrieve value
    Object value = property.mnemonicValue(keyTime, completionHolder);
    // TODO make a copy of completion
    Completion completion = CompletionUtil.cloneCompletion(completionHolder.value);
    // fix time...
    completion.timeStamp = UTCUtility.utcJavaToOmg(keyTime);
    // ... and dispatch
    if (!done)
        dispatchAction.dispatchWorkingRequest(completion, value);
    else
        dispatchAction.dispatchDoneRequest(completion, value);
// TODO remove
//System.out.println("Dispatched monitor (" + done + "): " + new java.util.Date(keyTime));
}
Also used : Completion(alma.ACSErr.Completion) CompletionHolder(alma.ACSErr.CompletionHolder)

Aggregations

Completion (alma.ACSErr.Completion)27 MyAcsJCompletion (alma.acs.callbacks.Objects.MyAcsJCompletion)14 CBDescOut (alma.ACS.CBDescOut)13 CBDescIn (alma.ACS.CBDescIn)7 Callback (alma.ACS.Callback)6 BACIDispatchAction (alma.ACS.jbaci.BACIDispatchAction)6 ErrorTrace (alma.ACSErr.ErrorTrace)2 AcsJCompletion (alma.acs.exceptions.AcsJCompletion)2 AcsJException (alma.acs.exceptions.AcsJException)2 CBlongPOA (alma.ACS.CBlongPOA)1 CompletionHolder (alma.ACSErr.CompletionHolder)1 NameValue (alma.ACSErr.NameValue)1 ACSErrTest1AcsJCompletion (alma.ACSErrTypeTest.wrappers.ACSErrTest1AcsJCompletion)1 ACSErrTest2AcsJCompletion (alma.ACSErrTypeTest.wrappers.ACSErrTest2AcsJCompletion)1 ACSErrTest3AcsJCompletion (alma.ACSErrTypeTest.wrappers.ACSErrTest3AcsJCompletion)1 ACSErrTestOKAcsJCompletion (alma.ACSErrTypeTest.wrappers.ACSErrTestOKAcsJCompletion)1 AcsJACSErrTest1Ex (alma.ACSErrTypeTest.wrappers.AcsJACSErrTest1Ex)1 AcsJACSErrTest2Ex (alma.ACSErrTypeTest.wrappers.AcsJACSErrTest2Ex)1 AcsJACSErrTest3Ex (alma.ACSErrTypeTest.wrappers.AcsJACSErrTest3Ex)1 MyAcsJException (alma.acs.callbacks.Objects.MyAcsJException)1