Package org.activiti.engine.delegate.event

Examples of org.activiti.engine.delegate.event.ActivitiEntityEvent


        .singleResult();
    assertNotNull(task);
   
    // Check create event
    assertEquals(3, listener.getEventsReceived().size());
    ActivitiEntityEvent event = (ActivitiEntityEvent) listener.getEventsReceived().get(0);
    assertEquals(ActivitiEventType.ENTITY_CREATED, event.getType());
    assertTrue(event.getEntity() instanceof Task);
    Task taskFromEvent = (Task) event.getEntity();
    assertEquals(task.getId(), taskFromEvent.getId());
    assertExecutionDetails(event, processInstance);
   
    event = (ActivitiEntityEvent) listener.getEventsReceived().get(1);
    assertEquals(ActivitiEventType.ENTITY_INITIALIZED, event.getType());

        event = (ActivitiEntityEvent) listener.getEventsReceived().get(2);
        assertEquals(ActivitiEventType.TASK_CREATED, event.getType());
        assertTrue(event.getEntity() instanceof Task);
        taskFromEvent = (Task) event.getEntity();
        assertEquals(task.getId(), taskFromEvent.getId());
        assertExecutionDetails(event, processInstance);

        listener.clearEventsReceived();

    // Update duedate, owner and priority should trigger update-event
    taskService.setDueDate(task.getId(), new Date());
    assertEquals(1, listener.getEventsReceived().size());
    event = (ActivitiEntityEvent) listener.getEventsReceived().get(0);
    assertExecutionDetails(event, processInstance);
    assertEquals(ActivitiEventType.ENTITY_UPDATED, event.getType());
    listener.clearEventsReceived();
   
    taskService.setPriority(task.getId(), 12);
    assertEquals(1, listener.getEventsReceived().size());
    event = (ActivitiEntityEvent) listener.getEventsReceived().get(0);
    assertEquals(ActivitiEventType.ENTITY_UPDATED, event.getType());
    assertExecutionDetails(event, processInstance);
    listener.clearEventsReceived();
   
    taskService.setOwner(task.getId(), "kermit");
    assertEquals(1, listener.getEventsReceived().size());
    event = (ActivitiEntityEvent) listener.getEventsReceived().get(0);
    assertEquals(ActivitiEventType.ENTITY_UPDATED, event.getType());
    assertExecutionDetails(event, processInstance);
    listener.clearEventsReceived();
   
    // Updating detached task and calling saveTask should trigger a single update-event
    task = taskService.createTaskQuery().processInstanceId(processInstance.getId())
        .singleResult();
   
    task.setDueDate(new Date());
    task.setOwner("john");
    taskService.saveTask(task);
   
    assertEquals(1, listener.getEventsReceived().size());
    event = (ActivitiEntityEvent) listener.getEventsReceived().get(0);
    assertEquals(ActivitiEventType.ENTITY_UPDATED, event.getType());
    assertExecutionDetails(event, processInstance);
    listener.clearEventsReceived();
   
    // Check delete-event on complete
    taskService.complete(task.getId());
    assertEquals(2, listener.getEventsReceived().size());
    event = (ActivitiEntityEvent) listener.getEventsReceived().get(0);
    assertEquals(ActivitiEventType.TASK_COMPLETED, event.getType());
    assertExecutionDetails(event, processInstance);
    TaskEntity taskEntity = (TaskEntity) event.getEntity();
    assertNotNull(taskEntity.getDueDate());
    event = (ActivitiEntityEvent) listener.getEventsReceived().get(1);
    assertEquals(ActivitiEventType.ENTITY_DELETED, event.getType());
    assertExecutionDetails(event, processInstance);
  }
