diff options
Diffstat (limited to 'plugins/org.eclipse.osee.ote.ui.test.manager/src/org/eclipse/osee/ote/ui/test/manager/connection/TestManagerServiceStatusDataVisitor.java')
-rw-r--r-- | plugins/org.eclipse.osee.ote.ui.test.manager/src/org/eclipse/osee/ote/ui/test/manager/connection/TestManagerServiceStatusDataVisitor.java | 572 |
1 files changed, 290 insertions, 282 deletions
diff --git a/plugins/org.eclipse.osee.ote.ui.test.manager/src/org/eclipse/osee/ote/ui/test/manager/connection/TestManagerServiceStatusDataVisitor.java b/plugins/org.eclipse.osee.ote.ui.test.manager/src/org/eclipse/osee/ote/ui/test/manager/connection/TestManagerServiceStatusDataVisitor.java index 2da232cbb5c..0010b40b645 100644 --- a/plugins/org.eclipse.osee.ote.ui.test.manager/src/org/eclipse/osee/ote/ui/test/manager/connection/TestManagerServiceStatusDataVisitor.java +++ b/plugins/org.eclipse.osee.ote.ui.test.manager/src/org/eclipse/osee/ote/ui/test/manager/connection/TestManagerServiceStatusDataVisitor.java @@ -44,312 +44,320 @@ import org.eclipse.osee.ote.ui.test.manager.pages.scriptTable.ScriptTask.ScriptS */ final class TestManagerServiceStatusDataVisitor implements IServiceStatusDataVisitor { - private final ScriptManager scriptManager; - private final TestManagerEditor testManagerEditor; - private final ExecutorService executor; + private final ScriptManager scriptManager; + private final TestManagerEditor testManagerEditor; + private final ExecutorService executor; - protected TestManagerServiceStatusDataVisitor(ScriptManager scriptManager, TestManagerEditor testManagerEditor) { - this.scriptManager = scriptManager; - this.testManagerEditor = testManagerEditor; - executor = Executors.newSingleThreadExecutor(); + protected TestManagerServiceStatusDataVisitor(ScriptManager scriptManager, TestManagerEditor testManagerEditor) { + this.scriptManager = scriptManager; + this.testManagerEditor = testManagerEditor; + executor = Executors.newSingleThreadExecutor(); - } + } - public void asCommandAdded(final CommandAdded commandAdded) { - executor.submit(new StatusBoardRecieveEvent<CommandAdded>(commandAdded) { - @Override - public void run() { - checkServiceStatusDataValid(commandAdded); - logServiceStatusData(commandAdded); - final ScriptTask task = getScriptTask(commandAdded); - if (task != null) { - task.setStatus(ScriptStatusEnum.IN_QUEUE); - scriptManager.updateScriptTableViewer(task); - } - } - }); - logExecutorSize(); - } + @Override + public void asCommandAdded(final CommandAdded commandAdded) { + executor.submit(new StatusBoardRecieveEvent<CommandAdded>(commandAdded) { + @Override + public void run() { + checkServiceStatusDataValid(commandAdded); + logServiceStatusData(commandAdded); + final ScriptTask task = getScriptTask(commandAdded); + if (task != null) { + task.setStatus(ScriptStatusEnum.IN_QUEUE); + scriptManager.updateScriptTableViewer(task); + } + } + }); + logExecutorSize(); + } - public void asCommandRemoved(final CommandRemoved commandRemoved) { - executor.submit(new StatusBoardRecieveEvent<CommandRemoved>(commandRemoved) { - @Override - public void run() { - checkServiceStatusDataValid(commandRemoved); - logServiceStatusData(commandRemoved); + @Override + public void asCommandRemoved(final CommandRemoved commandRemoved) { + executor.submit(new StatusBoardRecieveEvent<CommandRemoved>(commandRemoved) { + @Override + public void run() { + checkServiceStatusDataValid(commandRemoved); + logServiceStatusData(commandRemoved); - final ScriptTask task = getScriptTask(commandRemoved); - if (task != null) { - CommandEndedStatusEnum cmdStat = commandRemoved.getReason(); - if (cmdStat.equals(CommandEndedStatusEnum.ABORTED)) { - logOnConsole(Level.SEVERE, String.format("Test Aborted: [%s]", task.getName())); - task.setStatus(ScriptStatusEnum.CANCELLED); - } - notifyExecutionComplete(task); - // userEnvironment.notifyScriptDequeued(task.getGuid()); - scriptManager.updateScriptTableViewer(task); - } - } - }); - logExecutorSize(); - } + final ScriptTask task = getScriptTask(commandRemoved); + if (task != null) { + CommandEndedStatusEnum cmdStat = commandRemoved.getReason(); + if (cmdStat.equals(CommandEndedStatusEnum.ABORTED)) { + logOnConsole(Level.SEVERE, String.format("Test Aborted: [%s]", task.getName())); + task.setStatus(ScriptStatusEnum.CANCELLED); + } + notifyExecutionComplete(task); + // userEnvironment.notifyScriptDequeued(task.getGuid()); + scriptManager.updateScriptTableViewer(task); + } + } + }); + logExecutorSize(); + } - public void asEnvironmentError(final EnvironmentError environmentError) { - executor.submit(new StatusBoardRecieveEvent<EnvironmentError>(environmentError) { - @Override - public void run() { - checkServiceStatusDataValid(environmentError); + @Override + public void asEnvironmentError(final EnvironmentError environmentError) { + executor.submit(new StatusBoardRecieveEvent<EnvironmentError>(environmentError) { + @Override + public void run() { + checkServiceStatusDataValid(environmentError); - OseeLog.log(TestManagerPlugin.class, Level.SEVERE, - "errorOccured: " + environmentError.getErr().getMessage()); - environmentError.getErr().printStackTrace(); - final String msg = Lib.exceptionToString(environmentError.getErr()); - logOnConsole(Level.SEVERE, String.format("Test Environment Error: [%s]", msg)); - disconnectOnError(msg); - } - }); - logExecutorSize(); - } + OseeLog.log(TestManagerPlugin.class, Level.SEVERE, + "errorOccured: " + environmentError.getErr().getMessage()); + environmentError.getErr().printStackTrace(); + final String msg = Lib.exceptionToString(environmentError.getErr()); + logOnConsole(Level.SEVERE, String.format("Test Environment Error: [%s]", msg)); + disconnectOnError(msg); + } + }); + logExecutorSize(); + } - public void asSequentialCommandBegan(final SequentialCommandBegan sequentialCommandBegan) { - executor.submit(new StatusBoardRecieveEvent<SequentialCommandBegan>(sequentialCommandBegan) { - @Override - public void run() { - checkServiceStatusDataValid(sequentialCommandBegan); - logServiceStatusData(sequentialCommandBegan); + @Override + public void asSequentialCommandBegan(final SequentialCommandBegan sequentialCommandBegan) { + executor.submit(new StatusBoardRecieveEvent<SequentialCommandBegan>(sequentialCommandBegan) { + @Override + public void run() { + checkServiceStatusDataValid(sequentialCommandBegan); + logServiceStatusData(sequentialCommandBegan); - final ScriptTask task = getScriptTask(sequentialCommandBegan); - if (task != null && task.getScriptModel() != null) { - OseeLog.log(TestManagerPlugin.class, Level.INFO, String.format("Script Task: [%s]", task)); - logOnConsole(Level.INFO, String.format("Test Starting: [%s]", task.getName())); - task.setStatus(ScriptStatusEnum.RUNNING); - scriptManager.updateScriptTableViewer(task); - } - } - }); - logExecutorSize(); - } + final ScriptTask task = getScriptTask(sequentialCommandBegan); + if (task != null && task.getScriptModel() != null) { + OseeLog.log(TestManagerPlugin.class, Level.INFO, String.format("Script Task: [%s]", task)); + logOnConsole(Level.INFO, String.format("Test Starting: [%s]", task.getName())); + task.setStatus(ScriptStatusEnum.RUNNING); + scriptManager.updateScriptTableViewer(task); + } + } + }); + logExecutorSize(); + } - public void asSequentialCommandEnded(final SequentialCommandEnded sequentialCommandEnded) { + @Override + public void asSequentialCommandEnded(final SequentialCommandEnded sequentialCommandEnded) { - executor.submit(new StatusBoardRecieveEvent<SequentialCommandEnded>(sequentialCommandEnded) { - @Override - public void run() { - checkServiceStatusDataValid(sequentialCommandEnded); - logServiceStatusData(sequentialCommandEnded); - final ScriptTask task = getScriptTask(sequentialCommandEnded); - if (task != null) { - OseeLog.log(TestManagerPlugin.class, Level.INFO, String.format("Script Task: [%s]", task)); - CommandEndedStatusEnum cmdStat = sequentialCommandEnded.getStatus(); - switch (cmdStat) { - case ABORTED: - logOnConsole(Level.SEVERE, String.format("Test Aborted: [%s]", task.getName())); - task.setStatus(ScriptStatusEnum.CANCELLED); - break; - case EXCEPTION: - task.setStatus(ScriptStatusEnum.CANCELLED); - logOnConsole(Level.SEVERE, - String.format("Test Aborted: [%s] - Exception Occurred", task.getName())); - break; - case HUNG: - task.setStatus(ScriptStatusEnum.CANCELLED); - logOnConsole(Level.SEVERE, String.format("Test Hung: [%s]", task.getName())); - break; - case RAN_TO_COMPLETION: - task.setStatus(ScriptStatusEnum.COMPLETE); - break; - default: - task.setStatus(ScriptStatusEnum.COMPLETE); - logOnConsole(Level.SEVERE, String.format("Test Ended Unexpectedly: [%s]", task.getName())); - break; - } - // onOutfileSave(task, sequentialCommandEnded.getDescription(), - // isValidRun); - logOnConsole(Level.INFO, String.format("Test Completed: [%s]", task.getName())); - notifyExecutionComplete(task); - // userEnvironment.notifyScriptDequeued(task.getGuid()); - scriptManager.updateScriptTableViewer(task); - } - } - }); - logExecutorSize(); - } + executor.submit(new StatusBoardRecieveEvent<SequentialCommandEnded>(sequentialCommandEnded) { + @Override + public void run() { + checkServiceStatusDataValid(sequentialCommandEnded); + logServiceStatusData(sequentialCommandEnded); + final ScriptTask task = getScriptTask(sequentialCommandEnded); + if (task != null) { + OseeLog.log(TestManagerPlugin.class, Level.INFO, String.format("Script Task: [%s]", task)); + CommandEndedStatusEnum cmdStat = sequentialCommandEnded.getStatus(); + switch (cmdStat) { + case ABORTED: + logOnConsole(Level.SEVERE, String.format("Test Aborted: [%s]", task.getName())); + task.setStatus(ScriptStatusEnum.CANCELLED); + break; + case EXCEPTION: + task.setStatus(ScriptStatusEnum.CANCELLED); + logOnConsole(Level.SEVERE, + String.format("Test Aborted: [%s] - Exception Occurred", task.getName())); + break; + case HUNG: + task.setStatus(ScriptStatusEnum.CANCELLED); + logOnConsole(Level.SEVERE, String.format("Test Hung: [%s]", task.getName())); + break; + case RAN_TO_COMPLETION: + task.setStatus(ScriptStatusEnum.COMPLETE); + break; + default: + task.setStatus(ScriptStatusEnum.COMPLETE); + logOnConsole(Level.SEVERE, String.format("Test Ended Unexpectedly: [%s]", task.getName())); + break; + } + // onOutfileSave(task, sequentialCommandEnded.getDescription(), + // isValidRun); + logOnConsole(Level.INFO, String.format("Test Completed: [%s]", task.getName())); + notifyExecutionComplete(task); + // userEnvironment.notifyScriptDequeued(task.getGuid()); + scriptManager.updateScriptTableViewer(task); + } + } + }); + logExecutorSize(); + } - public void asTestPointUpdate(final TestPointUpdate testPointUpdate) { - executor.submit(new StatusBoardRecieveEvent<TestPointUpdate>(testPointUpdate) { - @Override - public void run() { - checkServiceStatusDataValid(testPointUpdate); - final ScriptTask task = scriptManager.getScriptTask(testPointUpdate.getClassName()); - // final ScriptTask task = getScriptTask(testPointUpdate); - if (task != null) { - task.getScriptModel().getOutputModel().setPassedTestPoints(testPointUpdate.getPass()); - task.getScriptModel().getOutputModel().setFailedTestPoints(testPointUpdate.getFail()); - scriptManager.updateScriptTableViewerTimed(task); - } else { - OseeLog.log(TestManagerPlugin.class, Level.WARNING, "testPointsUpdated: task is null"); - } - } - }); - logExecutorSize(); - } + @Override + public void asTestPointUpdate(final TestPointUpdate testPointUpdate) { + executor.submit(new StatusBoardRecieveEvent<TestPointUpdate>(testPointUpdate) { + @Override + public void run() { + checkServiceStatusDataValid(testPointUpdate); + final ScriptTask task = scriptManager.getScriptTask(testPointUpdate.getClassName()); + // final ScriptTask task = getScriptTask(testPointUpdate); + if (task != null) { + task.getScriptModel().getOutputModel().setPassedTestPoints(testPointUpdate.getPass()); + task.getScriptModel().getOutputModel().setFailedTestPoints(testPointUpdate.getFail()); + scriptManager.updateScriptTableViewerTimed(task); + } else { + OseeLog.log(TestManagerPlugin.class, Level.WARNING, "testPointsUpdated: task is null"); + } + } + }); + logExecutorSize(); + } - private synchronized void logOnConsole(final Level level, final String msg) { - if (level.equals(Level.SEVERE)) { - TestManagerPlugin.getInstance().getOteConsoleService().writeError(msg); - } else { - TestManagerPlugin.getInstance().getOteConsoleService().write(msg); - } - } + private synchronized void logOnConsole(final Level level, final String msg) { + if (level.equals(Level.SEVERE)) { + TestManagerPlugin.getInstance().getOteConsoleService().writeError(msg); + } else { + TestManagerPlugin.getInstance().getOteConsoleService().write(msg); + } + } - private void checkServiceStatusDataValid(IServiceStatusData statusData) { - if (statusData == null) { - throw new IllegalArgumentException(String.format("Error [%s] was null.", IServiceStatusData.class.getName())); - } - } + private void checkServiceStatusDataValid(IServiceStatusData statusData) { + if (statusData == null) { + throw new IllegalArgumentException(String.format("Error [%s] was null.", IServiceStatusData.class.getName())); + } + } - private void disconnectOnError(final String cause) { - Displays.ensureInDisplayThread(new Runnable() { - @Override - public void run() { - TestManagerPlugin.getInstance().getOteConsoleService().writeError(cause); - } - }); - } + private void disconnectOnError(final String cause) { + Displays.ensureInDisplayThread(new Runnable() { + @Override + public void run() { + TestManagerPlugin.getInstance().getOteConsoleService().writeError(cause); + } + }); + } - private void logServiceStatusData(IServiceStatusDataCommand statusData) { - OseeLog.log(TestManagerPlugin.class, Level.FINE, - String.format("%s: %s ", statusData.getClass().getName(), statusData.getDescription())); - } + private void logServiceStatusData(IServiceStatusDataCommand statusData) { + OseeLog.log(TestManagerPlugin.class, Level.FINE, + String.format("%s: %s ", statusData.getClass().getName(), statusData.getDescription())); + } - private ScriptTask getScriptTask(IServiceStatusDataCommand statusData) { - // statusData.getDescription().getDescription() - return scriptManager.getScriptTask(statusData.getDescription().getDescription()); - } + private ScriptTask getScriptTask(IServiceStatusDataCommand statusData) { + // statusData.getDescription().getDescription() + return scriptManager.getScriptTask(statusData.getDescription().getDescription()); + } - private void notifyExecutionComplete(ScriptTask scriptTask) { - // if (userEnvironment.getLastGUIDToRun() != null && - // scriptTask.getGuid().equals(userEnvironment.getLastGUIDToRun())) { - Displays.ensureInDisplayThread(new Runnable() { - @Override - public void run() { - testManagerEditor.executionCompleted(); - } - }); - logExecutorSize(); - // } - } + private void notifyExecutionComplete(ScriptTask scriptTask) { + // if (userEnvironment.getLastGUIDToRun() != null && + // scriptTask.getGuid().equals(userEnvironment.getLastGUIDToRun())) { + Displays.ensureInDisplayThread(new Runnable() { + @Override + public void run() { + testManagerEditor.executionCompleted(); + } + }); + logExecutorSize(); + // } + } - @Override - public void asTestServerCommandComplete(final TestServerCommandComplete end) { + @Override + public void asTestServerCommandComplete(final TestServerCommandComplete end) { - executor.submit(new StatusBoardRecieveEvent<TestServerCommandComplete>(end) { - @Override - public void run() { - try { - ITestCommandResult result = end.getHandle().get(); - TestCommandStatus status = result.getStatus(); - Throwable th = result.getThrowable(); - if (th != null) { - th.printStackTrace(); - } - if (status != null) { - System.out.println(status.name()); - } - } catch (RemoteException ex) { - OseeLog.log(TestManagerPlugin.class, Level.SEVERE, ex); - } + executor.submit(new StatusBoardRecieveEvent<TestServerCommandComplete>(end) { + @Override + public void run() { + try { + ITestCommandResult result = end.getHandle().get(); + TestCommandStatus status = result.getStatus(); + Throwable th = result.getThrowable(); + if (th != null) { + th.printStackTrace(); + } + if (status != null) { + System.out.println(status.name()); + } + } catch (RemoteException ex) { + OseeLog.log(TestManagerPlugin.class, Level.SEVERE, ex); + } - notifyExecutionComplete(null); - } - }); - logExecutorSize(); - } + notifyExecutionComplete(null); + } + }); + logExecutorSize(); + } - public void asTestComplete(final TestComplete testComplete) { - executor.submit(new StatusBoardRecieveEvent<TestComplete>(testComplete) { - @Override - public void run() { - ScriptTask task = scriptManager.getScriptTask(testComplete.getClassName()); - if (task != null) { - OseeLog.log(TestManagerPlugin.class, Level.INFO, String.format("Script Task: [%s]", task)); - boolean isValidRun = true; - CommandEndedStatusEnum cmdStat = testComplete.getStatus(); - switch (cmdStat) { - case ABORTED: - logOnConsole(Level.SEVERE, String.format("Test Aborted: [%s]", task.getName())); - for (IHealthStatus status : testComplete.getHealthStatus()) { - String msg; - if (status.getException() != null) { - msg = Lib.exceptionToString(status.getException()); - } else { - msg = status.getMessage(); - } - logOnConsole(status.getLevel(), msg); - } - task.setStatus(ScriptStatusEnum.CANCELLED); - break; - case EXCEPTION: - task.setStatus(ScriptStatusEnum.CANCELLED); - logOnConsole(Level.SEVERE, - String.format("Test Exception: [%s] - Exception Occurred", task.getName())); - StringBuilder sb = new StringBuilder(); - try { - for (IHealthStatus status : testComplete.getHealthStatus()) { - if (status.getException() != null) { - sb.append(Lib.exceptionToString(status.getException())); - } else if (status.getLevel().intValue() >= Level.SEVERE.intValue()) { - sb.append(status.getMessage()); - } - } - logOnConsole(Level.SEVERE, sb.toString()); - } catch (Throwable th) { - th.printStackTrace(); - } - break; - case HUNG: - task.setStatus(ScriptStatusEnum.CANCELLED); - logOnConsole(Level.SEVERE, String.format("Test Hung: [%s]", task.getName())); - break; - case RAN_TO_COMPLETION: - task.setStatus(ScriptStatusEnum.COMPLETE); - break; - default: - task.setStatus(ScriptStatusEnum.COMPLETE); - logOnConsole(Level.SEVERE, String.format("Test Ended Unexpectedly: [%s]", task.getName())); - isValidRun = false; - break; - } - scriptManager.storeOutFile(task, testComplete, isValidRun); - logOnConsole(Level.INFO, String.format("Test Completed: [%s]", task.getName())); + @Override + public void asTestComplete(final TestComplete testComplete) { + executor.submit(new StatusBoardRecieveEvent<TestComplete>(testComplete) { + @Override + public void run() { + ScriptTask task = scriptManager.getScriptTask(testComplete.getClassName()); + if (task != null) { + OseeLog.log(TestManagerPlugin.class, Level.INFO, String.format("Script Task: [%s]", task)); + boolean isValidRun = true; + CommandEndedStatusEnum cmdStat = testComplete.getStatus(); + switch (cmdStat) { + case ABORTED: + logOnConsole(Level.SEVERE, String.format("Test Aborted: [%s]", task.getName())); + for (IHealthStatus status : testComplete.getHealthStatus()) { + String msg; + if (status.getException() != null) { + msg = Lib.exceptionToString(status.getException()); + } else { + msg = status.getMessage(); + } + logOnConsole(status.getLevel(), msg); + } + task.setStatus(ScriptStatusEnum.CANCELLED); + break; + case EXCEPTION: + task.setStatus(ScriptStatusEnum.CANCELLED); + logOnConsole(Level.SEVERE, + String.format("Test Exception: [%s] - Exception Occurred", task.getName())); + StringBuilder sb = new StringBuilder(); + try { + for (IHealthStatus status : testComplete.getHealthStatus()) { + if (status.getException() != null) { + sb.append(Lib.exceptionToString(status.getException())); + } else if (status.getLevel().intValue() >= Level.SEVERE.intValue()) { + sb.append(status.getMessage()); + } + } + logOnConsole(Level.SEVERE, sb.toString()); + } catch (Throwable th) { + th.printStackTrace(); + } + break; + case HUNG: + task.setStatus(ScriptStatusEnum.CANCELLED); + logOnConsole(Level.SEVERE, String.format("Test Hung: [%s]", task.getName())); + break; + case RAN_TO_COMPLETION: + task.setStatus(ScriptStatusEnum.COMPLETE); + break; + default: + task.setStatus(ScriptStatusEnum.COMPLETE); + logOnConsole(Level.SEVERE, String.format("Test Ended Unexpectedly: [%s]", task.getName())); + isValidRun = false; + break; + } + scriptManager.storeOutFile(task, testComplete, isValidRun); + logOnConsole(Level.INFO, String.format("Test Completed: [%s]", task.getName())); - scriptManager.notifyScriptDequeued(testComplete.getClassName()); - scriptManager.updateScriptTableViewer(task); + scriptManager.notifyScriptDequeued(testComplete.getClassName()); + scriptManager.updateScriptTableViewer(task); - } - } - }); - logExecutorSize(); - } + } + } + }); + logExecutorSize(); + } - public void asTestStart(final TestStart testStart) { - executor.submit(new StatusBoardRecieveEvent<TestStart>(testStart) { - @Override - public void run() { - ScriptTask task = scriptManager.getScriptTask(testStart.getTestClassName()); - if (task != null) { - scriptManager.notifyScriptStart(task); - logOnConsole(Level.INFO, String.format("Test Started: [%s]", task.getName())); - } - } - }); - logExecutorSize(); - } + @Override + public void asTestStart(final TestStart testStart) { + executor.submit(new StatusBoardRecieveEvent<TestStart>(testStart) { + @Override + public void run() { + ScriptTask task = scriptManager.getScriptTask(testStart.getTestClassName()); + if (task != null) { + scriptManager.notifyScriptStart(task); + logOnConsole(Level.INFO, String.format("Test Started: [%s]", task.getName())); + } + } + }); + logExecutorSize(); + } - private void logExecutorSize() { - if (executor instanceof ThreadPoolExecutor) { - OseeLog.log(TestManagerServiceStatusDataVisitor.class, Level.FINE, String.format( - "Current StatusBoard Executor Size [%d]", ((ThreadPoolExecutor) executor).getQueue().size())); - } - } + private void logExecutorSize() { + if (executor instanceof ThreadPoolExecutor) { + OseeLog.log(TestManagerServiceStatusDataVisitor.class, Level.FINE, + String.format("Current StatusBoard Executor Size [%d]", ((ThreadPoolExecutor) executor).getQueue().size())); + } + } } |