Examples of EventSet


Examples of com.sun.jdi.event.EventSet


    vm.resume();
    boolean connected = true;
    while (connected) {
      EventSet eventSet = eventQueue.remove();
      for (Event event : eventSet) {
        if (event instanceof VMDeathEvent
            || event instanceof VMDisconnectEvent) {
          // exit
          connected = false;
        } else if (event instanceof ClassPrepareEvent) {
          // watch field on loaded class
          System.out.println("ClassPrepareEvent");
          ClassPrepareEvent classPrepEvent = (ClassPrepareEvent) event;
          ReferenceType refType = classPrepEvent
              .referenceType();
          addFieldWatch(vm, refType);
        } else if (event instanceof ModificationWatchpointEvent) {
          System.out.println("sleep for 500 ms");
          Thread.sleep(500);
          System.out.println("resume...");

          ModificationWatchpointEvent modEvent = (ModificationWatchpointEvent) event;
          System.out.println("old="
              + modEvent.valueCurrent());
          System.out.println("new=" + modEvent.valueToBe());
          System.out.println();
        }
      }
      eventSet.resume();
    }
    // Shutdown begins when event thread terminates
    try {
        errThread.join(); // Make sure output is forwarded
        outThread.join();
View Full Code Here

Examples of com.sun.jdi.event.EventSet

    final com.sun.jdi.event.EventQueue q = vm.eventQueue();
    boolean done = false;
    consoleOut.println("== Handling events...");
    vm.resume();
    while (true) {
      final EventSet es;
      if (!done) {
        es = q.remove();
      } else {
        es = q.remove(1000);
        if (es == null) {
          break;
        }
      }
      for (final EventIterator ei = es.eventIterator(); ei.hasNext();) {
        final Event e = ei.nextEvent();
        consoleOut.println("== Event received: " + e.toString());
        if (!done && e instanceof StepEvent) {
          final StepEvent se = (StepEvent) e;
          final ThreadReference tr = se.thread();
          vm.eventRequestManager().deleteEventRequest(se.request());
          final List stepRequests = new ArrayList(vm.eventRequestManager().stepRequests());
          for (int i = 0; i < stepRequests.size(); i++) {
            ((StepRequest) stepRequests.get(i)).disable();
          }
          if (disableSecurityManager) {
            consoleOut.println("== Disabling security manager...");
            ClassType _System = (ClassType) vm.classesByName("java.lang.System").get(0);
            _System.setValue(_System.fieldByName("security"), null);
          }
          consoleOut.println("== Trying to inject...");
          try {
            final JDWPClassInjector ci = new JDWPClassInjector(tr);
            for (int i = 0; i < classes.length; i++) {
              ClassType ct = ci.inject(classes[i], i == classes.length - 1 ? embeddedArgs : null);
              if (i==0) result = ct;
            }
            consoleOut.println("== done.");
            done = true;
            for (int i = 0; i < stepRequests.size(); i++) {
              vm.eventRequestManager().deleteEventRequest((StepRequest) stepRequests.get(i));
            }
          } catch (final Throwable ex) {
            ex.printStackTrace();
            for (int i = 0; i < stepRequests.size(); i++) {
              ((StepRequest) stepRequests.get(i)).enable();
            }
          }
        }
      }
      es.resume();
    }
    return result;
  }
View Full Code Here