View Full Code Here


    assertNotNull(task);
   
    // Set assignee through API
    taskService.setAssignee(task.getId(), "kermit");
    assertEquals(2, listener.getEventsReceived().size());
    ActivitiEntityEvent event = (ActivitiEntityEvent) listener.getEventsReceived().get(0);
    assertEquals(ActivitiEventType.TASK_ASSIGNED, event.getType());
    assertTrue(event.getEntity() instanceof Task);
    Task taskFromEvent = (Task) event.getEntity();
    assertEquals(task.getId(), taskFromEvent.getId());
    assertEquals("kermit", taskFromEvent.getAssignee());
    assertExecutionDetails(event, processInstance);
   
    event = (ActivitiEntityEvent) listener.getEventsReceived().get(1);
    assertEquals(ActivitiEventType.ENTITY_UPDATED, event.getType());
    assertTrue(event.getEntity() instanceof Task);
    assertExecutionDetails(event, processInstance);
    listener.clearEventsReceived();
   
    // Set assignee through updateTask
    task = taskService.createTaskQuery().processInstanceId(processInstance.getId())
        .singleResult();
    task.setAssignee("newAssignee");
    taskService.saveTask(task);
   
    assertEquals(2, listener.getEventsReceived().size());
    event = (ActivitiEntityEvent) listener.getEventsReceived().get(0);
    assertEquals(ActivitiEventType.TASK_ASSIGNED, event.getType());
    assertTrue(event.getEntity() instanceof Task);
    taskFromEvent = (Task) event.getEntity();
    assertEquals(task.getId(), taskFromEvent.getId());
    assertEquals("newAssignee", taskFromEvent.getAssignee());
    assertExecutionDetails(event, processInstance);
   
    event = (ActivitiEntityEvent) listener.getEventsReceived().get(1);
    assertEquals(ActivitiEventType.ENTITY_UPDATED, event.getType());
    assertTrue(event.getEntity() instanceof Task);
    assertExecutionDetails(event, processInstance);
    listener.clearEventsReceived();
   
    // Unclaim
    taskService.unclaim(task.getId());
    assertEquals(2, listener.getEventsReceived().size());
    event = (ActivitiEntityEvent) listener.getEventsReceived().get(0);
    assertEquals(ActivitiEventType.TASK_ASSIGNED, event.getType());
    assertTrue(event.getEntity() instanceof Task);
    taskFromEvent = (Task) event.getEntity();
    assertEquals(task.getId(), taskFromEvent.getId());
    assertEquals(null, taskFromEvent.getAssignee());
    assertExecutionDetails(event, processInstance);
   
    event = (ActivitiEntityEvent) listener.getEventsReceived().get(1);
    assertEquals(ActivitiEventType.ENTITY_UPDATED, event.getType());
    assertTrue(event.getEntity() instanceof Task);
    assertExecutionDetails(event, processInstance);
    listener.clearEventsReceived();
  }
