Additional method to RTPManager

Since RTPManager is an abstract class, I got the source code and added 1 more abstract method:
abstract public RTPConnector getRTPConnector ();
Since RTPSessionMgr is the actual implementation of RTPManager, but I don't have source code. I decompile it from jmf.jar, patched it up, then add:
public RTPConnector getRTPConnector () { return rtpConnector; }
All compiled just fine. I unjar jmf.jar and replace RTPManager.class and RTPSessionMgr.class, and jar it back to jmf.jar. However when I call rtpMgr.getRTPConnector(), I get a method not found exception like the old RTPSessionMgr is till in jmf.jar. I put on debug and sure enough, it's the good old RTPSessionMgr. Where do you think it comes from?

Check your classpath settings to make sure that your new jar file is listed earlier than the standard JMF jar files
you can also check which files/classes are loaded by running your app with the -verbose option
java -verbose -jar myJarFile.jar

Similar Messages

  • Additional methods in hibernate entity

    I added couple of additional methods in my entity pojo , just to avoid repeating same code everywhere ,like
         public void removeProperty(PropertyVariable  propertyVariable){
              WFProperty wfProperty= getWfProperties().get(propertyVariable);
              if(wfProperty!=null){
                   getWfProperties().remove(propertyVariable);
         }this pojo has Map WFProperties i added this additonal method to avoid the same check in several places , I want to know the if its not good practice writing such helper methods inside the bean ? ,

    public void removeProperty(PropertyVariable propertyVariable){
       WFProperty wfProperty= getWfProperties().get(propertyVariable);
       if(wfProperty!=null){
          getWfProperties().remove(propertyVariable);
    }please suggest me if it is advisable to add some simple utility methods in pojo or beans , what is hibernate entity considered as pojo or a bean ?

  • More information about additional human workflow task methods needed

    The typical human workflow task only uses the initiate method of the Task service, although there are many methods available. I would like to have my BPEL process reinitiate or renew a task if not completed properly or not approved by a separate task outcome, but am running into difficulties getting it working properly.
    Where can I get more information on how to use the additional methods, or specifically how to re-assign a task that was already completed to the same user to re-complete?

    Here is the error in the BPEL domain log file. To reproduce this, I initially had 2 separate tasks. I then changed the second one to call reinitiateTask instead of initiateTask, and changed all variables and paths appropriately. I changed the second tasks Assign activities to perform a copy operation of the first task results global variable into the reinitiateTask local variable, then copied the URI path to the second task file so it would force it to use the second task metadata, then copied over the title so the task would display appropriately for the manager, and this is what resulted:
    <2007-07-10 09:13:41,953> <ERROR> <default.collaxa.cube.services> <::> ORABPEL-10206
    <2007-07-10 09:13:41,953> <ERROR> <default.collaxa.cube.services> <::>
    <2007-07-10 09:13:41,953> <ERROR> <default.collaxa.cube.services> <::> Error in retrieving task metadata.
    <2007-07-10 09:13:41,953> <ERROR> <default.collaxa.cube.services> <::> Error in retrieving task metadata because the task is stale.
    <2007-07-10 09:13:41,953> <ERROR> <default.collaxa.cube.services> <::> Only non-stale tasks can by looked up.
    <2007-07-10 09:13:41,953> <ERROR> <default.collaxa.cube.services> <::>
    <2007-07-10 09:13:41,953> <ERROR> <default.collaxa.cube.services> <::>      at oracle.bpel.services.workflow.repos.driver.oracle.OracleWFRoutingSlip.updateRoutingSlip(OracleWFRoutingSlip.java:205)
    <2007-07-10 09:13:41,953> <ERROR> <default.collaxa.cube.services> <::>      at oracle.bpel.services.workflow.repos.driver.PersistencyService.updateRoutingSlip(PersistencyService.java:250)
    <2007-07-10 09:13:41,953> <ERROR> <default.collaxa.cube.services> <::>      at oracle.bpel.services.workflow.task.impl.TaskService.performPostActionOperation(TaskService.java:3324)
    <2007-07-10 09:13:41,953> <ERROR> <default.collaxa.cube.services> <::>      at oracle.bpel.services.workflow.task.impl.TaskService.localHandleRoutingSlipInterpretationResult(TaskService.java:1239)
    <2007-07-10 09:13:41,953> <ERROR> <default.collaxa.cube.services> <::>      at oracle.bpel.services.workflow.task.impl.TaskService.handleRoutingSlipInterpretationResult(TaskService.java:1278)
    <2007-07-10 09:13:41,953> <ERROR> <default.collaxa.cube.services> <::>      at oracle.bpel.services.workflow.task.impl.TaskService.initiateTask(TaskService.java:315)
    <2007-07-10 09:13:41,953> <ERROR> <default.collaxa.cube.services> <::>      at oracle.bpel.services.workflow.task.impl.TaskService.reinitiateTask(TaskService.java:211)
    <2007-07-10 09:13:41,953> <ERROR> <default.collaxa.cube.services> <::>      at oracle.bpel.services.workflow.task.ejb.TaskServiceBean.reinitiateTask(TaskServiceBean.java:55)
    <2007-07-10 09:13:41,953> <ERROR> <default.collaxa.cube.services> <::>      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    <2007-07-10 09:13:41,953> <ERROR> <default.collaxa.cube.services> <::>      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    <2007-07-10 09:13:41,953> <ERROR> <default.collaxa.cube.services> <::>      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    <2007-07-10 09:13:41,953> <ERROR> <default.collaxa.cube.services> <::>      at java.lang.reflect.Method.invoke(Method.java:585)
    <2007-07-10 09:13:41,953> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
    <2007-07-10 09:13:41,953> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    <2007-07-10 09:13:41,953> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
    <2007-07-10 09:13:41,953> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    <2007-07-10 09:13:41,953> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ejb.interceptor.system.JAASInterceptor$1.run(JAASInterceptor.java:31)
    <2007-07-10 09:13:41,953> <ERROR> <default.collaxa.cube.services> <::>      at java.security.AccessController.doPrivileged(Native Method)
    <2007-07-10 09:13:41,953> <ERROR> <default.collaxa.cube.services> <::>      at javax.security.auth.Subject.doAs(Subject.java:396)
    <2007-07-10 09:13:41,953> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ThreadState.runAs(ThreadState.java:622)
    <2007-07-10 09:13:41,953> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ejb.interceptor.system.JAASInterceptor.invoke(JAASInterceptor.java:34)
    <2007-07-10 09:13:41,953> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ejb.interceptor.system.TxRequiresNewInterceptor.invoke(TxRequiresNewInterceptor.java:52)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(StatelessSessionEJBObject.java:87)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at TaskServiceBean_LocalProxy_68d4144.reinitiateTask(Unknown Source)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at oracle.bpel.services.workflow.task.client.TaskServiceLocalClient.reinitiateTask(TaskServiceLocalClient.java:75)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at oracle.bpel.services.workflow.task.impl.TaskServiceWSIF.reinitiateTask(TaskServiceWSIF.java:114)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at java.lang.reflect.Method.invoke(Method.java:585)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at com.collaxa.cube.ws.wsif.providers.java.WSIFOperation_Java.executeRequestResponseOperation(WSIFOperation_Java.java:1019)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at com.collaxa.cube.ws.WSIFInvocationHandler.invoke(WSIFInvocationHandler.java:431)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at com.collaxa.cube.ws.WSInvocationManager.invoke2(WSInvocationManager.java:416)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at com.collaxa.cube.ws.WSInvocationManager.invoke(WSInvocationManager.java:222)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at com.collaxa.cube.engine.ext.wmp.BPELInvokeWMP.__invoke(BPELInvokeWMP.java:736)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at com.collaxa.cube.engine.ext.wmp.BPELInvokeWMP.__executeStatements(BPELInvokeWMP.java:371)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at com.collaxa.cube.engine.ext.wmp.BPELActivityWMP.perform(BPELActivityWMP.java:195)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at com.collaxa.cube.engine.CubeEngine.performActivity(CubeEngine.java:3271)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at com.collaxa.cube.engine.CubeEngine.handleWorkItem(CubeEngine.java:1697)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at com.collaxa.cube.engine.dispatch.message.instance.PerformMessageHandler.handleLocal(PerformMessageHandler.java:75)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at com.collaxa.cube.engine.dispatch.DispatchHelper.handleLocalMessage(DispatchHelper.java:184)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at com.collaxa.cube.engine.dispatch.DispatchHelper.sendMemory(DispatchHelper.java:269)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:5244)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at com.collaxa.cube.engine.CubeEngine.callbackPerformer(CubeEngine.java:1917)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at com.collaxa.cube.engine.delivery.DeliveryHelper.callbackPerformer(DeliveryHelper.java:788)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at com.collaxa.cube.engine.delivery.DeliveryService.handleCallback(DeliveryService.java:778)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at com.collaxa.cube.engine.ejb.impl.CubeDeliveryBean.handleCallback(CubeDeliveryBean.java:369)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at sun.reflect.GeneratedMethodAccessor138.invoke(Unknown Source)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at java.lang.reflect.Method.invoke(Method.java:585)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ejb.interceptor.system.JAASInterceptor$1.run(JAASInterceptor.java:31)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at java.security.AccessController.doPrivileged(Native Method)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at javax.security.auth.Subject.doAs(Subject.java:396)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ThreadState.runAs(ThreadState.java:622)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ejb.interceptor.system.JAASInterceptor.invoke(JAASInterceptor.java:34)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ejb.interceptor.system.TxRequiredInterceptor.invoke(TxRequiredInterceptor.java:50)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(StatelessSessionEJBObject.java:87)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at CubeDeliveryBean_LocalProxy_4bin6i8.handleCallback(Unknown Source)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at com.collaxa.cube.engine.dispatch.message.instance.CallbackDeliveryMessageHandler.handle(CallbackDeliveryMessageHandler.java:49)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:138)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at com.collaxa.cube.engine.dispatch.BaseScheduledWorker.process(BaseScheduledWorker.java:70)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at com.collaxa.cube.engine.ejb.impl.WorkerBean.onMessage(WorkerBean.java:86)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at sun.reflect.GeneratedMethodAccessor50.invoke(Unknown Source)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at java.lang.reflect.Method.invoke(Method.java:585)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ejb.interceptor.system.SetContextActionInterceptor.invoke(SetContextActionInterceptor.java:44)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at oracle.j2ee.connector.messageinflow.MessageEndpointImpl.OC4J_invokeMethod(MessageEndpointImpl.java:297)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at WorkerBean_EndPointProxy_4bin6i8.onMessage(Unknown Source)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at oracle.j2ee.ra.jms.generic.WorkConsumer.run(WorkConsumer.java:266)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at oracle.j2ee.connector.work.WorkWrapper.runTargetWork(WorkWrapper.java:242)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at oracle.j2ee.connector.work.WorkWrapper.doWork(WorkWrapper.java:215)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at oracle.j2ee.connector.work.WorkWrapper.run(WorkWrapper.java:190)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:814)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at java.lang.Thread.run(Thread.java:595)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::> Caused by: java.sql.SQLException: ORA-20005: Task is modified
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::> ORA-06512: at "ORABPEL.WFTASKPKG", line 92
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::> ORA-20005:
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::> ORA-06512: at line 1
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:138)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:316)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:282)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:639)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at oracle.jdbc.driver.T4CCallableStatement.doOall8(T4CCallableStatement.java:184)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at oracle.jdbc.driver.T4CCallableStatement.execute_for_rows(T4CCallableStatement.java:873)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1161)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3001)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3093)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at oracle.jdbc.driver.OracleCallableStatement.execute(OracleCallableStatement.java:4286)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at oracle.oc4j.sql.proxy.PreparedStatementBCELProxy.execute(PreparedStatementBCELProxy.java:333)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at oracle.bpel.services.workflow.repos.driver.oracle.OracleWFRoutingSlip.updateRoutingSlip(OracleWFRoutingSlip.java:175)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      ... 93 more
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::> ORABPEL-10206
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::> Error in retrieving task metadata.
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::> Error in retrieving task metadata because the task is stale.
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::> Only non-stale tasks can by looked up.
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at oracle.bpel.services.workflow.repos.driver.oracle.OracleWFRoutingSlip.updateRoutingSlip(OracleWFRoutingSlip.java:205)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at oracle.bpel.services.workflow.repos.driver.PersistencyService.updateRoutingSlip(PersistencyService.java:250)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at oracle.bpel.services.workflow.task.impl.TaskService.performPostActionOperation(TaskService.java:3324)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at oracle.bpel.services.workflow.task.impl.TaskService.localHandleRoutingSlipInterpretationResult(TaskService.java:1239)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at oracle.bpel.services.workflow.task.impl.TaskService.handleRoutingSlipInterpretationResult(TaskService.java:1278)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at oracle.bpel.services.workflow.task.impl.TaskService.initiateTask(TaskService.java:315)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at oracle.bpel.services.workflow.task.impl.TaskService.reinitiateTask(TaskService.java:211)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at oracle.bpel.services.workflow.task.ejb.TaskServiceBean.reinitiateTask(TaskServiceBean.java:55)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at java.lang.reflect.Method.invoke(Method.java:585)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    <2007-07-10 09:13:41,968> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ejb.interceptor.system.JAASInterceptor$1.run(JAASInterceptor.java:31)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at java.security.AccessController.doPrivileged(Native Method)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at javax.security.auth.Subject.doAs(Subject.java:396)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ThreadState.runAs(ThreadState.java:622)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ejb.interceptor.system.JAASInterceptor.invoke(JAASInterceptor.java:34)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ejb.interceptor.system.TxRequiresNewInterceptor.invoke(TxRequiresNewInterceptor.java:52)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(StatelessSessionEJBObject.java:87)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at TaskServiceBean_LocalProxy_68d4144.reinitiateTask(Unknown Source)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at oracle.bpel.services.workflow.task.client.TaskServiceLocalClient.reinitiateTask(TaskServiceLocalClient.java:75)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at oracle.bpel.services.workflow.task.impl.TaskServiceWSIF.reinitiateTask(TaskServiceWSIF.java:114)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at java.lang.reflect.Method.invoke(Method.java:585)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at com.collaxa.cube.ws.wsif.providers.java.WSIFOperation_Java.executeRequestResponseOperation(WSIFOperation_Java.java:1019)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at com.collaxa.cube.ws.WSIFInvocationHandler.invoke(WSIFInvocationHandler.java:431)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at com.collaxa.cube.ws.WSInvocationManager.invoke2(WSInvocationManager.java:416)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at com.collaxa.cube.ws.WSInvocationManager.invoke(WSInvocationManager.java:222)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at com.collaxa.cube.engine.ext.wmp.BPELInvokeWMP.__invoke(BPELInvokeWMP.java:736)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at com.collaxa.cube.engine.ext.wmp.BPELInvokeWMP.__executeStatements(BPELInvokeWMP.java:371)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at com.collaxa.cube.engine.ext.wmp.BPELActivityWMP.perform(BPELActivityWMP.java:195)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at com.collaxa.cube.engine.CubeEngine.performActivity(CubeEngine.java:3271)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at com.collaxa.cube.engine.CubeEngine.handleWorkItem(CubeEngine.java:1697)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at com.collaxa.cube.engine.dispatch.message.instance.PerformMessageHandler.handleLocal(PerformMessageHandler.java:75)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at com.collaxa.cube.engine.dispatch.DispatchHelper.handleLocalMessage(DispatchHelper.java:184)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at com.collaxa.cube.engine.dispatch.DispatchHelper.sendMemory(DispatchHelper.java:269)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:5244)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at com.collaxa.cube.engine.CubeEngine.callbackPerformer(CubeEngine.java:1917)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at com.collaxa.cube.engine.delivery.DeliveryHelper.callbackPerformer(DeliveryHelper.java:788)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at com.collaxa.cube.engine.delivery.DeliveryService.handleCallback(DeliveryService.java:778)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at com.collaxa.cube.engine.ejb.impl.CubeDeliveryBean.handleCallback(CubeDeliveryBean.java:369)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at sun.reflect.GeneratedMethodAccessor138.invoke(Unknown Source)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at java.lang.reflect.Method.invoke(Method.java:585)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ejb.interceptor.system.JAASInterceptor$1.run(JAASInterceptor.java:31)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at java.security.AccessController.doPrivileged(Native Method)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at javax.security.auth.Subject.doAs(Subject.java:396)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ThreadState.runAs(ThreadState.java:622)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ejb.interceptor.system.JAASInterceptor.invoke(JAASInterceptor.java:34)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ejb.interceptor.system.TxRequiredInterceptor.invoke(TxRequiredInterceptor.java:50)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(StatelessSessionEJBObject.java:87)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at CubeDeliveryBean_LocalProxy_4bin6i8.handleCallback(Unknown Source)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at com.collaxa.cube.engine.dispatch.message.instance.CallbackDeliveryMessageHandler.handle(CallbackDeliveryMessageHandler.java:49)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:138)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at com.collaxa.cube.engine.dispatch.BaseScheduledWorker.process(BaseScheduledWorker.java:70)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at com.collaxa.cube.engine.ejb.impl.WorkerBean.onMessage(WorkerBean.java:86)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at sun.reflect.GeneratedMethodAccessor50.invoke(Unknown Source)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at java.lang.reflect.Method.invoke(Method.java:585)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ejb.interceptor.system.SetContextActionInterceptor.invoke(SetContextActionInterceptor.java:44)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at oracle.j2ee.connector.messageinflow.MessageEndpointImpl.OC4J_invokeMethod(MessageEndpointImpl.java:297)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at WorkerBean_EndPointProxy_4bin6i8.onMessage(Unknown Source)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at oracle.j2ee.ra.jms.generic.WorkConsumer.run(WorkConsumer.java:266)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at oracle.j2ee.connector.work.WorkWrapper.runTargetWork(WorkWrapper.java:242)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at oracle.j2ee.connector.work.WorkWrapper.doWork(WorkWrapper.java:215)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at oracle.j2ee.connector.work.WorkWrapper.run(WorkWrapper.java:190)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:814)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at java.lang.Thread.run(Thread.java:595)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::> Caused by: java.sql.SQLException: ORA-20005: Task is modified
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::> ORA-06512: at "ORABPEL.WFTASKPKG", line 92
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::> ORA-20005:
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::> ORA-06512: at line 1
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:138)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:316)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:282)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:639)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at oracle.jdbc.driver.T4CCallableStatement.doOall8(T4CCallableStatement.java:184)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at oracle.jdbc.driver.T4CCallableStatement.execute_for_rows(T4CCallableStatement.java:873)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1161)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3001)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3093)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at oracle.jdbc.driver.OracleCallableStatement.execute(OracleCallableStatement.java:4286)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at oracle.oc4j.sql.proxy.PreparedStatementBCELProxy.execute(PreparedStatementBCELProxy.java:333)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      at oracle.bpel.services.workflow.repos.driver.oracle.OracleWFRoutingSlip.updateRoutingSlip(OracleWFRoutingSlip.java:175)
    <2007-07-10 09:13:41,984> <ERROR> <default.collaxa.cube.services> <::>      ... 93 more

  • Accessing method in an inner class

    I have a class, which has an Inner Class, which is an extension of AbstractTableModel. The extended TableModel class has a new method, so it looks something like this;
    public class TheOuterClass
        JTable aTable
        TableModel theTableModel
        public initTable
             theTableModel = new MyTableModel();
         public TableModel getModel()
             return theTableModel;
         private class MyTableModel extends AbstractTableModel
                public void myTableModelMethod()
    }So, the idea here is that I have a class that has a table referenced by 'aTable', which uses MyTableModel as the class for it's table model. I have only implemented the basics here. The class also has a method called getModel(), so from a reference to 'TheOuterClass', I can access the table model.
    Now, say I have a reference to TheOuterClass called toc, and I want to access my new method in the table model;
    toc.getModel().myTableModelMethod()The above won't work, because getModel() returns a type of TableModel.
    My question then is how do I cast this to the correct type, so I can access the method 'myTableMethod()'?
    Is for example, the following a legal possibility, because I cannot seem to make it work;
    (toc.getModel().getClass())(toc.getModel()).myTableMethod();The quick fix, I guess is to correct getModel in TheOuterClass, so it returns the correct type, but I am hoping to not do this. (This is part of a larger piece of code obviously, and TheOuterClass is in reality a bean, and I don't wnat to disturb anymore than I have to).
    Any suggestions / ideas would be gratefully appreciated

    You are of course both correct, the class is private, should have spotted that! Doh. Also correct in that this is 'not the most elegant design', but you know the way it is you have to work with what you are given.
    So, I changed the class to public....
    What I had hoped is that the following would work
    ((toc.getModel().getClass())(toc.getModel())).myTableMethod()get a reference to the table model
    (toc.getModel())cast it to the correct type (not sure if this is a valid way to cast??)
    ((toc.getModel().getClass())(toc.getModel()))then call the method.
    This does not compile, it complains about a missing ')', and I'm sure they are all there. My question here then is, Is this a valid way to cast, now that the inner class is public?
    As to why I want to do this, then some explanation is required;
    The table model holds a Vector with all the data in it, some which is not actually in the table (it was originally written this way). My additional method myTableMethod() is intended to help access the data that is not shown in the table.
    Coming back to kajbj's point of creating an interface, I presume what is being suggested is that I create a public interface with the myTableMethod() in it, and make myTableModel implement this interface. Since the interface is public, then I can cast to that. Is this what you meant?
    Thanks for your help so far

  • How to get caller object reference from a method

    Hi,
    I am working a already existing Java Swing project, now I got a problem, in a method I need to get the caller object reference otherwise, I can't succeed this operation. So please tell me a way how to get the caller object reference from a method. that method would be static or regular method anything will do for me.
    Edited by: navaneeth.j on Jan 29, 2010 11:20 PM

    navaneeth.j wrote:
    Actually my doubt is, I have a method "addition" method, which is using by many classes so my requirement is in the addition method I want to write a code snippet which will identify and get the the caller object. Actually I tried Reflection.getcallerclass but there I am getting "CLASS" object not the actual object reference, but I want object reference.
    Actually we have a huge project which is writen plain JAVA, so in this project the authors written the Database connection package for single database transaction. so now we are using this project source code for JSF application in this web application the DB package has serve based on the dynamic db connection parameters, so if we want to change this package fully means need to solve the dependency problem in hundreds of classes, so my point is if I can access the caller object in the DB package when ever it gets called by any class from any where of the project. So actually I liked Reflection.getcallerclass, the way of implementation perfectly works for me but it is not giving caller object reference, if something gives the caller object then I can get the DB connection parameters then there is no need to pass the parameters in the hierarchy.You can add a parameter (of type Object) to your addition() method
    and everywhere you call the addition() method also pass this (which from the POW of the addition() method will be a reference to the calling class instance).
    There may be alternative solutions
    but none that require less effort.

  • 'Best practice' - separating packages, classes, methods.

    I'm writing a few tools for handling classical propositional logic sentences.
    I currently have a parser (using JavaCC)
    Various reasoning methods (e.g. finding whether sentences are satisfiable or a contradition, whether two sentences are equivalent, converting to conjunctive/disjunctive normal form etc.)
    I can export/import sentences to/from XML
    I'm now coming to a tidying up stage. I'm using Eclipse 3.3 and within the project have 4 packages: logic, parser, xml, testing.
    The tree data structures are created using the JavaCC parser - because I want to leave the JavaCC generated code alone as much as possible I've created a 'LogicOperations' class containing the methods.
    I also have an 'Interpretation' class that holds a TRUE/FALSE value for each atom, e.g. if storing an example where a sentence is satisfiable (= evaluates to true).
    Most of the methods that take an Interpretation as an argument are held inside the 'LogicOperations' class too currently.
    So in a test class I might have
    LogicParser parser = new LogicParser(new StringReader("a | (b & c) => !d"));
    SimpleNode root = parser.query();
    //displays the above String in it's tree form
    root.dump();
    // List atoms in sentence
    System.out.println(Arrays.toString(LogicOperations.identifyAtoms(root)));
    // Show models (interpretations where sentence is TRUE)
    LogicOperations.printInterpretations(LogicOperations.models(root));
    // is the sentence satisfiable?
    System.out.println("Satisfiable: " + LogicOperations.isSatisfiable(root));
    // is the sentence a contradiction?
    System.out.println("Contradiction: " + LogicOperations.isContradiction(root));
    // Is the sentence consistent (a tautology)
    System.out.println("Consistent: " + LogicOperations.isConsistent(root));
    System.out.println("CNF: " + LogicOperations.printCNF(root));
    System.out.println("DNF: " + LogicOperations.printDNF(root));Question is - does separating out methods, classes and packages in this way seem the 'correct' way of doing things? It works, which is nice... but is it sloppy, lazy, bad practice, you name it...
    If any example code is worth seeing let me know, but I'm mainly after advice before I go about tidying the code up.
    Thanks in advance
    Duncan

    eknight wrote:
    My intuition would be to be able to call:
    root.isSatisfiable()Instead of having to go through a helper Method. The Functionality could still remain in LogicOperations, but I would encapsulate it all in the SimpleNode Class.
    - Just MHOThe SimpleNode class is one of a number of classes generated by JavaCC. My thinking was that if there are any modifications to the grammar then SimpleNode would be regenerated and the additional methods would need to be added back in, whereas if they're in a separate class it would mean I wouldn't have to worry about it. In the same vein, I have the eval() method separate from SimpleNode, and most other methods rely on it for their output.
    public static Boolean eval(SimpleNode root, Interpretation inter) {
         Boolean val = null;
         SimpleNode left = null;
         SimpleNode right = null;
         switch (root.jjtGetNumChildren()) {
         case 1:
              left = root.jjtGetChild(0);
              right = null;
              break;
         case 2:
              left = root.jjtGetChild(0);
              right = root.jjtGetChild(1);
              break;
         default:
              break;
         switch (root.getID()) {
         case LogicParserTreeConstants.JJTROOT:
              val = eval(left, inter);
              break;
         case LogicParserTreeConstants.JJTVOID:
              val = null;
              break;
         case LogicParserTreeConstants.JJTCOIMP:
              val = (eval(left, inter) == eval(right, inter));
              break;
         case LogicParserTreeConstants.JJTIMP:
              val = (!eval(left, inter) || eval(right, inter));
              break;
         case LogicParserTreeConstants.JJTOR:
              val = (eval(left, inter) || eval(right, inter));
              break;
         case LogicParserTreeConstants.JJTAND:
              val = (eval(left, inter) && eval(right, inter));
              break;
         case LogicParserTreeConstants.JJTNOT:
              val = !eval(left, inter);
              break;
         case LogicParserTreeConstants.JJTATOM:
              val = inter.get(root.getLabel());
              break;
         case LogicParserTreeConstants.JJTCONSTFALSE:
              val = false;
              break;
         case LogicParserTreeConstants.JJTCONSTTRUE:
              val = true;
              break;
         default:
              val = null;
              break;
         return val;
    }

  • Method signature (Chapter : Abstract class and Polymorphism)

    Hi all,
    I found some quaint thing about signature method. It's said: "A child class may define additional methods with signatures different from the parent's method." but
    "It is an error if a child defines a method with the same signature as a parent method, but with a different return type."
    The thing is: return type is not belong to method's signature !!!
    Can someone explain this point?
    Thanks and have a nice day ( 11:00 am in Germany)
    H.A

    "It is an error if a child defines a method with the
    same signature as a parent method, but with a
    different return type."
    The thing is: return type is not belong to method's
    signature !!!
    Can someone explain this point?Yes.
    Even though return type isn't part of the "signature" (as the JLS defines "signature"), the JLS requires that child methods with the same signature as parent classes have the same return type.
    Think about it for a minute: Return type isn't part of the signature, but it is part of the contract. If Parent has public Whatsit foo() then it's promising that every instance of Parent, AND every instance of any Child that is a subclass of Parent (since a Child also IS A Parent), will have that method, and callers of that method will receive a Whatsit as a return value.
    If I try to override it in Child with public Doobley foo() then a call might try to do this: Parent parent = factory.createParent(); // happens to return a Child, which is allowed, because a Child is a Parent
    Whatsit w = parent.foo(); // OH NO! We got bad a Doobley instead of a Watsit! See the problem?
    Now, it turns out that 1.5 adds covariant return types, which allows a child method to return a subtype of what the parent returns. So the above would work IFF Doobley is a subclass or subinterface of Whatsis, or is a class that implements Whatsis. This works because the child is still keeping the parent's contract. He's just actually promising a bit more than what the parent promises.

  • Addition In Calculator Application

    Hi everyone,
    I've got a bit of a problem. I'm busy working on a calculator that will be used in DOS. Eventually it will include the arithmetic operations as well as 5 scientific operations and convert to octal and hexadecimal. I�ve included my code below, it compiles perfectly but now I need to know how to get it to accept numbers that can be stored in an array so that it can for instance add them but then return to the menu to accept the next calculation.
    Thanks for any help you may have.
    Patrick.
    import java.io.*;
    import java.util.Date;
    import java.text.SimpleDateFormat;
    class Calc {
         Calc(String username){
              Date today = new Date();
              SimpleDateFormat time = new SimpleDateFormat("E MMM d yyyy");
              String time2 = time.format(today);
              System.out.println("Welcome " + username + " todays date is " + time2);
              menu();     
         String getInput() {
              String temp = "";
              try {           
                   BufferedReader buff = new BufferedReader(new InputStreamReader(System.in));
                   temp = buff.readLine();
                          } catch (Exception e) {
                             System.out.println("Caught Exception: " + e);
              return temp;
         void menu() {
              String temp = "";
                 do{
                   System.out.println("\nTo add use +");
                   System.out.println("To subtract use -");
                   System.out.println("To divide use /");
                   System.out.println("To multiply use M");
                   temp = getInput();
                   if (temp.equals("+") ) {
                        System.out.println("Please enter the numbers you want to add");
                        addition();
              } while (temp.compareToIgnoreCase("exit") != 0);     
         void addition() {
              System.out.println("This is the addition method");
         public static void main(String[] args) {
              if (args.length == 0) {
                   System.out.println("Please enter your name and surname at the command prompt...");
                   System.exit(0);
              } else {
                   Calc Pro = new Calc(args[0]);
    }

    Can't you do something like this:
    try
         int ch;
         while ((ch = System.in.read ()) != '\n')
             // do something here
              System.out.print ((char) ch);
    catch (Exception e)
         System.out.println(e);
    }

  • Optional methods in interface

    The java tutorial for collections says these some methods in the List interface are optional
        Object set(int index, Object element);            // Optional
        void add(int index, Object element);              // Optional
        Object remove(int index);                         // Optional
        abstract boolean addAll(int index, Collection c); // Optionalhttp://java.sun.com/docs/books/tutorial/collections/interfaces/list.html
    How can they be optional? Do you have to implement them and throw and UnsupportedException or something? This seems against the point of having an interface in the first place. If I use a class that imnplements an interface, shouldn't it be gauranteed that all the methods are implmented?
    Thanks a lot for any help/comments...
    Ryan Harris

    You have to implement the methods, so I guess you
    would just throw an UnsupportedException if you decide
    this should not be supported.This is, of course, completley against the grain of OO design.
    The interface should have been extended to incorporate the additional methods, and the implementations should derrive from the desired interface.
    By having methods in an interface which 'aren't supported', the client of the interface then has a dependency on the implementation (I.e, it needs to know whether the implementation it is using supports the methods it is trying to use or not).
    'Data Structures and Algorithms In Java' (Goodrich) contains collections which handle this type of thing in a much more OO way (I.e, extending the interfaces)

  • Constructor VS Set Methods...

    hello people,
    I tried to create a 100000 OBJECTS & found that the creation of the Object i.e., Passing parameters to the constructors takes longer time compared to creating the Object with a default constructor & calling the Set Methods to set the member variables....
    can anyone tell me why ???
    regards,
    gautam.

    Probably, because you've got an additional method call in the latter case, but I seriously doubt that that's a likely source of performance problems, there are usually other troubles that have a much larger effect on performance (DB access, file access, network access are my usual suspects).

  • What is the best way to fix broken vis when the type library of the active x server changes (methods or properties addes)?

    Every time there is a change to the active X server I am developing drivers for I have to go back through all the vi's I have developed and re-point the methods an properties back to what they were to fix the broken arrows. The only change in the Active X server is usually an additional method or property. There has to be a better way, I have over 130 vi's I have to fix for every update and it keeps getting larger.

    This is somthing I can try, but I don't think it will solve my problem. My reference never changes, it is always the same and is correctly registered with every new release. What does change are the number of methods and properties. With each new release there are usualy additional methods and properties; however, the old ones are still there with the same names (thank goodness). The problem this causes with LabVIEW, apparently, whenever there is a change in the type library you must re-point all the methods an properties again, at least this is what I am experiencing. If doing what you suggested works, it would be some kind of magic that I would like an explanation for.

  • Additions to the Collections API

    Hi,
    Just had an idea for some useful additional methods for the Collection interface. Are such things in the pipeline? If not, is there a way to formally request them?
    public interface Collection<E> extends Iterable<E> {
      public boolean addAll(E... o);
      public boolean addAll(int index, E... o);
    public class ArrayList<E> implements List<E> {
      public ArrayList(E... o) {
        super();
        addAll(o);
    }And probably others of a like nature, using the new "..." notation for adding as many things as you want to a method call.
    Allows you to instantiate a list where you know the members in much the same way you would an array - instead of
    String[] letters = new String[] {"A", "B", "C"};you would have
    List<String> letters = new ArrayList<String>("A", "B", "C");I've created my own subclass of ArrayList to let me do the constructor, but it looks to me like a no-lose addition to the API - can't break any existing code.

    An ArrayList is a good, simple and staightforward implementation of a stack (having nothing to do with java.util.Stack), except for some trivial missing methods.
    java.util.Stack is based on an quite obsolet class - Vector, which was later quite doubled by a better one: ArrayList - this is hardly a good API design, but was necessary. Simply said: Vector is quite useless, it's just a sort of beta version of ArrayList. And so is Stack for the very same reasons (it's synchronized etc.).
    Moreover, I do not speak about providing a new class. Just about implementing all the methods making good sense for an existing one.

  • Alternative Editing Methods Required...Please!

    As someone who is somewhat less than expert at image editing (But learning, fast!), I have spent the best part of a day attempting to edit a b/w image which required extreme tonal changes in several parts of the image. After making complex multiple selections around a line of trees, then saving, inversing, saving again and applying adjustments to each, I have been left with an image which clearly looks retouched. There is a definite "boundary line" between the selections along the tree line, which makes it look like one part of the image has been cut out (poorly, with blunt scissors) and stuck onto the other image. No modification of the selection edges has improved things.
    Serendipitously, I discovered an alternative method on a video tutorial, which uses the layer masks in adjustment layers and applying a brush to restore the various parts of the image back to it's original state. Not only is this method far more effective, it is also much quicker. I managed to do the same "day long" job in about ten minutes.
    This leads me to ask the following questions:
    1. Are there other methods to achieve the same or better results? If so, what are they?
    2. If the selections method I first adopted is better, when done properly, what should I be doing differently?
    I'm sure there will be those whose suggestion will be "if you've found a method that works, stick with it". However, this a learning exercise for me and the more methods I know , the more proficient I hope to become.
    Thanks in advance.

    Yes Mark, I've tried feathering. In fact I've tried feathering at various levels from 1 pixel up to about 50 and I've expanded and contracted the two selections next to each other. In fact I've tried all sorts of permutations using Refine Edge. One thing I've noticed is that the inferior effect I'm getting happens when I'm working with two opposing selections (and by that I mean I make a selection, save it, then inverse the same selection and save that. So I'm working with two layers which fit together like a jigsaw puzzle). This doesn't happen when I make only one selection. I'm thinking that I really should only work this way. As I mentioned in my question, the latter technique works well, which is effectively the same thing.  Two opposing selections just seem to collide together.
    But if you know of additional methods, I'd be grateful.
    Thanks for your input.

  • How get method source code from a class

    We developed a model generator tool that get a �base model� as an input and generated rich model.
    The �base model� is collection of POJO classes and the model generator analyzed the base model (with reflection) and with �ftl� generates �rich model� , which is the base model with additional annotations and logics.
    Some classes in the �base-model� may contain additional method and I need to copy those methods as they are to the �rich-model� generated sources.
    I need a way to copy those methods from the base-model (I work on it with reflection, but I have also the source) to the rich-model.
    I think to do this by decompile. Are there any better way?
    Is there any simple utility that decompile method?
    Thank you

    There is a big differnet between the input and the output.
    for example:
    input:
    @Key(indexs = { "name" })
    @SuppressWarnings(value = { "serial", "unused" })
    @Observers(observers = { @Observer(type = ObserverType.INSTANCE_INHERITANCE) })
    public class Device extends Segment {
         // ********************** Class Members: ********************** //
         private DeviceTypeEnum type;
         protected DeviceSetup deviceSetup;
         protected Networking networking;output:
    * model-project class. generated by ModelGenerator. *
    @Entity
    @Key(indexs={"name"})
    @NamedQueries(value={@NamedQuery(name="Device.FilterByIndex", query="SELECT d FROM Device d WHERE d.name=:name")})
    @Observers(observers={@Observer(type=ObserverType.INSTANCE_INHERITANCE)})
    public class Device extends Segment implements ObservableIfc
         private static final long serialVersionUID = -7782418163128836178L;
        // ********************** Class Members: ********************** //
        @Column(name="type_column")
        @Type(type="com.radware.insite.modelhelpers.utils.GenericEnumUserType", parameters = {@Parameter(name = "enumClass" , value = "com.radware.insite.modelhelpers.constants.ImConstants$DeviceTypeEnum")})
        private DeviceTypeEnum type;
        private FieldMetadata typeMD = new RefMetadata();
        @OneToOne(cascade={CascadeType.PERSIST, CascadeType.REFRESH, CascadeType.REMOVE}, fetch=FetchType.LAZY)
        @JoinColumn(name="dev_setup_2_dev")
        protected DeviceSetup deviceSetup = new DeviceSetup();
        private FieldMetadata deviceSetupMD = new RefMetadata();

  • What would this method be in terms of code?

    Create an additional method named displayLine() that calculates the total cost (quantity * price) for the item,
    then displays the item number, name, quantity, and total cost.
    What would the code look like that it's asking me to put into my class?
    My class code:
    public class Invoice
    int number;
    String name = "";
    int quantity;
    double price;
    double total;
    public int getnumber()
    return number;
    public String getname()
    return name;
    public int getquantity()
    return quantity;
    public double getprice()
    return price;
    public void setnumber(int number)
    this.number = number;
    public void setname(String name)
    this.name = name;
    public void setquantity(int quantity)
    this.quantity = quantity;
    public void setprice(double price)
    this.price = price;
    }

    Or the displayLine() method instead or returning the totalCost about, could do the actual displaying or the information. Was it specified whether the code for displaying the values needs to be in the Invoice class or the main class that is doing the method call?
    If you were to do the displaying of the values right in the Invoice class you wouldn't need a return type. The method would be more like:
    public void displayLine(){
        double totalCost = 0.0;
        // totalCost calculation here
        // Fill in the () with the actual output string. name + " " + itemNumber etc.
       System.out.println();
    }If the displayLine() method needs to be in the main class that is doing the method call on the Invoice, it will look a little different.

Maybe you are looking for

  • ME84 / Messages for scheduling agreement Release

    Hallo, I wold like to create SA releases(agreement type = LPA) via ME84 separately for JIT-schedules and FRC-schedules. I use LPH1 as message type for the FRC-schedule and LPJ1 as message type for the JIT-schedule. The creation of JIT-schedules works

  • How do I create Local Network Home Folders for Users from an Active Directory binding?

    My situation is this... I run an iMac lab at my school.  I have a server set up to manage the network user accounts in the lab.  Currently, I can sucessfully create Local Network Users and log in to them from any of the iMacs.  My school has an Activ

  • Not able to recive the items in iPro

    Hi, I am not able to receive item against a running PO which I received many times and I have many receipt also.But now if I am tring to receive some items out of X items I am getting error like Receipts cannot be created for the selected items becau

  • Portal 11g Upgrade (11.1.1.6) with SSO (10.1.4.3)

    I have just performed a Portal upgrade from 10g to 11g which is integrated with SSO (10.1.4.3) which is hosted on a separate host from portal. All components start sucessfully but I am getting the following error in my SSO Apache error_log when I att

  • Copy contents of one table to another

    Hi, Can anyone will give me the code copying the contents of one table to another... Need an urgetn help.. Thanks