Examples of com.sun.jdi.event.EventSet

      req.setEnabled(true);
      final com.sun.jdi.event.EventQueue q = vm.eventQueue();
      boolean done = false;
      errorStream.println("== Handling I/O events...");
      while (true) {
        final EventSet es;
        if (!done) {
          es = q.remove();
        } else {
          es = q.remove(1000);
          if (es == null) {
            break;
          }
        }
        for (final EventIterator ei = es.eventIterator(); ei.hasNext();) {
          final Event e = ei.nextEvent();
          if (!done && e instanceof BreakpointEvent) {
            final BreakpointEvent be = (BreakpointEvent) e;
            final Location loc = be.location();
            final ThreadReference tr = be.thread()
            if (loc.equals(interceptIn)) {
              LocalVariable result = (LocalVariable) loc.method().variablesByName("result").get(0);
              LocalVariable buffer = (LocalVariable) loc.method().arguments().get(0);
              ArrayReference buf = (ArrayReference) tr.frame(0).getValue(buffer);
              new InputInterceptHandler(tr, buf, result).start();
            } else if (loc.equals(interceptOut)) {
              LocalVariable result = (LocalVariable) loc.method().variablesByName("result").get(0);
              LocalVariable data = (LocalVariable) loc.method().arguments().get(0);
              ArrayReference buf = (ArrayReference) tr.frame(0).getValue(data);
              List values = buf.getValues();
              byte[] temp = new byte[buf.length()];
              for (int i = 0; i < temp.length; i++) {
                temp[i] = ((ByteValue)values.get(i)).byteValue();
              }
              pipedOut.write(temp);
              pipedOut.flush();
              if (temp.length == 0) {
                pipedOut.close();
                pipedIn.close();
                done = true;
              }
              tr.frame(0).setValue(result, vm.mirrorOf(true));
              tr.resume();
            } else {
              throw new RuntimeException("Unknown location: "+loc);
           
          } else {
            System.out.println("== Unknown event received: " + e.toString());
            es.resume();
          }
        }
      }
    }
    catch(Throwable t) {
View Full Code Here

Examples of com.sun.jdi.event.EventSet

/* 211 */         System.err.print("Exception in thread \"HotSwap\" ");
/* 212 */         e.printStackTrace(System.err);
/*     */       }
/*     */
/*     */       public void run() {
/* 216 */         EventSet events = null;
/*     */         try {
/* 218 */           events = HotSwapper.this.waitEvent();
/* 219 */           EventIterator iter = events.eventIterator();
/* 220 */           while (iter.hasNext()) {
/* 221 */             Event event = iter.nextEvent();
/* 222 */             if ((event instanceof MethodEntryEvent)) {
/* 223 */               HotSwapper.this.hotswap();
/* 224 */               break;
/*     */             }
/*     */           }
/*     */         }
/*     */         catch (Throwable e) {
/* 229 */           errorMsg(e);
/*     */         }
/*     */         try {
/* 232 */           if (events != null)
/* 233 */             events.resume();
/*     */         }
/*     */         catch (Throwable e) {
/* 236 */           errorMsg(e);
/*     */         }
/*     */       }
View Full Code Here