View Full Code Here

   
    // Delete process, should delete task as well, but not complete
    runtimeService.deleteProcessInstance(processInstance.getId(), "testing task delete events");
   
    assertEquals(1, listener.getEventsReceived().size());
    ActivitiEntityEvent event = (ActivitiEntityEvent) listener.getEventsReceived().get(0);
    assertEquals(ActivitiEventType.ENTITY_DELETED, event.getType());
    assertTrue(event.getEntity() instanceof Task);
    Task taskFromEvent = (Task) event.getEntity();
    assertEquals(task.getId(), taskFromEvent.getId());
    assertExecutionDetails(event, processInstance);
   
    try {
      task = taskService.newTask();
      task.setCategory("123");
      task.setDescription("Description");
      taskService.saveTask(task);
      listener.clearEventsReceived();
     
      // Delete standalone task, only a delete-event should be dispatched
      taskService.deleteTask(task.getId());
     
     
      assertEquals(1, listener.getEventsReceived().size());
      event = (ActivitiEntityEvent) listener.getEventsReceived().get(0);
      assertEquals(ActivitiEventType.ENTITY_DELETED, event.getType());
      assertTrue(event.getEntity() instanceof Task);
      taskFromEvent = (Task) event.getEntity();
      assertEquals(task.getId(), taskFromEvent.getId());
      assertNull(event.getProcessDefinitionId());
      assertNull(event.getProcessInstanceId());
      assertNull(event.getExecutionId());
     
    } finally {
      if(task != null) {
        String taskId = task.getId();
        task = taskService.createTaskQuery().taskId(taskId).singleResult();
View Full Code Here

      task.setDescription("Description");
      taskService.saveTask(task);
     
      assertEquals(3, listener.getEventsReceived().size());
     
      ActivitiEntityEvent event = (ActivitiEntityEvent) listener.getEventsReceived().get(0);
      assertEquals(ActivitiEventType.ENTITY_CREATED, event.getType());
      assertTrue(event.getEntity() instanceof Task);
      Task taskFromEvent = (Task) event.getEntity();
      assertEquals(task.getId(), taskFromEvent.getId());
      assertNull(event.getProcessDefinitionId());
      assertNull(event.getProcessInstanceId());
      assertNull(event.getExecutionId());
     
      event = (ActivitiEntityEvent) listener.getEventsReceived().get(1);
      assertEquals(ActivitiEventType.ENTITY_INITIALIZED, event.getType());
     
      event = (ActivitiEntityEvent) listener.getEventsReceived().get(2);
      assertEquals(ActivitiEventType.TASK_CREATED, event.getType());
      listener.clearEventsReceived();
     
      // Update task
      taskService.setOwner(task.getId(), "owner");
      assertEquals(1, listener.getEventsReceived().size());
      event = (ActivitiEntityEvent) listener.getEventsReceived().get(0);
      assertEquals(ActivitiEventType.ENTITY_UPDATED, event.getType());
      assertTrue(event.getEntity() instanceof Task);
      taskFromEvent = (Task) event.getEntity();
      assertEquals(task.getId(), taskFromEvent.getId());
      assertEquals("owner", taskFromEvent.getOwner());
      assertNull(event.getProcessDefinitionId());
      assertNull(event.getProcessInstanceId());
      assertNull(event.getExecutionId());
      listener.clearEventsReceived();
     
      // Assign task
      taskService.setAssignee(task.getId(), "kermit");
      assertEquals(2, listener.getEventsReceived().size());
      event = (ActivitiEntityEvent) listener.getEventsReceived().get(0);
      assertEquals(ActivitiEventType.TASK_ASSIGNED, event.getType());
      assertTrue(event.getEntity() instanceof Task);
      taskFromEvent = (Task) event.getEntity();
      assertEquals(task.getId(), taskFromEvent.getId());
      assertEquals("kermit", taskFromEvent.getAssignee());
      assertNull(event.getProcessDefinitionId());
      assertNull(event.getProcessInstanceId());
      assertNull(event.getExecutionId());
      event = (ActivitiEntityEvent) listener.getEventsReceived().get(1);
      assertEquals(ActivitiEventType.ENTITY_UPDATED, event.getType());
      assertTrue(event.getEntity() instanceof Task);
      taskFromEvent = (Task) event.getEntity();
      assertEquals(task.getId(), taskFromEvent.getId());
      assertNull(event.getProcessDefinitionId());
      assertNull(event.getProcessInstanceId());
      assertNull(event.getExecutionId());
      listener.clearEventsReceived();
     
      // Complete task
      taskService.complete(task.getId());
      assertEquals(2, listener.getEventsReceived().size());
      event = (ActivitiEntityEvent) listener.getEventsReceived().get(0);
      assertEquals(ActivitiEventType.TASK_COMPLETED, event.getType());
      assertTrue(event.getEntity() instanceof Task);
      taskFromEvent = (Task) event.getEntity();
      assertEquals(task.getId(), taskFromEvent.getId());
      assertNull(event.getProcessDefinitionId());
      assertNull(event.getProcessInstanceId());
      assertNull(event.getExecutionId());
     
      event = (ActivitiEntityEvent) listener.getEventsReceived().get(1);
      assertEquals(ActivitiEventType.ENTITY_DELETED, event.getType());
      assertTrue(event.getEntity() instanceof Task);
      taskFromEvent = (Task) event.getEntity();
      assertEquals(task.getId(), taskFromEvent.getId());
      assertNull(event.getProcessDefinitionId());
      assertNull(event.getProcessInstanceId());
      assertNull(event.getExecutionId());
     
    } finally {
      if(task != null) {
        String taskId = task.getId();
        task = taskService.createTaskQuery().taskId(taskId).singleResult();
View Full Code Here

      assertEquals(ActivitiEventType.ENTITY_CREATED, event.getType());
    }
   
  // First event received should be creation of Process-definition
    assertTrue(testListenerBean.getEventsReceived().get(0) instanceof ActivitiEntityEvent);
    ActivitiEntityEvent event = (ActivitiEntityEvent) testListenerBean.getEventsReceived().get(0);
    assertTrue(event.getEntity() instanceof ProcessDefinition);
    assertEquals(processInstance.getProcessDefinitionId(), ((ProcessDefinition) event.getEntity()).getId());
     
    // First event received should be creation of Process-instance
    assertTrue(testListenerBean.getEventsReceived().get(1) instanceof ActivitiEntityEvent);
    event = (ActivitiEntityEvent) testListenerBean.getEventsReceived().get(1);
    assertTrue(event.getEntity() instanceof ProcessInstance);
    assertEquals(processInstance.getId(), ((ProcessInstance) event.getEntity()).getId());
   
    // Check if listener, defined by classname, received all events
    List<ActivitiEvent> events = StaticTestActivitiEventListener.getEventsReceived();
    assertFalse(events.isEmpty());
   
View Full Code Here

     
      // Create link-attachment
      Attachment attachment = taskService.createAttachment("test", task.getId(), processInstance.getId(), "attachment name", "description", "http://activiti.org");
      assertNull(attachment.getUserId());
      assertEquals(2, listener.getEventsReceived().size());
      ActivitiEntityEvent event = (ActivitiEntityEvent) listener.getEventsReceived().get(0);
      assertEquals(ActivitiEventType.ENTITY_CREATED, event.getType());
      assertEquals(processInstance.getId(), event.getProcessInstanceId());
      assertEquals(processInstance.getId(), event.getExecutionId());
      assertEquals(processInstance.getProcessDefinitionId(), event.getProcessDefinitionId());
      Attachment attachmentFromEvent = (Attachment) event.getEntity();
      assertEquals(attachment.getId(), attachmentFromEvent.getId());
      event = (ActivitiEntityEvent) listener.getEventsReceived().get(1);
      assertEquals(ActivitiEventType.ENTITY_INITIALIZED, event.getType());
      assertEquals(processInstance.getId(), event.getProcessInstanceId());
      assertEquals(processInstance.getId(), event.getExecutionId());
      assertEquals(processInstance.getProcessDefinitionId(), event.getProcessDefinitionId());
      attachmentFromEvent = (Attachment) event.getEntity();
      assertEquals(attachment.getId(), attachmentFromEvent.getId());
      listener.clearEventsReceived();
     
      // Create binary attachment
      Authentication.setAuthenticatedUserId("testuser");
      attachment = taskService.createAttachment("test", task.getId(), processInstance.getId(), "attachment name", "description", new ByteArrayInputStream("test".getBytes()));
      assertNotNull(attachment.getUserId());
      assertEquals("testuser", attachment.getUserId());
      assertEquals(2, listener.getEventsReceived().size());
      event = (ActivitiEntityEvent) listener.getEventsReceived().get(0);
      assertEquals(ActivitiEventType.ENTITY_CREATED, event.getType());
      assertEquals(processInstance.getId(), event.getProcessInstanceId());
      assertEquals(processInstance.getId(), event.getExecutionId());
      assertEquals(processInstance.getProcessDefinitionId(), event.getProcessDefinitionId());
      attachmentFromEvent = (Attachment) event.getEntity();
      assertEquals(attachment.getId(), attachmentFromEvent.getId());
     
      event = (ActivitiEntityEvent) listener.getEventsReceived().get(1);
      assertEquals(ActivitiEventType.ENTITY_INITIALIZED, event.getType());
      listener.clearEventsReceived();
     
      // Update attachment
      attachment = taskService.getAttachment(attachment.getId());
      attachment.setDescription("Description");
      taskService.saveAttachment(attachment);
     
      assertEquals(1, listener.getEventsReceived().size());
      event = (ActivitiEntityEvent) listener.getEventsReceived().get(0);
      assertEquals(ActivitiEventType.ENTITY_UPDATED, event.getType());
      assertEquals(processInstance.getId(), event.getProcessInstanceId());
      assertEquals(processInstance.getId(), event.getExecutionId());
      assertEquals(processInstance.getProcessDefinitionId(), event.getProcessDefinitionId());
      attachmentFromEvent = (Attachment) event.getEntity();
      assertEquals(attachment.getId(), attachmentFromEvent.getId());
      assertEquals("Description", attachmentFromEvent.getDescription());
      listener.clearEventsReceived();
     
      // Finally, delete attachment
      taskService.deleteAttachment(attachment.getId());
      assertEquals(1, listener.getEventsReceived().size());
      event = (ActivitiEntityEvent) listener.getEventsReceived().get(0);
      assertEquals(ActivitiEventType.ENTITY_DELETED, event.getType());
      assertEquals(processInstance.getId(), event.getProcessInstanceId());
      assertEquals(processInstance.getId(), event.getExecutionId());
      assertEquals(processInstance.getProcessDefinitionId(), event.getProcessDefinitionId());
      attachmentFromEvent = (Attachment) event.getEntity();
      assertEquals(attachment.getId(), attachmentFromEvent.getId());
    }
  }
View Full Code Here

        assertNotNull(task);
       
        // Create link-attachment
        Attachment attachment = taskService.createAttachment("test", task.getId(), null, "attachment name", "description", "http://activiti.org");
        assertEquals(2, listener.getEventsReceived().size());
        ActivitiEntityEvent event = (ActivitiEntityEvent) listener.getEventsReceived().get(0);
        assertEquals(ActivitiEventType.ENTITY_CREATED, event.getType());
        assertNull(event.getProcessInstanceId());
        assertNull(event.getExecutionId());
        assertNull(event.getProcessDefinitionId());
        Attachment attachmentFromEvent = (Attachment) event.getEntity();
        assertEquals(attachment.getId(), attachmentFromEvent.getId());
        event = (ActivitiEntityEvent) listener.getEventsReceived().get(1);
        assertEquals(ActivitiEventType.ENTITY_INITIALIZED, event.getType());
        listener.clearEventsReceived();
       
        // Create binary attachment
        attachment = taskService.createAttachment("test", task.getId(), null, "attachment name", "description", new ByteArrayInputStream("test".getBytes()));
        assertEquals(2, listener.getEventsReceived().size());
        event = (ActivitiEntityEvent) listener.getEventsReceived().get(0);
        assertEquals(ActivitiEventType.ENTITY_CREATED, event.getType());
        assertNull(event.getProcessInstanceId());
        assertNull(event.getExecutionId());
        assertNull(event.getProcessDefinitionId());
        attachmentFromEvent = (Attachment) event.getEntity();
        assertEquals(attachment.getId(), attachmentFromEvent.getId());
       
        event = (ActivitiEntityEvent) listener.getEventsReceived().get(1);
        assertEquals(ActivitiEventType.ENTITY_INITIALIZED, event.getType());
        listener.clearEventsReceived();
       
        // Update attachment
        attachment = taskService.getAttachment(attachment.getId());
        attachment.setDescription("Description");
        taskService.saveAttachment(attachment);
       
        assertEquals(1, listener.getEventsReceived().size());
        event = (ActivitiEntityEvent) listener.getEventsReceived().get(0);
        assertEquals(ActivitiEventType.ENTITY_UPDATED, event.getType());
        assertNull(event.getProcessInstanceId());
        assertNull(event.getExecutionId());
        assertNull(event.getProcessDefinitionId());
        attachmentFromEvent = (Attachment) event.getEntity();
        assertEquals(attachment.getId(), attachmentFromEvent.getId());
        assertEquals("Description", attachmentFromEvent.getDescription());
        listener.clearEventsReceived();
       
        // Finally, delete attachment
        taskService.deleteAttachment(attachment.getId());
        assertEquals(1, listener.getEventsReceived().size());
        event = (ActivitiEntityEvent) listener.getEventsReceived().get(0);
        assertEquals(ActivitiEventType.ENTITY_DELETED, event.getType());
        assertNull(event.getProcessInstanceId());
        assertNull(event.getExecutionId());
        assertNull(event.getProcessDefinitionId());
        attachmentFromEvent = (Attachment) event.getEntity();
        assertEquals(attachment.getId(), attachmentFromEvent.getId());
       
      } finally {
        if(task != null && task.getId() != null) {
          taskService.deleteTask(task.getId());
View Full Code Here

        // Delete task and historic task
        taskService.deleteTask(task.getId());
        historyService.deleteHistoricTaskInstance(task.getId());
       
        assertEquals(1, listener.getEventsReceived().size());
        ActivitiEntityEvent event = (ActivitiEntityEvent) listener.getEventsReceived().get(0);
        assertEquals(ActivitiEventType.ENTITY_DELETED, event.getType());
        assertNull(event.getProcessInstanceId());
        assertNull(event.getExecutionId());
        assertNull(event.getProcessDefinitionId());
        Attachment attachmentFromEvent = (Attachment) event.getEntity();
        assertEquals(attachment.getId(), attachmentFromEvent.getId());
       
      } finally {
        if(task != null && task.getId() != null) {
          taskService.deleteTask(task.getId());
View Full Code Here

      user.setFirstName("Frederik");
      user.setLastName("Heremans");
      identityService.saveUser(user);

      assertEquals(2, listener.getEventsReceived().size());
      ActivitiEntityEvent event = (ActivitiEntityEvent) listener.getEventsReceived().get(0);
      assertEquals(ActivitiEventType.ENTITY_CREATED, event.getType());
      assertTrue(event.getEntity() instanceof User);
      User userFromEvent = (User) event.getEntity();
      assertEquals("fred", userFromEvent.getId());
      assertNull(event.getProcessDefinitionId());
      assertNull(event.getExecutionId());
      assertNull(event.getProcessInstanceId());
     
      event = (ActivitiEntityEvent) listener.getEventsReceived().get(1);
      assertEquals(ActivitiEventType.ENTITY_INITIALIZED, event.getType());
      listener.clearEventsReceived();

      // Update user
      user.setFirstName("Anna");
      identityService.saveUser(user);
      assertEquals(1, listener.getEventsReceived().size());
      event = (ActivitiEntityEvent) listener.getEventsReceived().get(0);
      assertEquals(ActivitiEventType.ENTITY_UPDATED, event.getType());
      assertTrue(event.getEntity() instanceof User);
      userFromEvent = (User) event.getEntity();
      assertEquals("fred", userFromEvent.getId());
      assertEquals("Anna", userFromEvent.getFirstName());
      assertNull(event.getProcessDefinitionId());
      assertNull(event.getExecutionId());
      assertNull(event.getProcessInstanceId());
      listener.clearEventsReceived();

      // Delete user
      identityService.deleteUser(user.getId());
     
      assertEquals(1, listener.getEventsReceived().size());
      event = (ActivitiEntityEvent) listener.getEventsReceived().get(0);
      assertEquals(ActivitiEventType.ENTITY_DELETED, event.getType());
      assertTrue(event.getEntity() instanceof User);
      userFromEvent = (User) event.getEntity();
      assertEquals("fred", userFromEvent.getId());
      assertNull(event.getProcessDefinitionId());
      assertNull(event.getExecutionId());
      assertNull(event.getProcessInstanceId());
      listener.clearEventsReceived();

    } finally {
      if (user != null && user.getId() != null) {
        identityService.deleteUser(user.getId());
View Full Code Here

      assertNotNull(task);
     
      // Create link-comment
      Comment comment = taskService.addComment(task.getId(), task.getProcessInstanceId(), "comment");
      assertEquals(2, listener.getEventsReceived().size());
      ActivitiEntityEvent event = (ActivitiEntityEvent) listener.getEventsReceived().get(0);
      assertEquals(ActivitiEventType.ENTITY_CREATED, event.getType());
      assertEquals(processInstance.getId(), event.getProcessInstanceId());
      assertEquals(processInstance.getId(), event.getExecutionId());
      assertEquals(processInstance.getProcessDefinitionId(), event.getProcessDefinitionId());
      Comment commentFromEvent = (Comment) event.getEntity();
      assertEquals(comment.getId(), commentFromEvent.getId());
     
      event = (ActivitiEntityEvent) listener.getEventsReceived().get(1);
      assertEquals(ActivitiEventType.ENTITY_INITIALIZED, event.getType());
      listener.clearEventsReceived();
     
      // Finally, delete comment
      taskService.deleteComment(comment.getId());
      assertEquals(1, listener.getEventsReceived().size());
      event = (ActivitiEntityEvent) listener.getEventsReceived().get(0);
      assertEquals(ActivitiEventType.ENTITY_DELETED, event.getType());
      assertEquals(processInstance.getId(), event.getProcessInstanceId());
      assertEquals(processInstance.getId(), event.getExecutionId());
      assertEquals(processInstance.getProcessDefinitionId(), event.getProcessDefinitionId());
      commentFromEvent = (Comment) event.getEntity();
      assertEquals(comment.getId(), commentFromEvent.getId());
    }
  }
View Full Code Here

TOP

Related Classes of org.activiti.engine.delegate.event.ActivitiEntityEvent

Copyright © 2018 www.massapicom. 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.