Examples of com.sun.jdi.event.EventSet

    @Override
    public void run() {
        try {
            while (true) {
                EventSet eventSet = eventQueue.remove();
                listener.vmEvent(eventSet);
                /*
                 * for (Event e : eventSet) { System.out.println("VM Event: " +
                 * e.toString()); }
                 */
 
View Full Code Here

Examples of com.sun.jdi.event.EventSet

   */
  public void run() {
    VirtualMachine vm = fTarget.getVM();
    if (vm != null) {
      EventQueue q = vm.eventQueue();
      EventSet eventSet = null;
      while (!isShutdown()) {
        try {
          try {
            // Get the next event set.
            eventSet = q.remove(1000);
          } catch (VMDisconnectedException e) {
            break;
          }

          if (!isShutdown() && eventSet != null) {
            final EventSet set = eventSet;
            Job job = new Job("JDI Event Dispatch") { //$NON-NLS-1$
              @Override
              protected IStatus run(IProgressMonitor monitor) {
                dispatch(set);
                return Status.OK_STATUS;
              }

              @Override
              public boolean belongsTo(Object family) {
                if (family instanceof Class) {
                  Class<?> clazz = (Class<?>) family;
                  EventIterator iterator = set.eventIterator();
                  while (iterator.hasNext()) {
                    Event event = iterator.nextEvent();
                    if (clazz.isInstance(event)) {
                      return true;
                    }
View Full Code Here

Examples of com.sun.jdi.event.EventSet

   
    @Override
    public void run() {
        while (this.vmConnected) {
            try {
                EventSet set = vm.eventQueue().remove();
                EventIterator eventIterator = set.eventIterator();
                while (eventIterator.hasNext()) {
                    Event next = eventIterator.next();
                    Throwable t = null;
                    dispatchEvent(vm, next);
                }
View Full Code Here

Examples of com.sun.jdi.event.EventSet

    @Override
    public void run()
    {
        for ( EventQueue queue = vm.eventQueue(); ; )
        {
            EventSet events;
            try
            {
                events = queue.remove();
            }
            catch ( InterruptedException e )
            {
                Thread.interrupted(); // reset
                vm.exit( -1 ); // The debugger was interrupted, kill the VM
                continue; // then await the disconnect event
            }
            DebugHandler.SuspendPolicy suspension = DebugHandler.SuspendPolicy.get( events.suspendPolicy() );
            for ( Event event : events )
            {
                if ( event instanceof LocatableEvent )
                {
                    if ( event instanceof WatchpointEvent )
                    {
                        if ( event instanceof AccessWatchpointEvent )
                        {
                            AccessWatchpointEvent accessEvent = (AccessWatchpointEvent) event;
                            handler.onAccessWatchpoint( suspension, event.virtualMachine(), accessEvent.thread(),
                                                        (WatchpointRequest) event.request(), accessEvent.object(),
                                                        accessEvent.field(), accessEvent.valueCurrent(),
                                                        accessEvent.location() );
                        }
                        else if ( event instanceof ModificationWatchpointEvent )
                        {
                            ModificationWatchpointEvent modificationEvent = (ModificationWatchpointEvent) event;
                            handler.onModificationWatchpoint( suspension, event.virtualMachine(),
                                                              modificationEvent.thread(),
                                                              (WatchpointRequest) event.request(),
                                                              modificationEvent.object(),
                                                              modificationEvent.field(),
                                                              modificationEvent.valueCurrent(),
                                                              modificationEvent.valueToBe(),
                                                              modificationEvent.location() );
                        }
                        else
                        {
                            WatchpointEvent watchpointEvent = (WatchpointEvent) event;
                            handler.onWatchpoint( suspension, event.virtualMachine(), watchpointEvent.thread(),
                                                  (WatchpointRequest) event.request(), watchpointEvent.object(),
                                                  watchpointEvent.field(), watchpointEvent.valueCurrent(),
                                                  watchpointEvent.location() );
                        }
                    }
                    else if ( event instanceof BreakpointEvent )
                    {
                        BreakpointEvent breakpointEvent = (BreakpointEvent) event;
                        handler.onBreakpoint( suspension, breakpointEvent.virtualMachine(), breakpointEvent.thread(),
                                              (BreakpointRequest) breakpointEvent.request(),
                                              breakpointEvent.location() );
                    }
                    else if ( event instanceof MethodEntryEvent )
                    {
                        MethodEntryEvent entryEvent = (MethodEntryEvent) event;
                        handler.onMethodEntry( suspension, entryEvent.virtualMachine(), entryEvent.thread(),
                                               (MethodEntryRequest) entryEvent.request(), entryEvent.method(),
                                               entryEvent.location() );
                    }
                    else if ( event instanceof MethodExitEvent )
                    {
                        MethodExitEvent exitEvent = (MethodExitEvent) event;
                        handler.onMethodExit( suspension, exitEvent.virtualMachine(), exitEvent.thread(),
                                              (MethodExitRequest) exitEvent.request(), exitEvent.method(),
                                              exitEvent.returnValue(), exitEvent.location() );
                    }
                    else if ( event instanceof StepEvent )
                    {
                        StepEvent stepEvent = (StepEvent) event;
                        handler.onStep( suspension, stepEvent.virtualMachine(), stepEvent.thread(),
                                        (StepRequest) stepEvent.request(), stepEvent.location() );
                    }
                    else if ( event instanceof MonitorContendedEnterEvent )
                    {
                        MonitorContendedEnterEvent contendedEnterEvent = (MonitorContendedEnterEvent) event;
                        handler.onContendedMonitorBlocked( suspension, event.virtualMachine(),
                                                           contendedEnterEvent.thread(),
                                                           (MonitorContendedEnterRequest) event.request(),
                                                           contendedEnterEvent.monitor(),
                                                           contendedEnterEvent.location() );
                    }
                    else if ( event instanceof MonitorContendedEnteredEvent )
                    {
                        MonitorContendedEnteredEvent contendedEnteredEvent = (MonitorContendedEnteredEvent) event;
                        handler.onContendedMonitorEntered( suspension, event.virtualMachine(),
                                                           contendedEnteredEvent.thread(),
                                                           (MonitorContendedEnteredRequest) event.request(),
                                                           contendedEnteredEvent.monitor(),
                                                           contendedEnteredEvent.location() );
                    }
                    else if ( event instanceof MonitorWaitEvent )
                    {
                        MonitorWaitEvent waitEvent = (MonitorWaitEvent) event;
                        handler.onMonitorBeginWait( suspension, event.virtualMachine(), waitEvent.thread(),
                                                    (MonitorWaitRequest) event.request(), waitEvent.monitor(),
                                                    waitEvent.timeout(), waitEvent.location() );
                    }
                    else if ( event instanceof MonitorWaitedEvent )
                    {
                        MonitorWaitedEvent waitedEvent = (MonitorWaitedEvent) event;
                        handler.onMonitorEndWait( suspension, event.virtualMachine(), waitedEvent.thread(),
                                                  (MonitorWaitedRequest) event.request(), waitedEvent.monitor(),
                                                  waitedEvent.timedout(), waitedEvent.location() );
                    }
                    else if ( event instanceof ExceptionEvent )
                    {
                        ExceptionEvent exceptionEvent = (ExceptionEvent) event;
                        handler.onExceptionThrown( suspension, exceptionEvent.virtualMachine(), exceptionEvent.thread(),
                                                   (ExceptionRequest) exceptionEvent.request(),
                                                   exceptionEvent.exception(),
                                                   exceptionEvent.location(), exceptionEvent.catchLocation() );
                    }
                    else
                    {
                        LocatableEvent locatableEvent = (LocatableEvent) event;
                        handler.onUnhandledLocatableEvent( suspension, event.virtualMachine(), locatableEvent.thread(),
                                                           event.request(), locatableEvent.location() );
                    }
                }
                else if ( event instanceof ClassPrepareEvent )
                {
                    ClassPrepareEvent prepareEvent = (ClassPrepareEvent) event;
                    handler.onClassPrepare( suspension, prepareEvent.virtualMachine(), prepareEvent.thread(),
                                            (ClassPrepareRequest) prepareEvent.request(),
                                            prepareEvent.referenceType() );
                }
                else if ( event instanceof ClassUnloadEvent )
                {
                    ClassUnloadEvent unloadEvent = (ClassUnloadEvent) event;
                    handler.onClassUnload( suspension, unloadEvent.virtualMachine(),
                                           (ClassUnloadRequest) unloadEvent.request(),
                                           unloadEvent.className(), unloadEvent.classSignature() );
                }
                else if ( event instanceof ThreadStartEvent )
                {
                    ThreadStartEvent threadStartEvent = (ThreadStartEvent) event;
                    handler.onThreadStart( suspension, event.virtualMachine(), threadStartEvent.thread(),
                                           (ThreadStartRequest) event.request() );
                }
                else if ( event instanceof ThreadDeathEvent )
                {
                    ThreadDeathEvent threadDeathEvent = (ThreadDeathEvent) event;
                    handler.onThreadDeath( suspension, event.virtualMachine(), threadDeathEvent.thread(),
                                           (ThreadDeathRequest) event.request() );
                }
                else if ( event instanceof VMStartEvent )
                {
                    VMStartEvent startEvent = (VMStartEvent) event;
                    handler.onStart( suspension, startEvent.virtualMachine(), startEvent.thread() );
                }
                else if ( event instanceof VMDeathEvent )
                {
                    VMDeathEvent deathEvent = (VMDeathEvent) event;
                    handler.onDeath( suspension, deathEvent.virtualMachine() );
                }
                else if ( event instanceof VMDisconnectEvent )
                {
                    handler.onDisconnect();
                    return;
                }
                else
                {
                    handler.onUnhandledEvent( suspension, event.virtualMachine(), event.request() );
                }
            }
            events.resume();
        }
    }
View Full Code Here

Examples of org.apache.beehive.controls.api.events.EventSet

        _controlIntf = controlIntf;
        _eventSet = eventSet;
        _ap = ap;
        setDeclaration(eventSet);

        EventSet eventSetAnnot = eventSet.getAnnotation(EventSet.class);
        if (eventSetAnnot != null)
            _unicast = eventSetAnnot.unicast();

        //
        // If an EventSet interface has formal type parameters, they must be a subset of
        // the original formal type parameters declared on the original control interface.
        // This is required because it must be possible to bind the types of events immediately
View Full Code Here

Examples of org.apache.beehive.controls.api.events.EventSet

        _controlIntf = controlIntf;
        _eventSet = eventSet;
        _ap = ap;
        setDeclaration(eventSet);

        EventSet eventSetAnnot = eventSet.getAnnotation(EventSet.class);
        if (eventSetAnnot != null)
            _unicast = eventSetAnnot.unicast();

        //
        // If an EventSet interface has formal type parameters, they must be a subset of
        // the original formal type parameters declared on the original control interface.
        // This is required because it must be possible to bind the types of events immediately
View Full Code Here
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.