From 84d5c94ce3d596bb68ba7add727a6e3ea02b6f76 Mon Sep 17 00:00:00 2001 From: Anatoliy Bazko Date: Tue, 10 May 2016 16:13:08 +0300 Subject: [PATCH 1/3] CHE-976: Make debugger API generic --- assembly/assembly-ide-war/pom.xml | 8 +- .../resources/org/eclipse/che/ide/IDE.gwt.xml | 7 +- assembly/assembly-machine-war/pom.xml | 8 +- .../che/wsagent/server/WsAgentModule.java | 11 +- .../che/ide/rest/AsyncRequestFactory.java | 36 +- .../eclipse/che/ide/api/debug/Breakpoint.java | 16 +- core/ide/che-core-ide-app/pom.xml | 12 + .../eclipse/che/ide/core/CoreGinModule.java | 3 + .../che/ide/debug/BreakpointManagerImpl.java | 71 ++- .../org/eclipse/che/ide/debug/Debugger.java | 61 ++- .../che/ide/debug/DebuggerManager.java | 10 +- .../che/ide/debug/DebuggerObserver.java | 2 +- .../che/ide/debug/dto/BreakpointDto.java | 8 +- .../che-core-client-gwt-debugger}/pom.xml | 111 ++--- .../gwt/client/DebuggerServiceClient.java | 181 +++++++ .../gwt/client/DebuggerServiceClientImpl.java | 200 ++++++++ .../org/eclipse/che/api/Debugger.gwt.xml | 20 + core/platform-api-client-gwt/pom.xml | 1 + .../che-plugin-debugger-ide/pom.xml | 89 +++- .../debug/DebuggerEventListUnmarshaller.java | 86 ---- .../client/debug/DebuggerServiceClient.java | 161 ------ .../client/debug/DebuggerVariable.java | 117 ----- .../debugger/ide}/DebuggerExtension.java | 28 +- .../ide}/DebuggerLocalizationConstant.java | 2 +- .../debugger/ide}/DebuggerResources.java | 2 +- .../actions/ChangeVariableValueAction.java | 10 +- .../debugger/ide}/actions/DebugAction.java | 8 +- .../actions/DeleteAllBreakpointsAction.java | 6 +- .../actions/DisconnectDebuggerAction.java | 8 +- .../actions/EditConfigurationsAction.java | 6 +- .../actions/EvaluateExpressionAction.java | 10 +- .../ide}/actions/ResumeExecutionAction.java | 6 +- .../actions/ShowHideDebuggerPanelAction.java | 6 +- .../debugger/ide}/actions/StepIntoAction.java | 6 +- .../debugger/ide}/actions/StepOutAction.java | 6 +- .../debugger/ide}/actions/StepOverAction.java | 6 +- .../DebugConfigurationAction.java | 4 +- .../DebugConfigurationActionFactory.java | 2 +- .../DebugConfigurationTypeRegistry.java | 2 +- .../DebugConfigurationsGroup.java | 2 +- .../DebugConfigurationsManagerImpl.java | 4 +- .../EditConfigurationsResources.java | 2 +- .../EditDebugConfigurationsPresenter.java | 4 +- .../EditDebugConfigurationsView.java | 2 +- .../EditDebugConfigurationsViewImpl.java | 4 +- .../EditDebugConfigurationsViewImpl.ui.xml | 2 +- .../dto}/DebugConfigurationDto.java | 2 +- .../debugger/ide}/debug/AbstractDebugger.java | 432 ++++++++-------- .../ide}/debug/ActiveFileHandler.java | 2 +- .../ide/debug/DebuggerEventUnmarshaller.java | 70 +++ .../ide}/debug/DebuggerPresenter.java | 83 ++-- .../debugger/ide}/debug/DebuggerToolbar.java | 2 +- .../debugger/ide}/debug/DebuggerView.java | 14 +- .../debugger/ide}/debug/DebuggerViewImpl.java | 50 +- .../ide}/debug/DebuggerViewImpl.ui.xml | 4 +- .../ide}/debug/VariableNodeDataAdapter.java | 37 +- .../ide}/debug/VariableTreeNodeRenderer.java | 11 +- .../changevalue/ChangeValuePresenter.java | 27 +- .../debug/changevalue/ChangeValueView.java | 4 +- .../changevalue/ChangeValueViewImpl.java | 6 +- .../changevalue/ChangeValueViewImpl.ui.xml | 0 .../EvaluateExpressionPresenter.java | 8 +- .../expression/EvaluateExpressionView.java | 4 +- .../EvaluateExpressionViewImpl.java | 6 +- .../EvaluateExpressionViewImpl.ui.xml | 4 +- .../debugger/ide}/fqn/FqnResolver.java | 4 +- .../debugger/ide}/fqn/FqnResolverFactory.java | 4 +- .../ide}/fqn/FqnResolverObservable.java | 2 +- .../ide}/fqn/FqnResolverObserver.java | 2 +- .../ide}/inject/DebuggerGinModule.java | 26 +- .../debugger/Debugger.gwt.xml} | 4 +- .../DebuggerLocalizationConstant.properties | 0 .../debugger/ide}/breakpoint.svg | 0 .../add-configuration-button.svg | 0 .../duplicate-configuration-button.svg | 0 .../ide}/configuration/editConfigurations.css | 0 .../debugger/ide}/configuration/find-icon.svg | 0 .../remove-configuration-button.svg | 0 .../debugger/ide}/connect.svg | 0 .../debugger/ide}/debug-icon.svg | 0 .../client => plugin/debugger/ide}/debug.svg | 0 .../debugger/ide}/debug/Debug.css | 0 .../debugger/ide}/debugger.css | 0 .../debugger/ide}/disconnect.svg | 0 .../client => plugin/debugger/ide}/edit.svg | 0 .../debugger/ide}/evaluate.svg | 0 .../client => plugin/debugger/ide}/remove.svg | 0 .../client => plugin/debugger/ide}/resume.svg | 0 .../debugger/ide}/separator.svg | 0 .../debugger/ide}/stepinto.svg | 0 .../debugger/ide}/stepout.svg | 0 .../debugger/ide}/stepover.svg | 0 .../client/debug/DebuggerVariableTest.java | 207 -------- .../debugger/ide}/BaseTest.java | 26 +- .../ide}/ChangeVariableValueTest.java | 45 +- .../debugger/ide}/EvaluateExpressionTest.java | 16 +- .../ide}/actions/DebugActionTest.java | 10 +- .../DebugConfigurationActionTest.java | 4 +- .../DebugConfigurationsGroupTest.java | 2 +- .../ide}/debug/DebuggerPresenterTest.java | 71 ++- .../debugger/ide}/debug/DebuggerTest.java | 314 ++++++------ plugins/plugin-debugger/pom.xml | 1 - plugins/plugin-gdb/che-plugin-gdb-ide/pom.xml | 8 +- .../client/GdbDebuggerServiceClientImpl.java | 195 -------- .../gdb/ide/GdbDebugger.java} | 45 +- .../gdb/ide}/GdbDebuggerFileHandler.java | 8 +- .../gdb/ide}/GdbExtension.java | 6 +- .../gdb/ide}/GdbGinModule.java | 8 +- .../gdb/ide}/GdbLocalizationConstant.java | 2 +- .../gdb/ide}/GdbResources.java | 2 +- .../GdbConfigurationPagePresenter.java | 2 +- .../GdbConfigurationPageView.java | 2 +- .../GdbConfigurationPageViewImpl.java | 2 +- .../GdbConfigurationPageViewImpl.ui.xml | 2 +- .../configuration/GdbConfigurationType.java | 12 +- .../gdb/Gdb.gwt.xml} | 4 +- .../ide}/GdbLocalizationConstant.properties | 0 .../configuration/gdb-configuration-type.svg | 0 .../GdbConfigurationPagePresenterTest.java | 5 +- .../GdbConfigurationTypeTest.java | 9 +- .../plugin-gdb/che-plugin-gdb-server/pom.xml | 33 +- .../che/ide/gdb/server/GdbDebugger.java | 466 ------------------ .../ide/gdb/server/GdbDebuggerService.java | 174 ------- .../che/{ide => plugin}/gdb/server/Gdb.java | 40 +- .../che/plugin/gdb/server/GdbDebugger.java | 365 ++++++++++++++ .../plugin/gdb/server/GdbDebuggerFactory.java | 62 +++ .../plugin/gdb/server/GdbDebuggerModule.java | 29 ++ .../gdb/server/GdbProcess.java | 4 +- .../gdb/server/parser/GdbBreak.java | 2 +- .../gdb/server/parser/GdbClear.java | 2 +- .../gdb/server/parser/GdbContinue.java | 19 +- .../gdb/server/parser/GdbDelete.java | 2 +- .../gdb/server/parser/GdbDirectory.java | 2 +- .../gdb/server/parser/GdbFile.java | 2 +- .../gdb/server/parser/GdbInfoArgs.java | 2 +- .../gdb/server/parser/GdbInfoBreak.java | 19 +- .../gdb/server/parser/GdbInfoLine.java | 14 +- .../gdb/server/parser/GdbInfoLocals.java | 2 +- .../gdb/server/parser/GdbInfoProgram.java | 2 +- .../gdb/server/parser/GdbOutput.java | 2 +- .../gdb/server/parser/GdbPType.java | 2 +- .../gdb/server/parser/GdbParseException.java | 2 +- .../gdb/server/parser/GdbPrint.java | 2 +- .../gdb/server/parser/GdbRun.java | 19 +- .../gdb/server/parser/GdbTargetRemote.java | 2 +- .../gdb/server/parser/GdbVersion.java | 2 +- .../che/ide/gdb/server/GdbDebuggerTest.java | 249 ---------- .../plugin/gdb/server/GdbDebuggerTest.java | 239 +++++++++ .../{ide => plugin}/gdb/server/GdbServer.java | 4 +- .../{ide => plugin}/gdb/server/GdbTest.java | 30 +- .../gdb/server/parser/GdbBreakTest.java | 4 +- .../gdb/server/parser/GdbClearTest.java | 4 +- .../gdb/server/parser/GdbDeleteTest.java | 4 +- .../gdb/server/parser/GdbDirectoryTest.java | 4 +- .../gdb/server/parser/GdbFileTest.java | 4 +- .../gdb/server/parser/GdbInfoArgsTest.java | 4 +- .../gdb/server/parser/GdbInfoBreakTest.java | 10 +- .../gdb/server/parser/GdbInfoLineTest.java | 8 +- .../gdb/server/parser/GdbInfoLocalsTest.java | 4 +- .../gdb/server/parser/GdbInfoProgramTest.java | 2 +- .../gdb/server/parser/GdbPTypeTest.java | 4 +- .../gdb/server/parser/GdbPrintTest.java | 4 +- .../gdb/server/parser/GdbRunTest.java | 8 +- .../server/parser/GdbTargetRemoteTest.java | 4 +- .../gdb/server/parser/GdbVersionTest.java | 4 +- plugins/plugin-java-debugger/.gitignore | 58 +++ plugins/plugin-java-debugger/README.md | 1 + .../che-plugin-java-debugger-ide/pom.xml | 12 +- .../jdb/ide/JavaDebuggerExtension.java} | 22 +- .../JavaDebuggerLocalizationConstant.java} | 4 +- .../jdb/ide/JavaDebuggerResources.java} | 4 +- .../JavaDebugConfigurationPagePresenter.java | 2 +- .../JavaDebugConfigurationPageView.java | 2 +- .../JavaDebugConfigurationPageViewImpl.java | 2 +- .../JavaDebugConfigurationPageViewImpl.ui.xml | 2 +- .../JavaDebugConfigurationType.java | 13 +- .../plugin/jdb/ide}/debug/JavaDebugger.java | 36 +- .../ide}/debug/JavaDebuggerFileHandler.java | 8 +- .../jdb/ide}/fqn/JavaClassFqnResolver.java | 6 +- .../plugin/jdb/ide}/fqn/JavaFqnResolver.java | 6 +- .../jdb/ide}/inject/JavaRuntimeGinModule.java | 8 +- .../che/plugin/jdb/JavaDebugger.gwt.xml} | 4 +- ...vaDebuggerLocalizationConstant.properties} | 0 .../java-debug-configuration-type.svg | 0 ...vaDebugConfigurationPagePresenterTest.java | 2 +- .../JavaDebugConfigurationTypeTest.java | 8 +- .../src/test/resources/logback-test.xml | 0 .../che-plugin-java-debugger-server/pom.xml | 31 +- .../src/main/java/Java.tokens | 0 .../src/main/java/JavaTreeParser.tokens | 0 .../jdb}/server/BreakPointComparator.java | 9 +- .../plugin/jdb}/server/EventsCollector.java | 3 +- .../che/plugin/jdb}/server/EventsHandler.java | 4 +- .../che/plugin/jdb/server/JavaDebugger.java} | 465 ++++++----------- .../jdb/server/JavaDebuggerFactory.java | 58 +++ .../plugin/jdb/server/JavaDebuggerModule.java | 29 ++ .../plugin/jdb}/server/JdiArrayElement.java | 4 +- .../jdb}/server/JdiArrayElementImpl.java | 2 +- .../che/plugin/jdb}/server/JdiField.java | 4 +- .../che/plugin/jdb}/server/JdiFieldImpl.java | 4 +- .../plugin/jdb}/server/JdiLocalVariable.java | 2 +- .../jdb}/server/JdiLocalVariableImpl.java | 4 +- .../che/plugin/jdb}/server/JdiNullValue.java | 4 +- .../che/plugin/jdb}/server/JdiStackFrame.java | 9 +- .../plugin/jdb}/server/JdiStackFrameImpl.java | 9 +- .../che/plugin/jdb}/server/JdiType.java | 2 +- .../che/plugin/jdb}/server/JdiValue.java | 4 +- .../che/plugin/jdb}/server/JdiValueImpl.java | 4 +- .../che/plugin/jdb}/server/JdiVariable.java | 4 +- .../DebuggerAbsentInformationException.java} | 13 +- .../expression/ANTLRExpressionParser.java | 2 +- .../jdb}/server/expression/ArrayElement.java | 2 +- .../jdb}/server/expression/Evaluator.java | 2 +- .../expression/ExpressionException.java | 2 +- .../server/expression/ExpressionParser.java | 2 +- .../server/expression/ExpressionValue.java | 2 +- .../jdb}/server/expression/InstanceValue.java | 2 +- .../jdb}/server/expression/JavaLexer.java | 6 +- .../jdb}/server/expression/JavaParser.java | 6 +- .../server/expression/JavaTreeParser.java | 6 +- .../jdb}/server/expression/LocalValue.java | 2 +- .../jdb}/server/expression/ReadOnlyValue.java | 2 +- .../jdb}/server/expression/StaticValue.java | 2 +- .../src/main/resources/README.txt | 0 .../che/plugin/jdb}/server/expression/Java.g | 0 .../jdb}/server/expression/JavaTreeParser.g | 0 .../src/test/java/.gitignore | 0 .../src/test/resources/findbugs-exclude.xml | 0 .../src/test/resources/logback-test.xml | 0 plugins/plugin-java-debugger/pom.xml | 42 ++ .../debug/JavaDebuggerServiceClientImpl.java | 184 ------- .../DebuggerAbsentInformationException.java | 31 -- .../server/InvalidBreakPointException.java | 29 -- .../java/jdi/server/JavaDebuggerService.java | 153 ------ .../java/jdi/server/VMConnectException.java | 27 - plugins/plugin-java/pom.xml | 2 - plugins/pom.xml | 3 +- pom.xml | 25 +- wsagent/che-core-api-debugger-shared/pom.xml | 41 ++ .../debugger/shared/dto/BreakpointDto.java | 19 +- .../debugger/shared/dto/DebugSessionDto.java | 38 ++ .../debugger/shared/dto/DebuggerInfoDto.java | 27 +- .../che/api/debugger/shared/dto/FieldDto.java | 87 ++++ .../api/debugger/shared/dto/LocationDto.java | 15 +- .../shared/dto/StackFrameDumpDto.java | 19 +- .../che/api/debugger/shared/dto/ValueDto.java | 15 +- .../api/debugger/shared/dto/VariableDto.java | 29 +- .../debugger/shared/dto/VariablePathDto.java | 9 +- .../debugger/shared/dto/action/ActionDto.java | 19 +- .../shared/dto/action/ResumeActionDto.java | 27 + .../shared/dto/action/StartActionDto.java | 27 + .../shared/dto/action/StepIntoActionDto.java | 27 + .../shared/dto/action/StepOutActionDto.java | 27 + .../shared/dto/action/StepOverActionDto.java | 27 + .../shared/dto/action/SuspendActionDto.java | 27 + .../event/BreakpointActivatedEventDto.java | 35 ++ .../shared/dto/event/DebuggerEventDto.java | 17 +- .../shared/dto/event/DisconnectEventDto.java | 22 +- .../shared/dto/event/SuspendEventDto.java | 20 +- .../api/debugger/shared/model/Breakpoint.java | 31 ++ .../debugger/shared/model/DebugSession.java | 33 ++ .../debugger/shared/model/DebuggerInfo.java | 52 ++ .../che/api/debugger/shared/model}/Field.java | 39 +- .../api/debugger/shared/model/Location.java | 26 + .../shared/model/MutableVariable.java | 34 ++ .../debugger/shared/model/StackFrameDump.java | 25 +- .../che/api/debugger/shared/model/Value.java | 28 ++ .../api/debugger/shared/model/Variable.java | 50 ++ .../debugger/shared/model/VariablePath.java | 24 + .../debugger/shared/model/action/Action.java | 26 + .../shared/model/action/ResumeAction.java | 16 +- .../shared/model/action/StartAction.java | 17 + .../shared/model/action/StepIntoAction.java | 17 + .../shared/model/action/StepOutAction.java | 17 + .../shared/model/action/StepOverAction.java | 17 + .../shared/model/action/SuspendAction.java | 17 + .../event}/BreakpointActivatedEvent.java | 13 +- .../shared/model/event/DebuggerEvent.java | 16 +- .../shared/model/event}/DisconnectEvent.java | 8 +- .../shared/model/event/SuspendEvent.java | 19 +- .../shared/model/impl/BreakpointImpl.java | 68 +++ .../shared/model/impl/DebugSessionImpl.java | 64 +++ .../shared/model/impl/DebuggerInfoImpl.java | 93 ++++ .../debugger/shared/model/impl/FieldImpl.java | 84 ++++ .../shared/model/impl/LocationImpl.java | 59 +++ .../model/impl/MutableVariableImpl.java | 143 ++++++ .../shared/model/impl/StackFrameDumpImpl.java | 65 +++ .../debugger/shared/model/impl/ValueImpl.java | 64 +++ .../shared/model/impl/VariableImpl.java | 112 +++++ .../shared/model/impl/VariablePathImpl.java | 51 ++ .../shared/model/impl/action/ActionImpl.java | 44 ++ .../model/impl/action/ResumeActionImpl.java | 23 + .../model/impl/action/StartActionImpl.java | 23 + .../model/impl/action/StepIntoActionImpl.java | 23 + .../model/impl/action/StepOutActionImpl.java | 23 + .../model/impl/action/StepOverActionImpl.java | 23 + .../event/BreakpointActivatedEventImpl.java | 52 ++ .../model/impl/event/DebuggerEventImpl.java | 44 ++ .../model/impl/event/DisconnectEventImpl.java | 15 +- .../model/impl/event/SuspendEventImpl.java | 50 ++ wsagent/che-core-api-debugger/pom.xml | 175 +++++++ .../che/api/debugger/server/Debugger.java | 200 ++++++++ .../server/DebuggerActionProvider.java | 94 ++++ .../api/debugger/server/DebuggerFactory.java | 44 ++ .../api/debugger/server/DebuggerManager.java | 119 +++++ .../api/debugger/server/DebuggerMessage.java | 38 ++ .../api/debugger/server/DebuggerModule.java | 36 ++ .../api/debugger/server/DebuggerService.java | 198 ++++++++ .../server/DebuggerWebSocketMessenger.java | 65 +++ .../che/api/debugger/server/DtoConverter.java | 148 ++++++ .../server/exceptions}/DebuggerException.java | 10 +- .../exceptions/DebuggerNotFoundException.java | 7 +- wsagent/pom.xml | 2 + 313 files changed, 5995 insertions(+), 3804 deletions(-) rename {plugins/plugin-debugger/che-plugin-debugger-shared => core/platform-api-client-gwt/che-core-client-gwt-debugger}/pom.xml (69%) create mode 100644 core/platform-api-client-gwt/che-core-client-gwt-debugger/src/main/java/org/eclipse/che/api/debugger/gwt/client/DebuggerServiceClient.java create mode 100644 core/platform-api-client-gwt/che-core-client-gwt-debugger/src/main/java/org/eclipse/che/api/debugger/gwt/client/DebuggerServiceClientImpl.java create mode 100644 core/platform-api-client-gwt/che-core-client-gwt-debugger/src/main/resources/org/eclipse/che/api/Debugger.gwt.xml delete mode 100644 plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/debug/DebuggerEventListUnmarshaller.java delete mode 100644 plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/debug/DebuggerServiceClient.java delete mode 100644 plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/debug/DebuggerVariable.java rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/DebuggerExtension.java (87%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/DebuggerLocalizationConstant.java (99%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/DebuggerResources.java (97%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/actions/ChangeVariableValueAction.java (85%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/actions/DebugAction.java (93%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/actions/DeleteAllBreakpointsAction.java (90%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/actions/DisconnectDebuggerAction.java (89%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/actions/EditConfigurationsAction.java (89%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/actions/EvaluateExpressionAction.java (86%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/actions/ResumeExecutionAction.java (91%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/actions/ShowHideDebuggerPanelAction.java (88%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/actions/StepIntoAction.java (90%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/actions/StepOutAction.java (90%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/actions/StepOverAction.java (90%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/configuration/DebugConfigurationAction.java (94%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/configuration/DebugConfigurationActionFactory.java (93%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/configuration/DebugConfigurationTypeRegistry.java (97%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/configuration/DebugConfigurationsGroup.java (97%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/configuration/DebugConfigurationsManagerImpl.java (98%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/configuration/EditConfigurationsResources.java (96%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/configuration/EditDebugConfigurationsPresenter.java (99%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/configuration/EditDebugConfigurationsView.java (98%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/configuration/EditDebugConfigurationsViewImpl.java (99%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/configuration/EditDebugConfigurationsViewImpl.ui.xml (97%) rename plugins/plugin-debugger/{che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared => che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/configuration/dto}/DebugConfigurationDto.java (95%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/debug/AbstractDebugger.java (57%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/debug/ActiveFileHandler.java (94%) create mode 100644 plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/DebuggerEventUnmarshaller.java rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/debug/DebuggerPresenter.java (79%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/debug/DebuggerToolbar.java (94%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/debug/DebuggerView.java (85%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/debug/DebuggerViewImpl.java (84%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/debug/DebuggerViewImpl.ui.xml (96%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/debug/VariableNodeDataAdapter.java (68%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/debug/VariableTreeNodeRenderer.java (85%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/debug/changevalue/ChangeValuePresenter.java (77%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/debug/changevalue/ChangeValueView.java (96%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/debug/changevalue/ChangeValueViewImpl.java (96%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/debug/changevalue/ChangeValueViewImpl.ui.xml (100%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/debug/expression/EvaluateExpressionPresenter.java (92%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/debug/expression/EvaluateExpressionView.java (97%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/debug/expression/EvaluateExpressionViewImpl.java (97%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/debug/expression/EvaluateExpressionViewImpl.ui.xml (94%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/fqn/FqnResolver.java (93%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/fqn/FqnResolverFactory.java (97%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/fqn/FqnResolverObservable.java (94%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/fqn/FqnResolverObserver.java (93%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/inject/DebuggerGinModule.java (67%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/{ide/ext/debugger/DebuggerExtension.gwt.xml => plugin/debugger/Debugger.gwt.xml} (96%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/DebuggerLocalizationConstant.properties (100%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/breakpoint.svg (100%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/configuration/add-configuration-button.svg (100%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/configuration/duplicate-configuration-button.svg (100%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/configuration/editConfigurations.css (100%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/configuration/find-icon.svg (100%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/configuration/remove-configuration-button.svg (100%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/connect.svg (100%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/debug-icon.svg (100%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/debug.svg (100%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/debug/Debug.css (100%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/debugger.css (100%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/disconnect.svg (100%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/edit.svg (100%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/evaluate.svg (100%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/remove.svg (100%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/resume.svg (100%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/separator.svg (100%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/stepinto.svg (100%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/stepout.svg (100%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/stepover.svg (100%) delete mode 100644 plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/ide/ext/debugger/client/debug/DebuggerVariableTest.java rename plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/BaseTest.java (71%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/ChangeVariableValueTest.java (70%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/EvaluateExpressionTest.java (87%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/actions/DebugActionTest.java (91%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/configuration/DebugConfigurationActionTest.java (95%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/configuration/DebugConfigurationsGroupTest.java (97%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/debug/DebuggerPresenterTest.java (82%) rename plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/{ide/ext/debugger/client => plugin/debugger/ide}/debug/DebuggerTest.java (62%) delete mode 100644 plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/ide/gdb/client/GdbDebuggerServiceClientImpl.java rename plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/{ide/gdb/client/GdbDebuggerClient.java => plugin/gdb/ide/GdbDebugger.java} (63%) rename plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/{ide/gdb/client => plugin/gdb/ide}/GdbDebuggerFileHandler.java (95%) rename plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/{ide/gdb/client => plugin/gdb/ide}/GdbExtension.java (85%) rename plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/{ide/gdb/client => plugin/gdb/ide}/GdbGinModule.java (84%) rename plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/{ide/gdb/client => plugin/gdb/ide}/GdbLocalizationConstant.java (96%) rename plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/{ide/gdb/client => plugin/gdb/ide}/GdbResources.java (95%) rename plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/{ide/gdb/client => plugin/gdb/ide}/configuration/GdbConfigurationPagePresenter.java (98%) rename plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/{ide/gdb/client => plugin/gdb/ide}/configuration/GdbConfigurationPageView.java (96%) rename plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/{ide/gdb/client => plugin/gdb/ide}/configuration/GdbConfigurationPageViewImpl.java (98%) rename plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/{ide/gdb/client => plugin/gdb/ide}/configuration/GdbConfigurationPageViewImpl.ui.xml (93%) rename plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/{ide/gdb/client => plugin/gdb/ide}/configuration/GdbConfigurationType.java (81%) rename plugins/plugin-gdb/che-plugin-gdb-ide/src/main/resources/org/eclipse/che/{ide/gdb/GdbExtension.gwt.xml => plugin/gdb/Gdb.gwt.xml} (89%) rename plugins/plugin-gdb/che-plugin-gdb-ide/src/main/resources/org/eclipse/che/{ide/gdb/client => plugin/gdb/ide}/GdbLocalizationConstant.properties (100%) rename plugins/plugin-gdb/che-plugin-gdb-ide/src/main/resources/org/eclipse/che/{ide/gdb/client => plugin/gdb/ide}/configuration/gdb-configuration-type.svg (100%) rename plugins/plugin-gdb/che-plugin-gdb-ide/src/test/java/org/eclipse/che/{ide/gdb/client => plugin/gdb/ide}/configuration/GdbConfigurationPagePresenterTest.java (94%) rename plugins/plugin-gdb/che-plugin-gdb-ide/src/test/java/org/eclipse/che/{ide/gdb/client => plugin/gdb/ide}/configuration/GdbConfigurationTypeTest.java (89%) delete mode 100644 plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/GdbDebugger.java delete mode 100644 plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/GdbDebuggerService.java rename plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/{ide => plugin}/gdb/server/Gdb.java (85%) create mode 100644 plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/GdbDebugger.java create mode 100644 plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/GdbDebuggerFactory.java create mode 100644 plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/GdbDebuggerModule.java rename plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/{ide => plugin}/gdb/server/GdbProcess.java (97%) rename plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/{ide => plugin}/gdb/server/parser/GdbBreak.java (97%) rename plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/{ide => plugin}/gdb/server/parser/GdbClear.java (95%) rename plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/{ide => plugin}/gdb/server/parser/GdbContinue.java (72%) rename plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/{ide => plugin}/gdb/server/parser/GdbDelete.java (96%) rename plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/{ide => plugin}/gdb/server/parser/GdbDirectory.java (96%) rename plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/{ide => plugin}/gdb/server/parser/GdbFile.java (96%) rename plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/{ide => plugin}/gdb/server/parser/GdbInfoArgs.java (97%) rename plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/{ide => plugin}/gdb/server/parser/GdbInfoBreak.java (74%) rename plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/{ide => plugin}/gdb/server/parser/GdbInfoLine.java (76%) rename plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/{ide => plugin}/gdb/server/parser/GdbInfoLocals.java (97%) rename plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/{ide => plugin}/gdb/server/parser/GdbInfoProgram.java (97%) rename plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/{ide => plugin}/gdb/server/parser/GdbOutput.java (94%) rename plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/{ide => plugin}/gdb/server/parser/GdbPType.java (96%) rename plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/{ide => plugin}/gdb/server/parser/GdbParseException.java (95%) rename plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/{ide => plugin}/gdb/server/parser/GdbPrint.java (96%) rename plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/{ide => plugin}/gdb/server/parser/GdbRun.java (72%) rename plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/{ide => plugin}/gdb/server/parser/GdbTargetRemote.java (96%) rename plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/{ide => plugin}/gdb/server/parser/GdbVersion.java (96%) delete mode 100644 plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/ide/gdb/server/GdbDebuggerTest.java create mode 100644 plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/GdbDebuggerTest.java rename plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/{ide => plugin}/gdb/server/GdbServer.java (93%) rename plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/{ide => plugin}/gdb/server/GdbTest.java (86%) rename plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/{ide => plugin}/gdb/server/parser/GdbBreakTest.java (96%) rename plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/{ide => plugin}/gdb/server/parser/GdbClearTest.java (95%) rename plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/{ide => plugin}/gdb/server/parser/GdbDeleteTest.java (95%) rename plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/{ide => plugin}/gdb/server/parser/GdbDirectoryTest.java (96%) rename plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/{ide => plugin}/gdb/server/parser/GdbFileTest.java (95%) rename plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/{ide => plugin}/gdb/server/parser/GdbInfoArgsTest.java (95%) rename plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/{ide => plugin}/gdb/server/parser/GdbInfoBreakTest.java (85%) rename plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/{ide => plugin}/gdb/server/parser/GdbInfoLineTest.java (85%) rename plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/{ide => plugin}/gdb/server/parser/GdbInfoLocalsTest.java (95%) rename plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/{ide => plugin}/gdb/server/parser/GdbInfoProgramTest.java (96%) rename plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/{ide => plugin}/gdb/server/parser/GdbPTypeTest.java (94%) rename plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/{ide => plugin}/gdb/server/parser/GdbPrintTest.java (95%) rename plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/{ide => plugin}/gdb/server/parser/GdbRunTest.java (88%) rename plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/{ide => plugin}/gdb/server/parser/GdbTargetRemoteTest.java (96%) rename plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/{ide => plugin}/gdb/server/parser/GdbVersionTest.java (98%) create mode 100644 plugins/plugin-java-debugger/.gitignore create mode 100644 plugins/plugin-java-debugger/README.md rename plugins/{plugin-java => plugin-java-debugger}/che-plugin-java-debugger-ide/pom.xml (96%) rename plugins/{plugin-java/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/ide/ext/java/jdi/client/JavaRuntimeExtension.java => plugin-java-debugger/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/plugin/jdb/ide/JavaDebuggerExtension.java} (62%) rename plugins/{plugin-java/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/ide/ext/java/jdi/client/JavaRuntimeLocalizationConstant.java => plugin-java-debugger/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/plugin/jdb/ide/JavaDebuggerLocalizationConstant.java} (88%) rename plugins/{plugin-java/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/ide/ext/java/jdi/client/JavaRuntimeResources.java => plugin-java-debugger/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/plugin/jdb/ide/JavaDebuggerResources.java} (88%) rename plugins/{plugin-java/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/ide/ext/java/jdi/client => plugin-java-debugger/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/plugin/jdb/ide}/configuration/JavaDebugConfigurationPagePresenter.java (98%) rename plugins/{plugin-java/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/ide/ext/java/jdi/client => plugin-java-debugger/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/plugin/jdb/ide}/configuration/JavaDebugConfigurationPageView.java (96%) rename plugins/{plugin-java/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/ide/ext/java/jdi/client => plugin-java-debugger/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/plugin/jdb/ide}/configuration/JavaDebugConfigurationPageViewImpl.java (98%) rename plugins/{plugin-java/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/ide/ext/java/jdi/client => plugin-java-debugger/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/plugin/jdb/ide}/configuration/JavaDebugConfigurationPageViewImpl.ui.xml (91%) rename plugins/{plugin-java/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/ide/ext/java/jdi/client => plugin-java-debugger/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/plugin/jdb/ide}/configuration/JavaDebugConfigurationType.java (79%) rename plugins/{plugin-java/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/ide/ext/java/jdi/client => plugin-java-debugger/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/plugin/jdb/ide}/debug/JavaDebugger.java (75%) rename plugins/{plugin-java/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/ide/ext/java/jdi/client => plugin-java-debugger/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/plugin/jdb/ide}/debug/JavaDebuggerFileHandler.java (96%) rename plugins/{plugin-java/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/ide/ext/java/jdi/client => plugin-java-debugger/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/plugin/jdb/ide}/fqn/JavaClassFqnResolver.java (89%) rename plugins/{plugin-java/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/ide/ext/java/jdi/client => plugin-java-debugger/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/plugin/jdb/ide}/fqn/JavaFqnResolver.java (96%) rename plugins/{plugin-java/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/ide/ext/java/jdi/client => plugin-java-debugger/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/plugin/jdb/ide}/inject/JavaRuntimeGinModule.java (78%) rename plugins/{plugin-java/che-plugin-java-debugger-ide/src/main/resources/org/eclipse/che/ide/ext/java/jdi/JavaDebuggerExtension.gwt.xml => plugin-java-debugger/che-plugin-java-debugger-ide/src/main/resources/org/eclipse/che/plugin/jdb/JavaDebugger.gwt.xml} (90%) rename plugins/{plugin-java/che-plugin-java-debugger-ide/src/main/resources/org/eclipse/che/ide/ext/java/jdi/client/JavaRuntimeLocalizationConstant.properties => plugin-java-debugger/che-plugin-java-debugger-ide/src/main/resources/org/eclipse/che/plugin/jdb/ide/JavaDebuggerLocalizationConstant.properties} (100%) rename plugins/{plugin-java/che-plugin-java-debugger-ide/src/main/resources/org/eclipse/che/ide/ext/java/jdi/client => plugin-java-debugger/che-plugin-java-debugger-ide/src/main/resources/org/eclipse/che/plugin/jdb/ide}/configuration/java-debug-configuration-type.svg (100%) rename plugins/{plugin-java/che-plugin-java-debugger-ide/src/test/java/org/eclipse/che/ide/ext/java/jdi/client => plugin-java-debugger/che-plugin-java-debugger-ide/src/test/java/org/eclipse/che/plugin/jdb/ide}/configuration/JavaDebugConfigurationPagePresenterTest.java (98%) rename plugins/{plugin-java/che-plugin-java-debugger-ide/src/test/java/org/eclipse/che/ide/ext/java/jdi/client => plugin-java-debugger/che-plugin-java-debugger-ide/src/test/java/org/eclipse/che/plugin/jdb/ide}/configuration/JavaDebugConfigurationTypeTest.java (88%) rename plugins/{plugin-java => plugin-java-debugger}/che-plugin-java-debugger-ide/src/test/resources/logback-test.xml (100%) rename plugins/{plugin-java => plugin-java-debugger}/che-plugin-java-debugger-server/pom.xml (80%) rename plugins/{plugin-java => plugin-java-debugger}/che-plugin-java-debugger-server/src/main/java/Java.tokens (100%) rename plugins/{plugin-java => plugin-java-debugger}/che-plugin-java-debugger-server/src/main/java/JavaTreeParser.tokens (100%) rename plugins/{plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi => plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb}/server/BreakPointComparator.java (84%) rename plugins/{plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi => plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb}/server/EventsCollector.java (94%) rename plugins/{plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi => plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb}/server/EventsHandler.java (86%) rename plugins/{plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/Debugger.java => plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/JavaDebugger.java} (59%) create mode 100644 plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/JavaDebuggerFactory.java create mode 100644 plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/JavaDebuggerModule.java rename plugins/{plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi => plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb}/server/JdiArrayElement.java (88%) rename plugins/{plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi => plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb}/server/JdiArrayElementImpl.java (97%) rename plugins/{plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi => plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb}/server/JdiField.java (93%) rename plugins/{plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi => plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb}/server/JdiFieldImpl.java (95%) rename plugins/{plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi => plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb}/server/JdiLocalVariable.java (92%) rename plugins/{plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi => plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb}/server/JdiLocalVariableImpl.java (93%) rename plugins/{plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi => plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb}/server/JdiNullValue.java (89%) rename plugins/{plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi => plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb}/server/JdiStackFrame.java (89%) rename plugins/{plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi => plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb}/server/JdiStackFrameImpl.java (94%) rename plugins/{plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi => plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb}/server/JdiType.java (97%) rename plugins/{plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi => plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb}/server/JdiValue.java (93%) rename plugins/{plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi => plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb}/server/JdiValueImpl.java (96%) rename plugins/{plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi => plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb}/server/JdiVariable.java (94%) rename plugins/{plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/GdbDebuggerException.java => plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/exceptions/DebuggerAbsentInformationException.java} (64%) rename plugins/{plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi => plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb}/server/expression/ANTLRExpressionParser.java (96%) rename plugins/{plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi => plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb}/server/expression/ArrayElement.java (96%) rename plugins/{plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi => plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb}/server/expression/Evaluator.java (99%) rename plugins/{plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi => plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb}/server/expression/ExpressionException.java (92%) rename plugins/{plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi => plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb}/server/expression/ExpressionParser.java (96%) rename plugins/{plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi => plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb}/server/expression/ExpressionValue.java (91%) rename plugins/{plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi => plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb}/server/expression/InstanceValue.java (96%) rename plugins/{plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi => plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb}/server/expression/JavaLexer.java (99%) rename plugins/{plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi => plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb}/server/expression/JavaParser.java (99%) rename plugins/{plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi => plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb}/server/expression/JavaTreeParser.java (99%) rename plugins/{plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi => plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb}/server/expression/LocalValue.java (96%) rename plugins/{plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi => plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb}/server/expression/ReadOnlyValue.java (93%) rename plugins/{plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi => plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb}/server/expression/StaticValue.java (96%) rename plugins/{plugin-java => plugin-java-debugger}/che-plugin-java-debugger-server/src/main/resources/README.txt (100%) rename plugins/{plugin-java/che-plugin-java-debugger-server/src/main/resources/org/eclipse/che/ide/ext/java/jdi => plugin-java-debugger/che-plugin-java-debugger-server/src/main/resources/org/eclipse/che/plugin/jdb}/server/expression/Java.g (100%) rename plugins/{plugin-java/che-plugin-java-debugger-server/src/main/resources/org/eclipse/che/ide/ext/java/jdi => plugin-java-debugger/che-plugin-java-debugger-server/src/main/resources/org/eclipse/che/plugin/jdb}/server/expression/JavaTreeParser.g (100%) rename plugins/{plugin-java => plugin-java-debugger}/che-plugin-java-debugger-server/src/test/java/.gitignore (100%) rename plugins/{plugin-java => plugin-java-debugger}/che-plugin-java-debugger-server/src/test/resources/findbugs-exclude.xml (100%) rename plugins/{plugin-java => plugin-java-debugger}/che-plugin-java-debugger-server/src/test/resources/logback-test.xml (100%) create mode 100644 plugins/plugin-java-debugger/pom.xml delete mode 100644 plugins/plugin-java/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/ide/ext/java/jdi/client/debug/JavaDebuggerServiceClientImpl.java delete mode 100644 plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/DebuggerAbsentInformationException.java delete mode 100644 plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/InvalidBreakPointException.java delete mode 100644 plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/JavaDebuggerService.java delete mode 100644 plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/VMConnectException.java create mode 100644 wsagent/che-core-api-debugger-shared/pom.xml rename plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/Breakpoint.java => wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/BreakpointDto.java (65%) create mode 100644 wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/DebugSessionDto.java rename plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/DebuggerInfo.java => wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/DebuggerInfoDto.java (66%) create mode 100644 wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/FieldDto.java rename plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/Location.java => wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/LocationDto.java (68%) rename plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/StackFrameDump.java => wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/StackFrameDumpDto.java (57%) rename plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/Value.java => wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/ValueDto.java (66%) rename plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/Variable.java => wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/VariableDto.java (57%) rename plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/VariablePath.java => wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/VariablePathDto.java (75%) rename plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/BreakpointList.java => wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/action/ActionDto.java (65%) create mode 100644 wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/action/ResumeActionDto.java create mode 100644 wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/action/StartActionDto.java create mode 100644 wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/action/StepIntoActionDto.java create mode 100644 wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/action/StepOutActionDto.java create mode 100644 wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/action/StepOverActionDto.java create mode 100644 wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/action/SuspendActionDto.java create mode 100644 wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/event/BreakpointActivatedEventDto.java rename plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/BreakpointEvent.java => wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/event/DebuggerEventDto.java (61%) rename plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/DebuggerEvent.java => wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/event/DisconnectEventDto.java (61%) rename plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/UpdateVariableRequest.java => wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/event/SuspendEventDto.java (53%) create mode 100644 wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/Breakpoint.java create mode 100644 wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/DebugSession.java create mode 100644 wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/DebuggerInfo.java rename {plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared => wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model}/Field.java (60%) create mode 100644 wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/Location.java create mode 100644 wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/MutableVariable.java rename plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/DebuggerEventList.java => wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/StackFrameDump.java (64%) create mode 100644 wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/Value.java create mode 100644 wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/Variable.java create mode 100644 wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/VariablePath.java create mode 100644 wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/action/Action.java rename plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/BreakpointEventList.java => wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/action/ResumeAction.java (70%) create mode 100644 wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/action/StartAction.java create mode 100644 wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/action/StepIntoAction.java create mode 100644 wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/action/StepOutAction.java create mode 100644 wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/action/StepOverAction.java create mode 100644 wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/action/SuspendAction.java rename {plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared => wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/event}/BreakpointActivatedEvent.java (71%) rename core/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/debug/Breakpoints.java => wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/event/DebuggerEvent.java (70%) rename {plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared => wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/event}/DisconnectEvent.java (85%) rename plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/StepEvent.java => wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/event/SuspendEvent.java (66%) create mode 100644 wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/BreakpointImpl.java create mode 100644 wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/DebugSessionImpl.java create mode 100644 wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/DebuggerInfoImpl.java create mode 100644 wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/FieldImpl.java create mode 100644 wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/LocationImpl.java create mode 100644 wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/MutableVariableImpl.java create mode 100644 wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/StackFrameDumpImpl.java create mode 100644 wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/ValueImpl.java create mode 100644 wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/VariableImpl.java create mode 100644 wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/VariablePathImpl.java create mode 100644 wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/action/ActionImpl.java create mode 100644 wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/action/ResumeActionImpl.java create mode 100644 wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/action/StartActionImpl.java create mode 100644 wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/action/StepIntoActionImpl.java create mode 100644 wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/action/StepOutActionImpl.java create mode 100644 wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/action/StepOverActionImpl.java create mode 100644 wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/event/BreakpointActivatedEventImpl.java create mode 100644 wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/event/DebuggerEventImpl.java rename plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/DebuggerStateException.java => wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/event/DisconnectEventImpl.java (61%) create mode 100644 wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/event/SuspendEventImpl.java create mode 100644 wsagent/che-core-api-debugger/pom.xml create mode 100644 wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/Debugger.java create mode 100644 wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/DebuggerActionProvider.java create mode 100644 wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/DebuggerFactory.java create mode 100644 wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/DebuggerManager.java create mode 100644 wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/DebuggerMessage.java create mode 100644 wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/DebuggerModule.java create mode 100644 wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/DebuggerService.java create mode 100644 wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/DebuggerWebSocketMessenger.java create mode 100644 wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/DtoConverter.java rename {plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server => wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/exceptions}/DebuggerException.java (74%) rename plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/GdbDebuggerNotFoundException.java => wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/exceptions/DebuggerNotFoundException.java (74%) diff --git a/assembly/assembly-ide-war/pom.xml b/assembly/assembly-ide-war/pom.xml index 16bfb68dade..44660f45b51 100644 --- a/assembly/assembly-ide-war/pom.xml +++ b/assembly/assembly-ide-war/pom.xml @@ -104,6 +104,10 @@ org.eclipse.che.core che-core-client-gwt-core + + org.eclipse.che.core + che-core-client-gwt-debugger + org.eclipse.che.core che-core-client-gwt-factory @@ -168,10 +172,6 @@ org.eclipse.che.plugin che-plugin-debugger-ide - - org.eclipse.che.plugin - che-plugin-debugger-shared - org.eclipse.che.plugin che-plugin-docker-client diff --git a/assembly/assembly-ide-war/src/main/resources/org/eclipse/che/ide/IDE.gwt.xml b/assembly/assembly-ide-war/src/main/resources/org/eclipse/che/ide/IDE.gwt.xml index 8e872590d85..fa3d47b9239 100644 --- a/assembly/assembly-ide-war/src/main/resources/org/eclipse/che/ide/IDE.gwt.xml +++ b/assembly/assembly-ide-war/src/main/resources/org/eclipse/che/ide/IDE.gwt.xml @@ -42,9 +42,9 @@ - - - + + + @@ -76,6 +76,7 @@ + diff --git a/assembly/assembly-machine-war/pom.xml b/assembly/assembly-machine-war/pom.xml index bfd4b74f768..4cd0c6abf41 100644 --- a/assembly/assembly-machine-war/pom.xml +++ b/assembly/assembly-machine-war/pom.xml @@ -62,6 +62,10 @@ org.eclipse.che.core che-core-api-core + + org.eclipse.che.core + che-core-api-debugger + org.eclipse.che.core che-core-api-git @@ -103,10 +107,6 @@ org.eclipse.che.plugin che-plugin-cpp-lang-shared - - org.eclipse.che.plugin - che-plugin-debugger-shared - org.eclipse.che.plugin che-plugin-gdb-server diff --git a/assembly/assembly-machine-war/src/main/java/org/eclipse/che/wsagent/server/WsAgentModule.java b/assembly/assembly-machine-war/src/main/java/org/eclipse/che/wsagent/server/WsAgentModule.java index 4b5479ec15c..625f28b10d0 100644 --- a/assembly/assembly-machine-war/src/main/java/org/eclipse/che/wsagent/server/WsAgentModule.java +++ b/assembly/assembly-machine-war/src/main/java/org/eclipse/che/wsagent/server/WsAgentModule.java @@ -32,15 +32,13 @@ import org.eclipse.che.api.vfs.VirtualFileSystemModule; import org.eclipse.che.commons.lang.Pair; import org.eclipse.che.everrest.CheAsynchronousJobPool; -import org.eclipse.che.plugin.maven.generator.archetype.ArchetypeGenerator; -import org.eclipse.che.plugin.maven.generator.archetype.ArchetypeGeneratorModule; import org.eclipse.che.git.impl.nativegit.LocalGitUserResolver; import org.eclipse.che.git.impl.nativegit.NativeGitConnectionFactory; -import org.eclipse.che.ide.ext.java.jdi.server.JavaDebuggerService; -import org.eclipse.che.plugin.maven.server.inject.MavenModule; -import org.eclipse.che.ide.gdb.server.GdbDebuggerService; import org.eclipse.che.inject.DynaModule; import org.eclipse.che.plugin.github.server.inject.GitHubModule; +import org.eclipse.che.plugin.maven.generator.archetype.ArchetypeGenerator; +import org.eclipse.che.plugin.maven.generator.archetype.ArchetypeGeneratorModule; +import org.eclipse.che.plugin.maven.server.inject.MavenModule; import org.eclipse.che.security.oauth.RemoteOAuthTokenProvider; import org.everrest.core.impl.async.AsynchronousJobPool; import org.everrest.core.impl.async.AsynchronousJobService; @@ -73,10 +71,9 @@ protected void configure() { install(new ArchetypeGeneratorModule()); install(new GitHubModule()); install(new org.eclipse.che.swagger.deploy.DocsModule()); + install(new org.eclipse.che.api.debugger.server.DebuggerModule()); bind(ArchetypeGenerator.class); - bind(JavaDebuggerService.class); - bind(GdbDebuggerService.class); bind(GitUserResolver.class).to(LocalGitUserResolver.class); bind(GitConnectionFactory.class).to(NativeGitConnectionFactory.class); diff --git a/core/commons/che-core-commons-gwt/src/main/java/org/eclipse/che/ide/rest/AsyncRequestFactory.java b/core/commons/che-core-commons-gwt/src/main/java/org/eclipse/che/ide/rest/AsyncRequestFactory.java index 2308082b280..129e72d1a35 100644 --- a/core/commons/che-core-commons-gwt/src/main/java/org/eclipse/che/ide/rest/AsyncRequestFactory.java +++ b/core/commons/che-core-commons-gwt/src/main/java/org/eclipse/che/ide/rest/AsyncRequestFactory.java @@ -10,12 +10,13 @@ *******************************************************************************/ package org.eclipse.che.ide.rest; -import org.eclipse.che.ide.MimeType; -import org.eclipse.che.ide.dto.DtoFactory; import com.google.gwt.http.client.RequestBuilder; import com.google.inject.Inject; import com.google.inject.Singleton; +import org.eclipse.che.ide.MimeType; +import org.eclipse.che.ide.dto.DtoFactory; + import java.util.List; /** @@ -71,6 +72,20 @@ public AsyncRequest createPostRequest(String url, Object dtoData) { return createPostRequest(url, dtoData, false); } + /** + * Creates new PUT request to the specified {@code url} with the provided {@code data}. + * + * @param url + * request URL + * @param dtoData + * the DTO to send as body of the request. Must implement {@link org.eclipse.che.ide.dto.JsonSerializable} interface. May be {@code + * null}. + * @return new {@link AsyncRequest} instance to send PUT request + */ + public AsyncRequest createPutRequest(String url, Object dtoData) { + return createPutRequest(url, dtoData, false); + } + /** * Creates new POST request to the specified {@code url} with the provided {@code data}. * @@ -101,6 +116,23 @@ public AsyncRequest createPostRequest(String url, Object dtoData, boolean async) return createRequest(RequestBuilder.POST, url, dtoData, async); } + /** + * Creates new PUT request to the specified {@code url} with the provided {@code data}. + * + * @param url + * request URL + * @param dtoData + * the DTO to send as body of the request. Must implement {@link org.eclipse.che.ide.dto.JsonSerializable} interface. May be {@code + * null}. + * @param async + * if true - request will be sent in asynchronous mode + * @return new {@link AsyncRequest} instance to send POST request + */ + public AsyncRequest createPutRequest(String url, Object dtoData, boolean async) { + return createRequest(RequestBuilder.PUT, url, dtoData, async); + } + + /** * Creates new POST request to the specified {@code url} with the provided {@code data}. * diff --git a/core/ide/che-core-ide-api/src/main/java/org/eclipse/che/ide/api/debug/Breakpoint.java b/core/ide/che-core-ide-api/src/main/java/org/eclipse/che/ide/api/debug/Breakpoint.java index af54671ba47..c6bd6534ee6 100644 --- a/core/ide/che-core-ide-api/src/main/java/org/eclipse/che/ide/api/debug/Breakpoint.java +++ b/core/ide/che-core-ide-api/src/main/java/org/eclipse/che/ide/api/debug/Breakpoint.java @@ -25,7 +25,6 @@ public class Breakpoint { protected int lineNumber; protected VirtualFile file; private Type type; - private String message; private String path; /** @@ -34,14 +33,9 @@ public class Breakpoint { private boolean active; public Breakpoint(Type type, int lineNumber, String path, VirtualFile file, boolean active) { - this(type, lineNumber, path, file, null, active); - } - - public Breakpoint(Type type, int lineNumber, String path, VirtualFile file, String message, boolean active) { this.type = type; this.lineNumber = lineNumber; this.path = path; - this.message = message; this.file = file; this.active = active; } @@ -63,11 +57,6 @@ public int getLineNumber() { return lineNumber; } - /** @return the message */ - public String getMessage() { - return message; - } - /** @return file path */ public String getPath() { return path; @@ -88,7 +77,6 @@ public String toString() { builder.append("Breakpoint [lineNumber=").append(lineNumber) .append(", type=").append(type) .append(", active=").append(active) - .append(", message=").append(message) .append(", path=").append(path) .append("]"); return builder.toString(); @@ -112,6 +100,6 @@ public int hashCode() { } public enum Type { - BREAKPOINT, DISABLED, CONDITIONAL, CURRENT + BREAKPOINT, CURRENT } -} \ No newline at end of file +} diff --git a/core/ide/che-core-ide-app/pom.xml b/core/ide/che-core-ide-app/pom.xml index 78e1beca4e8..ee1ae51ed45 100644 --- a/core/ide/che-core-ide-app/pom.xml +++ b/core/ide/che-core-ide-app/pom.xml @@ -55,6 +55,14 @@ org.eclipse.che.core che-core-api-core + + org.eclipse.che.core + che-core-api-debugger-shared + + + org.eclipse.che.core + che-core-api-debugger-shared + org.eclipse.che.core che-core-api-dto @@ -99,6 +107,10 @@ org.eclipse.che.core che-core-client-gwt-core + + org.eclipse.che.core + che-core-client-gwt-debugger + org.eclipse.che.core che-core-client-gwt-factory diff --git a/core/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/core/CoreGinModule.java b/core/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/core/CoreGinModule.java index f00f03c77fc..5e0bd79a4eb 100644 --- a/core/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/core/CoreGinModule.java +++ b/core/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/core/CoreGinModule.java @@ -25,6 +25,8 @@ import org.eclipse.che.api.account.gwt.client.AccountServiceClientImpl; import org.eclipse.che.api.auth.client.OAuthServiceClient; import org.eclipse.che.api.auth.client.OAuthServiceClientImpl; +import org.eclipse.che.api.debugger.gwt.client.DebuggerServiceClient; +import org.eclipse.che.api.debugger.gwt.client.DebuggerServiceClientImpl; import org.eclipse.che.api.factory.gwt.client.FactoryServiceClient; import org.eclipse.che.api.factory.gwt.client.FactoryServiceClientImpl; import org.eclipse.che.api.git.gwt.client.GitServiceClient; @@ -338,6 +340,7 @@ private void configurePlatformApiGwtClients() { bind(MachineServiceClient.class).to(MachineServiceClientImpl.class).in(Singleton.class); bind(ProjectTypeRegistry.class).to(ProjectTypeRegistryImpl.class).in(Singleton.class); bind(ProjectTemplateRegistry.class).to(ProjectTemplateRegistryImpl.class).in(Singleton.class); + bind(DebuggerServiceClient.class).to(DebuggerServiceClientImpl.class).in(Singleton.class); } /** API Bindings, binds API interfaces to the implementations */ diff --git a/core/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/debug/BreakpointManagerImpl.java b/core/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/debug/BreakpointManagerImpl.java index d43482233d6..678675e80c9 100644 --- a/core/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/debug/BreakpointManagerImpl.java +++ b/core/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/debug/BreakpointManagerImpl.java @@ -120,8 +120,13 @@ public void changeBreakpointState(final int lineNumber) { } } - if (isCodeExecutable(activeFile, lineNumber)) { - addBreakpoint(activeFile, lineNumber); + if (isLineNotEmpty(activeFile, lineNumber)) { + Breakpoint breakpoint = new Breakpoint(Type.BREAKPOINT, + lineNumber, + activeFile.getPath(), + activeFile, + false); + addBreakpoint(breakpoint); } } @@ -182,37 +187,28 @@ private void deleteBreakpoints(final Set paths) { /** * Adds breakpoint to the list and JVM. */ - private void addBreakpoint(final VirtualFile activeFile, - final int lineNumber) { - - String path = activeFile.getPath(); - Breakpoint breakpoint = new Breakpoint(Type.BREAKPOINT, - lineNumber, - activeFile.getPath(), - activeFile, - false); - - List pathBreakpoints = breakpoints.get(path); + private void addBreakpoint(final Breakpoint breakpoint) { + List pathBreakpoints = breakpoints.get(breakpoint.getPath()); if (pathBreakpoints == null) { pathBreakpoints = new ArrayList<>(); - breakpoints.put(path, pathBreakpoints); + breakpoints.put(breakpoint.getPath(), pathBreakpoints); } if (!pathBreakpoints.contains(breakpoint)) { pathBreakpoints.add(breakpoint); } + preserveBreakpoints(); - final BreakpointRenderer breakpointRenderer = getBreakpointRendererForFile(path); + final BreakpointRenderer breakpointRenderer = getBreakpointRendererForFile(breakpoint.getPath()); if (breakpointRenderer != null) { - breakpointRenderer.addBreakpointMark(lineNumber, new LineChangeAction() { + breakpointRenderer.addBreakpointMark(breakpoint.getLineNumber(), new LineChangeAction() { @Override public void onLineChange(VirtualFile file, int firstLine, int linesAdded, int linesRemoved) { BreakpointManagerImpl.this.onLineChange(file, firstLine, linesAdded, linesRemoved); } }); - breakpointRenderer.setBreakpointActive(lineNumber, breakpoint.isActive()); + breakpointRenderer.setBreakpointActive(breakpoint.getLineNumber(), breakpoint.isActive()); } - preserveBreakpoints(); for (BreakpointManagerObserver observer : observers) { observer.onBreakpointAdded(breakpoint); @@ -220,14 +216,14 @@ public void onLineChange(VirtualFile file, int firstLine, int linesAdded, int li Debugger debugger = debuggerManager.getActiveDebugger(); if (debugger != null) { - debugger.addBreakpoint(activeFile, lineNumber); + debugger.addBreakpoint(breakpoint.getFile(), breakpoint.getLineNumber()); } } /** * Indicates if line of code to add breakpoint at is executable. */ - private boolean isCodeExecutable(final VirtualFile activeFile, int lineNumber) { + private boolean isLineNotEmpty(final VirtualFile activeFile, int lineNumber) { EditorPartPresenter editor = getEditorForFile(activeFile.getPath()); if (editor instanceof TextEditorPresenter) { Document document = ((TextEditorPresenter)editor).getDocument(); @@ -362,7 +358,6 @@ public void onLineChange(final VirtualFile file, final int firstLine, final int breakpoint.getLineNumber() + delta, breakpoint.getPath(), breakpoint.getFile(), - breakpoint.getMessage(), breakpoint.isActive())); } @@ -371,8 +366,12 @@ public void onLineChange(final VirtualFile file, final int firstLine, final int deleteBreakpoint(file, breakpoint); } for (final Breakpoint breakpoint : toAdd) { - if (isCodeExecutable(file, breakpoint.getLineNumber())) { - addBreakpoint(file, breakpoint.getLineNumber()); + if (isLineNotEmpty(file, breakpoint.getLineNumber())) { + addBreakpoint(new Breakpoint(breakpoint.getType(), + breakpoint.getLineNumber(), + breakpoint.getPath(), + file, + false)); } } } @@ -517,10 +516,10 @@ private void preserveBreakpoints() { for (Breakpoint breakpoint : allBreakpoints) { BreakpointDto dto = dtoFactory.createDto(BreakpointDto.class); dto.setType(breakpoint.getType()); - dto.setMessage(breakpoint.getMessage()); dto.setPath(breakpoint.getPath()); dto.setLineNumber(breakpoint.getLineNumber()); dto.setFileProjectConfig(breakpoint.getFile().getProject().getProjectConfig()); + dto.setActive(breakpoint.isActive()); allDtoBreakpoints.add(dto); } @@ -550,11 +549,14 @@ private void restoreBreakpoints() { .build(); VirtualFile file = new VirtualFileImpl(virtualFileInfo); - if (dto.getType() == Type.CURRENT) { doSetCurrentBreakpoint(file, dto.getLineNumber()); } else { - addBreakpoint(file, dto.getLineNumber()); + addBreakpoint(new Breakpoint(dto.getType(), + dto.getLineNumber(), + dto.getPath(), + file, + dto.isActive())); } } } @@ -562,7 +564,7 @@ private void restoreBreakpoints() { // Debugger events @Override - public void onActiveDebuggerChanged(@Nullable Debugger activeDebugger) { } + public void onActiveDebuggerChanged(@Nullable Debugger activeDebugger) {} @Override public void onDebuggerAttached(DebuggerDescriptor debuggerDescriptor, Promise connect) { @@ -572,7 +574,6 @@ public void apply(Void arg) throws OperationException { reAddBreakpointsToServer(); } }); - } private void reAddBreakpointsToServer() { @@ -582,10 +583,7 @@ private void reAddBreakpointsToServer() { } for (Entry> entry : breakpoints.entrySet()) { - final List breakpointsForPath = entry.getValue(); - - for (int i = 0; i < breakpointsForPath.size(); i++) { - final Breakpoint breakpoint = breakpointsForPath.get(i); + for (final Breakpoint breakpoint : entry.getValue()) { debugger.addBreakpoint(breakpoint.getFile(), breakpoint.getLineNumber()); } } @@ -604,7 +602,6 @@ public void onDebuggerDisconnected() { breakpoint.getLineNumber(), breakpoint.getPath(), breakpoint.getFile(), - breakpoint.getMessage(), false); breakpointsForPath.set(i, newInactiveBreakpoint); @@ -658,9 +655,9 @@ public void onBreakpointActivated(String filePath, int lineNumber) { breakpoint.getLineNumber(), breakpoint.getPath(), breakpoint.getFile(), - breakpoint.getMessage(), true); breakpointsForPath.set(i, newActiveBreakpoint); + preserveBreakpoints(); BreakpointRenderer breakpointRenderer = getBreakpointRendererForFile(breakpoint.getPath()); if (breakpointRenderer != null) { @@ -668,8 +665,6 @@ public void onBreakpointActivated(String filePath, int lineNumber) { } } } - - preserveBreakpoints(); } @Override @@ -679,7 +674,7 @@ public void onBreakpointDeleted(Breakpoint breakpoint) { } public void onAllBreakpointsDeleted() {} @Override - public void onPreStepIn() { + public void onPreStepInto() { deleteCurrentBreakpoint(); } @@ -715,4 +710,4 @@ public void addObserver(BreakpointManagerObserver observer) { public void removeObserver(BreakpointManagerObserver observer) { observers.remove(observer); } -} \ No newline at end of file +} diff --git a/core/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/debug/Debugger.java b/core/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/debug/Debugger.java index c0fa626ef44..ce1439ef6ee 100644 --- a/core/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/debug/Debugger.java +++ b/core/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/debug/Debugger.java @@ -10,14 +10,16 @@ *******************************************************************************/ package org.eclipse.che.ide.debug; +import org.eclipse.che.api.debugger.shared.model.StackFrameDump; +import org.eclipse.che.api.debugger.shared.model.Value; +import org.eclipse.che.api.debugger.shared.model.Variable; import org.eclipse.che.api.promises.client.Promise; import org.eclipse.che.ide.api.project.tree.VirtualFile; -import java.util.List; import java.util.Map; /** - * The general class which provides to manage breakpoints on server. + * Client-side debugger. * * @author Andrey Plotnikov * @author Anatoliy Bazko @@ -25,89 +27,94 @@ public interface Debugger extends DebuggerObservable { /** - * Adds new breakpoint on server. + * Adds new breakpoint. * * @param file + * the file * @param lineNumber + * the line number */ void addBreakpoint(VirtualFile file, int lineNumber); /** - * Deletes breakpoint on server. + * Deletes the given breakpoint on server. * * @param file + * the file * @param lineNumber + * the line number */ void deleteBreakpoint(VirtualFile file, int lineNumber); /** - * Deletes all breakpoints on server. + * Deletes all breakpoints. */ void deleteAllBreakpoints(); /** - * Attaches debugger. + * Connects to server. + * + * @param connectionProperties + * the connection properties */ - Promise attachDebugger(Map connectionProperties); + Promise connect(Map connectionProperties); /** - * Disconnects from process under debugger. + * Disconnects from process is being debugged. * When debugger is disconnected it should invoke {@link DebuggerManager#setActiveDebugger(Debugger)} with {@code null}. */ - void disconnectDebugger(); + void disconnect(); /** - * Steps into a method + * Does step into. */ void stepInto(); /** - * Steps without entering into a method + * Does step over. */ void stepOver(); /** - * Returns from a method + * Does step out. */ void stepOut(); /** - * Resumes execution + * Resumes application. */ void resume(); /** - * Evaluates given expression + * Evaluates the given expression */ - Promise evaluateExpression(String expression); + Promise evaluate(String expression); /** - * @return the value of the variable + * Gets the value of the given variable. */ - Promise getValue(String variable); + Promise getValue(Variable variable); /** - * @return stack frame dump + * Gets dump the current frame. */ - Promise getStackFrameDump(); + Promise dumpStackFrame(); /** - * Changes value of given variable + * Updates the value of the given variable. * - * @param path - * path to changing variable - * @param newValue - * new value for given variable + * @param variable + * the variable to update */ - void changeVariableValue(List path, String newValue); + void setValue(Variable variable); /** - * Indicates if debugger is connected. + * Indicates if connection is established with the server. */ boolean isConnected(); /** - * Indicates if debugger is suspended. + * Indicates if debugger is in suspended state. */ boolean isSuspended(); } diff --git a/core/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/debug/DebuggerManager.java b/core/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/debug/DebuggerManager.java index 35548dd180a..b711675836c 100644 --- a/core/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/debug/DebuggerManager.java +++ b/core/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/debug/DebuggerManager.java @@ -55,12 +55,12 @@ public Debugger getDebugger(String id) { /** * Sets new active debugger. - * Resubscriber all {@link DebuggerObserver} to listen to events from new {@link Debugger} + * Resubscribe all {@link DebuggerObserver} to listen to events from new {@link Debugger} * * @param debugger * debugger is being used */ - public void setActiveDebugger(Debugger debugger) { + public void setActiveDebugger(@Nullable Debugger debugger) { if (activeDebugger != null) { for (DebuggerManagerObserver observer : observers) { activeDebugger.removeObserver(observer); @@ -69,11 +69,11 @@ public void setActiveDebugger(Debugger debugger) { activeDebugger = debugger; - if (activeDebugger != null) { - for (DebuggerManagerObserver observer : observers) { + for (DebuggerManagerObserver observer : observers) { + if (activeDebugger != null) { activeDebugger.addObserver(observer); - observer.onActiveDebuggerChanged(activeDebugger); } + observer.onActiveDebuggerChanged(activeDebugger); } } diff --git a/core/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/debug/DebuggerObserver.java b/core/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/debug/DebuggerObserver.java index 67985598e5b..5edad98c8d2 100644 --- a/core/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/debug/DebuggerObserver.java +++ b/core/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/debug/DebuggerObserver.java @@ -53,7 +53,7 @@ public interface DebuggerObserver { /** * Event happens on step in. */ - void onPreStepIn(); + void onPreStepInto(); /** * Event happens on step out. diff --git a/core/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/debug/dto/BreakpointDto.java b/core/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/debug/dto/BreakpointDto.java index 4acd528df8d..676ad724e6b 100644 --- a/core/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/debug/dto/BreakpointDto.java +++ b/core/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/debug/dto/BreakpointDto.java @@ -22,6 +22,10 @@ @DTO public interface BreakpointDto { + void setActive(boolean active); + + boolean isActive(); + void setLineNumber(int lineNumber); int getLineNumber(); @@ -30,10 +34,6 @@ public interface BreakpointDto { Breakpoint.Type getType(); - void setMessage(String message); - - String getMessage(); - void setPath(String path); String getPath(); diff --git a/plugins/plugin-debugger/che-plugin-debugger-shared/pom.xml b/core/platform-api-client-gwt/che-core-client-gwt-debugger/pom.xml similarity index 69% rename from plugins/plugin-debugger/che-plugin-debugger-shared/pom.xml rename to core/platform-api-client-gwt/che-core-client-gwt-debugger/pom.xml index 7103bcedad8..1a2c0f6976b 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-shared/pom.xml +++ b/core/platform-api-client-gwt/che-core-client-gwt-debugger/pom.xml @@ -11,37 +11,44 @@ Codenvy, S.A. - initial API and implementation --> - + 4.0.0 - che-plugin-debugger-parent - org.eclipse.che.plugin + che-core-client-gwt-parent + org.eclipse.che.core 4.3.0-RC1-SNAPSHOT - che-plugin-debugger-shared + che-core-client-gwt-debugger jar - Che Plugin :: Debugger :: Extension Debugger Shared + Che Core API :: Client GWT :: Debugger ${project.build.directory}/generated-sources/dto/ - false - - com.google.code.gson - gson - com.google.inject guice + + org.eclipse.che.core + che-core-api-debugger-shared + org.eclipse.che.core che-core-api-dto + + org.eclipse.che.core + che-core-client-gwt-machine + org.eclipse.che.core che-core-commons-gwt + + org.eclipse.che.core + che-core-ide-api + com.google.gwt gwt-user @@ -62,37 +69,32 @@ - org.codehaus.mojo - build-helper-maven-plugin + org.eclipse.che.core + che-core-api-dto-maven-plugin + ${project.version} - add-resource process-sources - add-resource + generate - - - - ${dto-generator-out-directory}/META-INF - META-INF - - - - - - add-source - process-sources - - add-source - - - - ${dto-generator-out-directory} - - + + + org.eclipse.che.core + che-core-api-debugger-shared + ${project.version} + + + + + org.eclipse.che.api.debugger.shared.dto + + ${dto-generator-out-directory} + org.eclipse.che.api.debugger.gwt.client.dto.DtoClientImpls + client + maven-compiler-plugin @@ -107,48 +109,37 @@ - org.eclipse.che.core - che-core-api-dto-maven-plugin - ${project.version} + org.codehaus.mojo + build-helper-maven-plugin - generate-client-dto + add-resource process-sources - generate + add-resource - - org.eclipse.che.ide.ext.debugger.shared - - ${dto-generator-out-directory} - org.eclipse.che.ide.ext.debugger.client.dto.DtoClientImpls - client + + + ${dto-generator-out-directory}/META-INF + META-INF + + - generate-server-dto + add-source process-sources - generate + add-source - - org.eclipse.che.ide.ext.debugger.shared - - ${dto-generator-out-directory} - org.eclipse.che.ide.ext.debugger.server.dto.DtoServerImpls - server + + ${dto-generator-out-directory} + - - - ${project.groupId} - ${project.artifactId} - ${project.version} - - diff --git a/core/platform-api-client-gwt/che-core-client-gwt-debugger/src/main/java/org/eclipse/che/api/debugger/gwt/client/DebuggerServiceClient.java b/core/platform-api-client-gwt/che-core-client-gwt-debugger/src/main/java/org/eclipse/che/api/debugger/gwt/client/DebuggerServiceClient.java new file mode 100644 index 00000000000..e3a91270aab --- /dev/null +++ b/core/platform-api-client-gwt/che-core-client-gwt-debugger/src/main/java/org/eclipse/che/api/debugger/gwt/client/DebuggerServiceClient.java @@ -0,0 +1,181 @@ +/******************************************************************************* + * Copyright (c) 2012-2016 Codenvy, S.A. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Codenvy, S.A. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.api.debugger.gwt.client; + +import org.eclipse.che.api.debugger.shared.dto.BreakpointDto; +import org.eclipse.che.api.debugger.shared.dto.DebugSessionDto; +import org.eclipse.che.api.debugger.shared.dto.LocationDto; +import org.eclipse.che.api.debugger.shared.dto.StackFrameDumpDto; +import org.eclipse.che.api.debugger.shared.dto.ValueDto; +import org.eclipse.che.api.debugger.shared.dto.VariableDto; +import org.eclipse.che.api.debugger.shared.dto.action.ResumeActionDto; +import org.eclipse.che.api.debugger.shared.dto.action.StartActionDto; +import org.eclipse.che.api.debugger.shared.dto.action.StepIntoActionDto; +import org.eclipse.che.api.debugger.shared.dto.action.StepOutActionDto; +import org.eclipse.che.api.debugger.shared.dto.action.StepOverActionDto; +import org.eclipse.che.api.promises.client.Promise; + +import java.util.List; +import java.util.Map; + +/** + * Client for the service to debug application. + * + * @author Vitaly Parfonov + * @author Anatoliy Bazko + */ +public interface DebuggerServiceClient { + + /** + * Establishes connection with debug server. + * + * @param debuggerType + * the debugger server type, for instance: gdb, jdb etc + * @param connectionProperties + * the connection properties + */ + Promise connect(String debuggerType, Map connectionProperties); + + /** + * Disconnects from debugger server. + * + * @param id + * debug session id + */ + Promise disconnect(String id); + + /** + * Gets debug session info. + * + * @param id + * debug session id + */ + Promise getSessionInfo(String id); + + /** + * Starts debug session when connection is established. + * Some debug server might not required this step. + * + * @param id + * debug session id + * @param action + * the start action parameters + */ + Promise start(String id, StartActionDto action); + + /** + * Adds breakpoint. + * + * @param id + * debug session id + * @param breakpointDto + * the breakpoint to add + */ + Promise addBreakpoint(String id, BreakpointDto breakpointDto); + + /** + * Deletes breakpoint. + * + * @param id + * debug session id + * @param locationDto + * the location of the breakpoint to delete + */ + Promise deleteBreakpoint(String id, LocationDto locationDto); + + /** + * Deletes all breakpoints. + * + * @param id + * debug session id + */ + Promise deleteAllBreakpoints(String id); + + /** + * Returns all breakpoints. + * + * @param id + * debug session id + */ + Promise> getAllBreakpoints(String id); + + /** + * Gets dump of fields and local variables of the current frame. + * + * @param id + * debug session id + */ + Promise getStackFrameDump(String id); + + /** + * Resumes application. + * + * @param id + * debug session id + */ + Promise resume(String id, ResumeActionDto action); + + /** + * Returns a value of the variable. + * + * @param id + * debug session id + */ + Promise getValue(String id, VariableDto variableDto); + + /** + * Sets the new value of the variable. + * + * @param id + * debug session id + */ + Promise setValue(String id, VariableDto variableDto); + + /** + * Does step into. + * + * @param id + * debug session id + * @param action + * the step into action parameters + */ + Promise stepInto(String id, StepIntoActionDto action); + + /** + * Does step over. + * + * @param id + * debug session id + * @param action + * the step over action parameters + */ + Promise stepOver(String id, StepOverActionDto action); + + /** + * Does step out. + * + * @param id + * debug session id + * @param action + * the step out action parameters + */ + Promise stepOut(String id, StepOutActionDto action); + + /** + * Evaluate the expression. + * + * @param id + * debug session id + * @param expression + * the expression to evaluate + */ + Promise evaluate(String id, String expression); +} diff --git a/core/platform-api-client-gwt/che-core-client-gwt-debugger/src/main/java/org/eclipse/che/api/debugger/gwt/client/DebuggerServiceClientImpl.java b/core/platform-api-client-gwt/che-core-client-gwt-debugger/src/main/java/org/eclipse/che/api/debugger/gwt/client/DebuggerServiceClientImpl.java new file mode 100644 index 00000000000..76703946222 --- /dev/null +++ b/core/platform-api-client-gwt/che-core-client-gwt-debugger/src/main/java/org/eclipse/che/api/debugger/gwt/client/DebuggerServiceClientImpl.java @@ -0,0 +1,200 @@ +/******************************************************************************* + * Copyright (c) 2012-2016 Codenvy, S.A. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Codenvy, S.A. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.api.debugger.gwt.client; + +import com.google.gwt.http.client.URL; +import com.google.inject.Inject; +import com.google.inject.Singleton; + +import org.eclipse.che.api.debugger.shared.dto.BreakpointDto; +import org.eclipse.che.api.debugger.shared.dto.DebugSessionDto; +import org.eclipse.che.api.debugger.shared.dto.LocationDto; +import org.eclipse.che.api.debugger.shared.dto.StackFrameDumpDto; +import org.eclipse.che.api.debugger.shared.dto.ValueDto; +import org.eclipse.che.api.debugger.shared.dto.VariableDto; +import org.eclipse.che.api.debugger.shared.dto.action.ActionDto; +import org.eclipse.che.api.debugger.shared.dto.action.ResumeActionDto; +import org.eclipse.che.api.debugger.shared.dto.action.StartActionDto; +import org.eclipse.che.api.debugger.shared.dto.action.StepIntoActionDto; +import org.eclipse.che.api.debugger.shared.dto.action.StepOutActionDto; +import org.eclipse.che.api.debugger.shared.dto.action.StepOverActionDto; +import org.eclipse.che.api.machine.gwt.client.DevMachine; +import org.eclipse.che.api.promises.client.Promise; +import org.eclipse.che.ide.api.app.AppContext; +import org.eclipse.che.ide.json.JsonHelper; +import org.eclipse.che.ide.rest.AsyncRequestFactory; +import org.eclipse.che.ide.rest.DtoUnmarshallerFactory; +import org.eclipse.che.ide.rest.StringUnmarshaller; +import org.eclipse.che.ide.ui.loaders.request.LoaderFactory; + +import java.util.List; +import java.util.Map; + +import static org.eclipse.che.ide.MimeType.APPLICATION_JSON; +import static org.eclipse.che.ide.rest.HTTPHeader.CONTENT_TYPE; + +/** + * The implementation of {@link DebuggerServiceClient}. + * + * @author Anatoliy Bazko + */ +@Singleton +public class DebuggerServiceClientImpl implements DebuggerServiceClient { + private final LoaderFactory loaderFactory; + private final AsyncRequestFactory asyncRequestFactory; + private final DtoUnmarshallerFactory dtoUnmarshallerFactory; + private final AppContext appContext; + + @Inject + protected DebuggerServiceClientImpl(AppContext appContext, + LoaderFactory loaderFactory, + AsyncRequestFactory asyncRequestFactory, + DtoUnmarshallerFactory dtoUnmarshallerFactory) { + this.loaderFactory = loaderFactory; + this.asyncRequestFactory = asyncRequestFactory; + this.dtoUnmarshallerFactory = dtoUnmarshallerFactory; + this.appContext = appContext; + } + + @Override + public Promise connect(String debuggerType, Map connectionProperties) { + final String requestUrl = getBaseUrl() + "?type=" + debuggerType; + return asyncRequestFactory.createPostRequest(requestUrl, null) + .header(CONTENT_TYPE, APPLICATION_JSON) + .data(JsonHelper.toJson(connectionProperties)) + .send(dtoUnmarshallerFactory.newUnmarshaller(DebugSessionDto.class)); + } + + @Override + public Promise disconnect(String id) { + final String requestUrl = getBaseUrl() + "/" + id; + return asyncRequestFactory.createDeleteRequest(requestUrl) + .loader(loaderFactory.newLoader()) + .send(); + } + + @Override + public Promise getSessionInfo(String id) { + final String requestUrl = getBaseUrl() + "/" + id; + return asyncRequestFactory.createGetRequest(requestUrl) + .send(dtoUnmarshallerFactory.newUnmarshaller(DebugSessionDto.class)); + } + + @Override + public Promise start(String id, StartActionDto action) { + return performAction(id, action); + } + + @Override + public Promise addBreakpoint(String id, BreakpointDto breakpointDto) { + final String requestUrl = getBaseUrl() + "/" + id + "/breakpoint"; + return asyncRequestFactory.createPostRequest(requestUrl, breakpointDto) + .loader(loaderFactory.newLoader()) + .send(); + } + + @Override + public Promise> getAllBreakpoints(String id) { + final String requestUrl = getBaseUrl() + "/" + id + "/breakpoint"; + return asyncRequestFactory.createGetRequest(requestUrl) + .loader(loaderFactory.newLoader()) + .send(dtoUnmarshallerFactory.newListUnmarshaller(BreakpointDto.class)); + } + + @Override + public Promise deleteBreakpoint(String id, LocationDto locationDto) { + final String requestUrl = getBaseUrl() + "/" + id + "/breakpoint"; + final String params = "?target=" + locationDto.getTarget() + "&line=" + locationDto.getLineNumber(); + return asyncRequestFactory.createDeleteRequest(requestUrl + params).send(); + } + + @Override + public Promise deleteAllBreakpoints(String id) { + final String requestUrl = getBaseUrl() + "/" + id + "/breakpoint"; + return asyncRequestFactory.createDeleteRequest(requestUrl).send(); + } + + @Override + public Promise getStackFrameDump(String id) { + final String requestUrl = getBaseUrl() + "/" + id + "/dump"; + return asyncRequestFactory.createGetRequest(requestUrl) + .loader(loaderFactory.newLoader()) + .send(dtoUnmarshallerFactory.newUnmarshaller(StackFrameDumpDto.class)); + } + + @Override + public Promise resume(String id, ResumeActionDto action) { + return performAction(id, action); + } + + @Override + public Promise getValue(String id, VariableDto variableDto) { + final String requestUrl = getBaseUrl() + "/" + id + "/value"; + List path = variableDto.getVariablePath().getPath(); + + StringBuilder params = new StringBuilder(); + for (int i = 0; i < path.size(); i++) { + params.append(i == 0 ? "?" : "&"); + params.append("path"); + params.append(i); + params.append("="); + params.append(path.get(i)); + } + + return asyncRequestFactory.createGetRequest(requestUrl + params) + .loader(loaderFactory.newLoader()) + .send(dtoUnmarshallerFactory.newUnmarshaller(ValueDto.class)); + } + + @Override + public Promise setValue(String id, VariableDto variableDto) { + final String requestUrl = getBaseUrl() + "/" + id + "/value"; + return asyncRequestFactory.createPutRequest(requestUrl, variableDto) + .loader(loaderFactory.newLoader()) + .send(); + } + + @Override + public Promise stepInto(String id, StepIntoActionDto action) { + return performAction(id, action); + } + + @Override + public Promise stepOver(String id, StepOverActionDto action) { + return performAction(id, action); + } + + @Override + public Promise stepOut(String id, StepOutActionDto action) { + return performAction(id, action); + } + + @Override + public Promise evaluate(String id, String expression) { + String requestUrl = getBaseUrl() + "/" + id + "/evaluation"; + String params = "?expression=" + URL.encodeQueryString(expression); + return asyncRequestFactory.createGetRequest(requestUrl + params) + .loader(loaderFactory.newLoader()) + .send(new StringUnmarshaller()); + } + + private String getBaseUrl() { + DevMachine devMachine = appContext.getDevMachine(); + return devMachine.getWsAgentBaseUrl() + "/debugger/" + devMachine.getWorkspace(); + } + + protected Promise performAction(String id, ActionDto actionDto) { + final String requestUrl = getBaseUrl() + "/" + id; + return asyncRequestFactory.createPostRequest(requestUrl, actionDto) + .loader(loaderFactory.newLoader()) + .send(); + } +} diff --git a/core/platform-api-client-gwt/che-core-client-gwt-debugger/src/main/resources/org/eclipse/che/api/Debugger.gwt.xml b/core/platform-api-client-gwt/che-core-client-gwt-debugger/src/main/resources/org/eclipse/che/api/Debugger.gwt.xml new file mode 100644 index 00000000000..cbdfa46693c --- /dev/null +++ b/core/platform-api-client-gwt/che-core-client-gwt-debugger/src/main/resources/org/eclipse/che/api/Debugger.gwt.xml @@ -0,0 +1,20 @@ + + + + + + + + + diff --git a/core/platform-api-client-gwt/pom.xml b/core/platform-api-client-gwt/pom.xml index 0f57e3ecc60..b4882a8fee5 100644 --- a/core/platform-api-client-gwt/pom.xml +++ b/core/platform-api-client-gwt/pom.xml @@ -33,5 +33,6 @@ che-core-client-gwt-factory che-core-client-gwt-git che-core-client-gwt-ssh + che-core-client-gwt-debugger diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/pom.xml b/plugins/plugin-debugger/che-plugin-debugger-ide/pom.xml index 2e3af80a48f..bb2cb3d8f21 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/pom.xml +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/pom.xml @@ -21,6 +21,9 @@ che-plugin-debugger-ide jar Che Plugin :: Debugger :: Extension Debugger IDE + + ${project.build.directory}/generated-sources/dto/ + com.google.guava @@ -50,6 +53,10 @@ org.eclipse.che.core che-core-api-workspace + + org.eclipse.che.core + che-core-client-gwt-debugger + org.eclipse.che.core che-core-client-gwt-machine @@ -74,10 +81,6 @@ org.eclipse.che.core che-core-ide-ui - - org.eclipse.che.plugin - che-plugin-debugger-shared - org.eclipse.che.plugin che-plugin-machine-ext-client @@ -132,6 +135,9 @@ src/main/resources + + ${dto-generator-out-directory} + @@ -151,6 +157,81 @@ + + org.codehaus.mojo + build-helper-maven-plugin + + + add-resource + process-sources + + add-resource + + + + + ${dto-generator-out-directory}/META-INF + META-INF + + + + + + add-source + process-sources + + add-source + + + + ${dto-generator-out-directory} + + + + + + + maven-compiler-plugin + + + pre-compile + generate-sources + + compile + + + + + + org.eclipse.che.core + che-core-api-dto-maven-plugin + ${project.version} + + + generate-client-dto + process-sources + + generate + + + + org.eclipse.che.plugin.debugger.ide.configuration.dto + + ${dto-generator-out-directory} + org.eclipse.che.plugin.debugger.ide.configuration.dto.DtoClientImpls + client + + + + + + ${project.groupId} + ${project.artifactId} + ${project.version} + + + + org.apache.maven.plugins maven-surefire-plugin diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/debug/DebuggerEventListUnmarshaller.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/debug/DebuggerEventListUnmarshaller.java deleted file mode 100644 index 51b6105a3c7..00000000000 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/debug/DebuggerEventListUnmarshaller.java +++ /dev/null @@ -1,86 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2012-2016 Codenvy, S.A. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Codenvy, S.A. - initial API and implementation - *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.client.debug; - -import com.google.gwt.json.client.JSONArray; -import com.google.gwt.json.client.JSONObject; -import com.google.gwt.json.client.JSONParser; - -import org.eclipse.che.ide.commons.exception.UnmarshallerException; -import org.eclipse.che.ide.dto.DtoFactory; -import org.eclipse.che.ide.ext.debugger.shared.BreakpointActivatedEvent; -import org.eclipse.che.ide.ext.debugger.shared.BreakpointEvent; -import org.eclipse.che.ide.ext.debugger.shared.DebuggerEvent; -import org.eclipse.che.ide.ext.debugger.shared.DebuggerEventList; -import org.eclipse.che.ide.ext.debugger.shared.DisconnectEvent; -import org.eclipse.che.ide.ext.debugger.shared.StepEvent; -import org.eclipse.che.ide.websocket.Message; -import org.eclipse.che.ide.websocket.rest.Unmarshallable; - -import java.util.ArrayList; - -/** - * Unmarshaller for deserializing debugger event list, which is received over WebSocket connection. - * - * @author Artem Zatsarynnyi - */ -public class DebuggerEventListUnmarshaller implements Unmarshallable { - private DtoFactory dtoFactory; - private DebuggerEventList events; - - public DebuggerEventListUnmarshaller(DtoFactory dtoFactory) { - this.dtoFactory = dtoFactory; - this.events = dtoFactory.createDto(DebuggerEventList.class); - } - - @Override - public void unmarshal(Message response) throws UnmarshallerException { - this.events.setEvents(new ArrayList()); - - JSONObject jsonObject = JSONParser.parseStrict(response.getBody()).isObject(); - if (jsonObject == null) { - return; - } - - if (jsonObject.containsKey("events")) { - JSONArray events = jsonObject.get("events").isArray(); - for (int i = 0; i < events.size(); i++) { - JSONObject event = events.get(i).isObject(); - if (event.containsKey("type")) { - final int type = (int)event.get("type").isNumber().doubleValue(); - if (DebuggerEvent.BREAKPOINT == type) { - BreakpointEvent breakpointEvent = dtoFactory.createDtoFromJson(event.toString(), BreakpointEvent.class); - this.events.getEvents().add(breakpointEvent); - - } else if (DebuggerEvent.STEP == type) { - StepEvent stepEvent = dtoFactory.createDtoFromJson(event.toString(), StepEvent.class); - this.events.getEvents().add(stepEvent); - - } else if (DebuggerEvent.BREAKPOINT_ACTIVATED == type) { - BreakpointActivatedEvent breakpointActivatedEvent = - dtoFactory.createDtoFromJson(event.toString(), BreakpointActivatedEvent.class); - this.events.getEvents().add(breakpointActivatedEvent); - - } else if (DebuggerEvent.DISCONNECTED == type) { - DisconnectEvent disconnectEvent = dtoFactory.createDtoFromJson(event.toString(), DisconnectEvent.class); - this.events.getEvents().add(disconnectEvent); - } - } - } - } - } - - @Override - public DebuggerEventList getPayload() { - return events; - } - -} \ No newline at end of file diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/debug/DebuggerServiceClient.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/debug/DebuggerServiceClient.java deleted file mode 100644 index 917fef50659..00000000000 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/debug/DebuggerServiceClient.java +++ /dev/null @@ -1,161 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2012-2016 Codenvy, S.A. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Codenvy, S.A. - initial API and implementation - *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.client.debug; - -import org.eclipse.che.api.promises.client.Promise; -import org.eclipse.che.ide.ext.debugger.shared.Breakpoint; -import org.eclipse.che.ide.ext.debugger.shared.BreakpointList; -import org.eclipse.che.ide.ext.debugger.shared.DebuggerInfo; -import org.eclipse.che.ide.ext.debugger.shared.StackFrameDump; -import org.eclipse.che.ide.ext.debugger.shared.UpdateVariableRequest; -import org.eclipse.che.ide.ext.debugger.shared.Value; -import org.eclipse.che.ide.ext.debugger.shared.Variable; - -import javax.validation.constraints.NotNull; -import java.util.Map; - -/** - * The client for service to debug application. - * All methods requires debug {@code id} which is returned in {@link DebuggerInfo} invoking {@link #connect(Map)} method. - * - * @author Vitaly Parfonov - */ -public interface DebuggerServiceClient { - - /** - * Establishes connection with debugger server. Some debugger might require starting debug process. - * For that purpose {@link #start(String)} method is invoked after connection is established. - * - * @param connectionProperties - * the connection properties - */ - Promise connect(Map connectionProperties); - - /** - * Starts debug process when connection is established. - * - * @param id - * debug id - */ - Promise start(@NotNull String id); - - /** - * Stops and disconnects from debug process. - * - * @param id - * debug id - */ - Promise disconnect(@NotNull String id); - - /** - * Gets {@link DebuggerInfo}. - * - * @param id - * debug id - */ - Promise getInfo(@NotNull String id); - - /** - * Adds breakpoint. - * - * @param id - * debug id - */ - Promise addBreakpoint(@NotNull String id, @NotNull Breakpoint breakpoint); - - /** - * Deletes breakpoint. - * - * @param id - * debug id - */ - Promise deleteBreakpoint(@NotNull String id, @NotNull Breakpoint breakpoint); - - /** - * Returns all server breakpoints. - * - * @param id - * debug id - */ - Promise getAllBreakpoints(@NotNull String id); - - /** - * Deletes all breakpoints. - * - * @param id - * debug id - */ - Promise deleteAllBreakpoints(@NotNull String id); - - /** - * Gets dump of fields and local variable of current stack frame. - * - * @param id - * debug id - */ - Promise getStackFrameDump(@NotNull String id); - - /** - * Resumes process. - * - * @param id - * debug id - */ - Promise resume(@NotNull String id); - - /** - * Returns a value of the variable. - * - * @param id - * debug id - */ - Promise getValue(@NotNull String id, @NotNull Variable var); - - /** - * Sets the value of the variable. - * - * @param id - * debug id - */ - Promise setValue(@NotNull String id, @NotNull UpdateVariableRequest request); - - /** - * Does step into. - * - * @param id - * debug id - */ - Promise stepInto(@NotNull String id); - - /** - * Does step over. - * - * @param id - * debug id - */ - Promise stepOver(@NotNull String id); - - /** - * Does step out. - * - * @param id - * debug id - */ - Promise stepOut(@NotNull String id); - - /** - * Evaluate the expression. - * - * @param id - * debug id - */ - Promise evaluateExpression(@NotNull String id, @NotNull String expression); -} diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/debug/DebuggerVariable.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/debug/DebuggerVariable.java deleted file mode 100644 index 329994eafb6..00000000000 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/debug/DebuggerVariable.java +++ /dev/null @@ -1,117 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2012-2016 Codenvy, S.A. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Codenvy, S.A. - initial API and implementation - *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.client.debug; - -import org.eclipse.che.ide.ext.debugger.shared.Variable; -import org.eclipse.che.ide.ext.debugger.shared.VariablePath; - -import javax.validation.constraints.NotNull; -import java.util.ArrayList; -import java.util.List; -import java.util.Objects; - -/** - * The class is wrapper over Variable dto object. This class uses as key in hash map in data adapter and we need override hashcode method. - * - * @author Dmitry Shnurenko - */ -public class DebuggerVariable { - - private final Variable variable; - - public DebuggerVariable(@NotNull Variable variable) { - this.variable = variable; - } - - @NotNull - public Variable getVariable() { - return variable; - } - - @NotNull - public String getName() { - return variable.getName(); - } - - public void setName(@NotNull String name) { - variable.setName(name); - } - - @NotNull - public String getValue() { - return variable.getValue(); - } - - public void setValue(@NotNull String value) { - variable.setValue(value); - } - - @NotNull - public String getType() { - return variable.getType(); - } - - public void setType(@NotNull String type) { - variable.setType(type); - } - - @NotNull - public VariablePath getVariablePath() { - return variable.getVariablePath(); - } - - public boolean isPrimitive() { - return variable.isPrimitive(); - } - - @NotNull - public List getVariables() { - List variables = new ArrayList<>(); - - for (Variable innerVariable : variable.getVariables()) { - variables.add(new DebuggerVariable(innerVariable)); - } - - return variables; - } - - public void setVariables(@NotNull List debuggerVariables) { - List variables = new ArrayList<>(); - - for (DebuggerVariable debuggerVariable : debuggerVariables) { - variables.add(debuggerVariable.getVariable()); - } - - variable.setVariables(variables); - } - - @Override - public int hashCode() { - return Objects.hash(variable.getName(), variable.getValue(), variable.getVariablePath()); - } - - @Override - public boolean equals(Object object) { - if (object == this) { - return true; - } - - if (object == null || object.getClass() != this.getClass()) { - return false; - } - - DebuggerVariable var = (DebuggerVariable)object; - - return this.getName().equals(var.getName()) - && this.getValue().equals(var.getValue()) - && this.getVariablePath().equals(var.getVariablePath()); - } -} diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/DebuggerExtension.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/DebuggerExtension.java similarity index 87% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/DebuggerExtension.java rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/DebuggerExtension.java index 4208a4619f1..185772d2c1f 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/DebuggerExtension.java +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/DebuggerExtension.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.client; +package org.eclipse.che.plugin.debugger.ide; import com.google.inject.Inject; import com.google.inject.Singleton; @@ -18,19 +18,19 @@ import org.eclipse.che.ide.api.extension.Extension; import org.eclipse.che.ide.api.keybinding.KeyBindingAgent; import org.eclipse.che.ide.api.keybinding.KeyBuilder; -import org.eclipse.che.ide.ext.debugger.client.actions.ChangeVariableValueAction; -import org.eclipse.che.ide.ext.debugger.client.actions.DebugAction; -import org.eclipse.che.ide.ext.debugger.client.actions.DeleteAllBreakpointsAction; -import org.eclipse.che.ide.ext.debugger.client.actions.DisconnectDebuggerAction; -import org.eclipse.che.ide.ext.debugger.client.actions.EditConfigurationsAction; -import org.eclipse.che.ide.ext.debugger.client.actions.EvaluateExpressionAction; -import org.eclipse.che.ide.ext.debugger.client.actions.ResumeExecutionAction; -import org.eclipse.che.ide.ext.debugger.client.actions.ShowHideDebuggerPanelAction; -import org.eclipse.che.ide.ext.debugger.client.actions.StepIntoAction; -import org.eclipse.che.ide.ext.debugger.client.actions.StepOutAction; -import org.eclipse.che.ide.ext.debugger.client.actions.StepOverAction; -import org.eclipse.che.ide.ext.debugger.client.configuration.DebugConfigurationsGroup; -import org.eclipse.che.ide.ext.debugger.client.debug.DebuggerPresenter; +import org.eclipse.che.plugin.debugger.ide.actions.ChangeVariableValueAction; +import org.eclipse.che.plugin.debugger.ide.actions.DebugAction; +import org.eclipse.che.plugin.debugger.ide.actions.DeleteAllBreakpointsAction; +import org.eclipse.che.plugin.debugger.ide.actions.DisconnectDebuggerAction; +import org.eclipse.che.plugin.debugger.ide.actions.EditConfigurationsAction; +import org.eclipse.che.plugin.debugger.ide.actions.EvaluateExpressionAction; +import org.eclipse.che.plugin.debugger.ide.actions.ResumeExecutionAction; +import org.eclipse.che.plugin.debugger.ide.actions.ShowHideDebuggerPanelAction; +import org.eclipse.che.plugin.debugger.ide.actions.StepIntoAction; +import org.eclipse.che.plugin.debugger.ide.actions.StepOutAction; +import org.eclipse.che.plugin.debugger.ide.actions.StepOverAction; +import org.eclipse.che.plugin.debugger.ide.configuration.DebugConfigurationsGroup; +import org.eclipse.che.plugin.debugger.ide.debug.DebuggerPresenter; import org.eclipse.che.ide.util.input.KeyCodeMap; import static org.eclipse.che.ide.api.action.IdeActions.GROUP_DEBUG_CONTEXT_MENU; diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/DebuggerLocalizationConstant.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/DebuggerLocalizationConstant.java similarity index 99% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/DebuggerLocalizationConstant.java rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/DebuggerLocalizationConstant.java index db6dc9b18d4..0942773bcd1 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/DebuggerLocalizationConstant.java +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/DebuggerLocalizationConstant.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.client; +package org.eclipse.che.plugin.debugger.ide; /** * I18n constants for the Debugger extension. diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/DebuggerResources.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/DebuggerResources.java similarity index 97% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/DebuggerResources.java rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/DebuggerResources.java index dcc2f6e9aa2..a6e3ed37d3c 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/DebuggerResources.java +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/DebuggerResources.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.client; +package org.eclipse.che.plugin.debugger.ide; import com.google.gwt.resources.client.ClientBundle; import com.google.gwt.resources.client.CssResource; diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/actions/ChangeVariableValueAction.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/actions/ChangeVariableValueAction.java similarity index 85% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/actions/ChangeVariableValueAction.java rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/actions/ChangeVariableValueAction.java index 2e97e744872..b15f66b09d4 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/actions/ChangeVariableValueAction.java +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/actions/ChangeVariableValueAction.java @@ -8,16 +8,16 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.client.actions; +package org.eclipse.che.plugin.debugger.ide.actions; import com.google.inject.Inject; import org.eclipse.che.ide.api.action.AbstractPerspectiveAction; import org.eclipse.che.ide.api.action.ActionEvent; -import org.eclipse.che.ide.ext.debugger.client.DebuggerLocalizationConstant; -import org.eclipse.che.ide.ext.debugger.client.DebuggerResources; -import org.eclipse.che.ide.ext.debugger.client.debug.DebuggerPresenter; -import org.eclipse.che.ide.ext.debugger.client.debug.changevalue.ChangeValuePresenter; +import org.eclipse.che.plugin.debugger.ide.DebuggerLocalizationConstant; +import org.eclipse.che.plugin.debugger.ide.DebuggerResources; +import org.eclipse.che.plugin.debugger.ide.debug.DebuggerPresenter; +import org.eclipse.che.plugin.debugger.ide.debug.changevalue.ChangeValuePresenter; import java.util.Collections; diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/actions/DebugAction.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/actions/DebugAction.java similarity index 93% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/actions/DebugAction.java rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/actions/DebugAction.java index b418934a5c3..240c48ea560 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/actions/DebugAction.java +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/actions/DebugAction.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.client.actions; +package org.eclipse.che.plugin.debugger.ide.actions; import com.google.common.base.Optional; import com.google.inject.Inject; @@ -23,8 +23,8 @@ import org.eclipse.che.ide.api.debug.DebugConfigurationsManager; import org.eclipse.che.ide.debug.Debugger; import org.eclipse.che.ide.debug.DebuggerManager; -import org.eclipse.che.ide.ext.debugger.client.DebuggerLocalizationConstant; -import org.eclipse.che.ide.ext.debugger.client.DebuggerResources; +import org.eclipse.che.plugin.debugger.ide.DebuggerLocalizationConstant; +import org.eclipse.che.plugin.debugger.ide.DebuggerResources; import org.eclipse.che.ide.api.dialogs.DialogFactory; import java.util.Collections; @@ -100,7 +100,7 @@ private void connect(DebugConfiguration debugConfiguration) { connectionProperties.put("PORT", String.valueOf(debugConfiguration.getPort())); connectionProperties.putAll(debugConfiguration.getConnectionProperties()); - debugger.attachDebugger(connectionProperties).catchError(new Operation() { + debugger.connect(connectionProperties).catchError(new Operation() { @Override public void apply(PromiseError arg) throws OperationException { debuggerManager.setActiveDebugger(null); diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/actions/DeleteAllBreakpointsAction.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/actions/DeleteAllBreakpointsAction.java similarity index 90% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/actions/DeleteAllBreakpointsAction.java rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/actions/DeleteAllBreakpointsAction.java index 61f951afd62..c4dd44e43b6 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/actions/DeleteAllBreakpointsAction.java +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/actions/DeleteAllBreakpointsAction.java @@ -8,15 +8,15 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.client.actions; +package org.eclipse.che.plugin.debugger.ide.actions; import com.google.inject.Inject; import org.eclipse.che.ide.api.action.AbstractPerspectiveAction; import org.eclipse.che.ide.api.action.ActionEvent; import org.eclipse.che.ide.api.debug.BreakpointManager; -import org.eclipse.che.ide.ext.debugger.client.DebuggerLocalizationConstant; -import org.eclipse.che.ide.ext.debugger.client.DebuggerResources; +import org.eclipse.che.plugin.debugger.ide.DebuggerLocalizationConstant; +import org.eclipse.che.plugin.debugger.ide.DebuggerResources; import java.util.Collections; diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/actions/DisconnectDebuggerAction.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/actions/DisconnectDebuggerAction.java similarity index 89% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/actions/DisconnectDebuggerAction.java rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/actions/DisconnectDebuggerAction.java index d3ad3fd2ade..cdf85b706e6 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/actions/DisconnectDebuggerAction.java +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/actions/DisconnectDebuggerAction.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.client.actions; +package org.eclipse.che.plugin.debugger.ide.actions; import com.google.inject.Inject; @@ -16,8 +16,8 @@ import org.eclipse.che.ide.api.action.ActionEvent; import org.eclipse.che.ide.debug.Debugger; import org.eclipse.che.ide.debug.DebuggerManager; -import org.eclipse.che.ide.ext.debugger.client.DebuggerLocalizationConstant; -import org.eclipse.che.ide.ext.debugger.client.DebuggerResources; +import org.eclipse.che.plugin.debugger.ide.DebuggerLocalizationConstant; +import org.eclipse.che.plugin.debugger.ide.DebuggerResources; import java.util.Collections; @@ -47,7 +47,7 @@ public DisconnectDebuggerAction(DebuggerManager debuggerManager, public void actionPerformed(ActionEvent e) { Debugger debugger = debuggerManager.getActiveDebugger(); if (debugger != null) { - debugger.disconnectDebugger(); + debugger.disconnect(); } } diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/actions/EditConfigurationsAction.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/actions/EditConfigurationsAction.java similarity index 89% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/actions/EditConfigurationsAction.java rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/actions/EditConfigurationsAction.java index 1ad2b6c598f..731468153a4 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/actions/EditConfigurationsAction.java +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/actions/EditConfigurationsAction.java @@ -8,15 +8,15 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.client.actions; +package org.eclipse.che.plugin.debugger.ide.actions; import com.google.inject.Inject; import com.google.inject.Singleton; import org.eclipse.che.ide.api.action.AbstractPerspectiveAction; import org.eclipse.che.ide.api.action.ActionEvent; -import org.eclipse.che.ide.ext.debugger.client.DebuggerLocalizationConstant; -import org.eclipse.che.ide.ext.debugger.client.configuration.EditDebugConfigurationsPresenter; +import org.eclipse.che.plugin.debugger.ide.DebuggerLocalizationConstant; +import org.eclipse.che.plugin.debugger.ide.configuration.EditDebugConfigurationsPresenter; import org.eclipse.che.ide.extension.machine.client.MachineResources; import java.util.Collections; diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/actions/EvaluateExpressionAction.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/actions/EvaluateExpressionAction.java similarity index 86% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/actions/EvaluateExpressionAction.java rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/actions/EvaluateExpressionAction.java index 73313ace439..7e55296010f 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/actions/EvaluateExpressionAction.java +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/actions/EvaluateExpressionAction.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.client.actions; +package org.eclipse.che.plugin.debugger.ide.actions; import com.google.inject.Inject; import com.google.inject.Singleton; @@ -17,16 +17,16 @@ import org.eclipse.che.ide.api.action.ActionEvent; import org.eclipse.che.ide.debug.Debugger; import org.eclipse.che.ide.debug.DebuggerManager; -import org.eclipse.che.ide.ext.debugger.client.DebuggerLocalizationConstant; -import org.eclipse.che.ide.ext.debugger.client.DebuggerResources; -import org.eclipse.che.ide.ext.debugger.client.debug.expression.EvaluateExpressionPresenter; +import org.eclipse.che.plugin.debugger.ide.DebuggerLocalizationConstant; +import org.eclipse.che.plugin.debugger.ide.DebuggerResources; +import org.eclipse.che.plugin.debugger.ide.debug.expression.EvaluateExpressionPresenter; import java.util.Collections; import static org.eclipse.che.ide.workspace.perspectives.project.ProjectPerspective.PROJECT_PERSPECTIVE_ID; /** - * Action which allows evaluateExpression expression with debugger + * Action which allows evaluate expression with debugger * * @author Mykola Morhun */ diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/actions/ResumeExecutionAction.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/actions/ResumeExecutionAction.java similarity index 91% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/actions/ResumeExecutionAction.java rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/actions/ResumeExecutionAction.java index bf7ba7955e2..f1fb2d9a394 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/actions/ResumeExecutionAction.java +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/actions/ResumeExecutionAction.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.client.actions; +package org.eclipse.che.plugin.debugger.ide.actions; import com.google.inject.Inject; @@ -16,8 +16,8 @@ import org.eclipse.che.ide.api.action.ActionEvent; import org.eclipse.che.ide.debug.Debugger; import org.eclipse.che.ide.debug.DebuggerManager; -import org.eclipse.che.ide.ext.debugger.client.DebuggerLocalizationConstant; -import org.eclipse.che.ide.ext.debugger.client.DebuggerResources; +import org.eclipse.che.plugin.debugger.ide.DebuggerLocalizationConstant; +import org.eclipse.che.plugin.debugger.ide.DebuggerResources; import java.util.Collections; diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/actions/ShowHideDebuggerPanelAction.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/actions/ShowHideDebuggerPanelAction.java similarity index 88% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/actions/ShowHideDebuggerPanelAction.java rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/actions/ShowHideDebuggerPanelAction.java index 54bdfde510a..59d67663050 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/actions/ShowHideDebuggerPanelAction.java +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/actions/ShowHideDebuggerPanelAction.java @@ -8,14 +8,14 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.client.actions; +package org.eclipse.che.plugin.debugger.ide.actions; import com.google.inject.Inject; import org.eclipse.che.ide.api.action.Action; import org.eclipse.che.ide.api.action.ActionEvent; -import org.eclipse.che.ide.ext.debugger.client.DebuggerLocalizationConstant; -import org.eclipse.che.ide.ext.debugger.client.debug.DebuggerPresenter; +import org.eclipse.che.plugin.debugger.ide.DebuggerLocalizationConstant; +import org.eclipse.che.plugin.debugger.ide.debug.DebuggerPresenter; /** * Action which allows show / hide debugger panel. diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/actions/StepIntoAction.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/actions/StepIntoAction.java similarity index 90% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/actions/StepIntoAction.java rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/actions/StepIntoAction.java index 1d33759471a..b1846ae91d5 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/actions/StepIntoAction.java +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/actions/StepIntoAction.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.client.actions; +package org.eclipse.che.plugin.debugger.ide.actions; import com.google.inject.Inject; @@ -16,8 +16,8 @@ import org.eclipse.che.ide.api.action.ActionEvent; import org.eclipse.che.ide.debug.Debugger; import org.eclipse.che.ide.debug.DebuggerManager; -import org.eclipse.che.ide.ext.debugger.client.DebuggerLocalizationConstant; -import org.eclipse.che.ide.ext.debugger.client.DebuggerResources; +import org.eclipse.che.plugin.debugger.ide.DebuggerLocalizationConstant; +import org.eclipse.che.plugin.debugger.ide.DebuggerResources; import java.util.Collections; diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/actions/StepOutAction.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/actions/StepOutAction.java similarity index 90% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/actions/StepOutAction.java rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/actions/StepOutAction.java index f344951395e..203c4899683 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/actions/StepOutAction.java +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/actions/StepOutAction.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.client.actions; +package org.eclipse.che.plugin.debugger.ide.actions; import com.google.inject.Inject; @@ -16,8 +16,8 @@ import org.eclipse.che.ide.api.action.ActionEvent; import org.eclipse.che.ide.debug.Debugger; import org.eclipse.che.ide.debug.DebuggerManager; -import org.eclipse.che.ide.ext.debugger.client.DebuggerLocalizationConstant; -import org.eclipse.che.ide.ext.debugger.client.DebuggerResources; +import org.eclipse.che.plugin.debugger.ide.DebuggerLocalizationConstant; +import org.eclipse.che.plugin.debugger.ide.DebuggerResources; import java.util.Collections; diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/actions/StepOverAction.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/actions/StepOverAction.java similarity index 90% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/actions/StepOverAction.java rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/actions/StepOverAction.java index 6837feac458..a5e001caa51 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/actions/StepOverAction.java +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/actions/StepOverAction.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.client.actions; +package org.eclipse.che.plugin.debugger.ide.actions; import com.google.inject.Inject; @@ -16,8 +16,8 @@ import org.eclipse.che.ide.api.action.ActionEvent; import org.eclipse.che.ide.debug.Debugger; import org.eclipse.che.ide.debug.DebuggerManager; -import org.eclipse.che.ide.ext.debugger.client.DebuggerLocalizationConstant; -import org.eclipse.che.ide.ext.debugger.client.DebuggerResources; +import org.eclipse.che.plugin.debugger.ide.DebuggerLocalizationConstant; +import org.eclipse.che.plugin.debugger.ide.DebuggerResources; import java.util.Collections; diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/configuration/DebugConfigurationAction.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/configuration/DebugConfigurationAction.java similarity index 94% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/configuration/DebugConfigurationAction.java rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/configuration/DebugConfigurationAction.java index 8408839ccac..e8f5c18370a 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/configuration/DebugConfigurationAction.java +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/configuration/DebugConfigurationAction.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.client.configuration; +package org.eclipse.che.plugin.debugger.ide.configuration; import com.google.common.base.Optional; import com.google.inject.Inject; @@ -18,7 +18,7 @@ import org.eclipse.che.ide.api.action.ActionEvent; import org.eclipse.che.ide.api.debug.DebugConfiguration; import org.eclipse.che.ide.api.debug.DebugConfigurationsManager; -import org.eclipse.che.ide.ext.debugger.client.DebuggerLocalizationConstant; +import org.eclipse.che.plugin.debugger.ide.DebuggerLocalizationConstant; import java.util.Collections; diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/configuration/DebugConfigurationActionFactory.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/configuration/DebugConfigurationActionFactory.java similarity index 93% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/configuration/DebugConfigurationActionFactory.java rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/configuration/DebugConfigurationActionFactory.java index 6f600023819..3e7e3f46a75 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/configuration/DebugConfigurationActionFactory.java +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/configuration/DebugConfigurationActionFactory.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.client.configuration; +package org.eclipse.che.plugin.debugger.ide.configuration; import org.eclipse.che.ide.api.action.Action; import org.eclipse.che.ide.api.debug.DebugConfiguration; diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/configuration/DebugConfigurationTypeRegistry.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/configuration/DebugConfigurationTypeRegistry.java similarity index 97% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/configuration/DebugConfigurationTypeRegistry.java rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/configuration/DebugConfigurationTypeRegistry.java index b1005bdcdfd..67a5d9695d1 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/configuration/DebugConfigurationTypeRegistry.java +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/configuration/DebugConfigurationTypeRegistry.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.client.configuration; +package org.eclipse.che.plugin.debugger.ide.configuration; import com.google.inject.Inject; import com.google.inject.Singleton; diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/configuration/DebugConfigurationsGroup.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/configuration/DebugConfigurationsGroup.java similarity index 97% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/configuration/DebugConfigurationsGroup.java rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/configuration/DebugConfigurationsGroup.java index 99dd70fb69c..32482575a62 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/configuration/DebugConfigurationsGroup.java +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/configuration/DebugConfigurationsGroup.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.client.configuration; +package org.eclipse.che.plugin.debugger.ide.configuration; import com.google.inject.Inject; import com.google.inject.Singleton; diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/configuration/DebugConfigurationsManagerImpl.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/configuration/DebugConfigurationsManagerImpl.java similarity index 98% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/configuration/DebugConfigurationsManagerImpl.java rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/configuration/DebugConfigurationsManagerImpl.java index d6c91f80ac4..82bb3181a6e 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/configuration/DebugConfigurationsManagerImpl.java +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/configuration/DebugConfigurationsManagerImpl.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.client.configuration; +package org.eclipse.che.plugin.debugger.ide.configuration; import com.google.common.base.Optional; import com.google.inject.Inject; @@ -18,7 +18,7 @@ import org.eclipse.che.ide.api.debug.DebugConfigurationType; import org.eclipse.che.ide.api.debug.DebugConfigurationsManager; import org.eclipse.che.ide.dto.DtoFactory; -import org.eclipse.che.ide.ext.debugger.shared.DebugConfigurationDto; +import org.eclipse.che.plugin.debugger.ide.configuration.dto.DebugConfigurationDto; import org.eclipse.che.ide.util.loging.Log; import org.eclipse.che.ide.util.storage.LocalStorage; import org.eclipse.che.ide.util.storage.LocalStorageProvider; diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/configuration/EditConfigurationsResources.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/configuration/EditConfigurationsResources.java similarity index 96% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/configuration/EditConfigurationsResources.java rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/configuration/EditConfigurationsResources.java index c710fbaa74a..39837a56ce6 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/configuration/EditConfigurationsResources.java +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/configuration/EditConfigurationsResources.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.client.configuration; +package org.eclipse.che.plugin.debugger.ide.configuration; import com.google.gwt.resources.client.ClientBundle; import com.google.gwt.resources.client.CssResource; diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/configuration/EditDebugConfigurationsPresenter.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/configuration/EditDebugConfigurationsPresenter.java similarity index 99% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/configuration/EditDebugConfigurationsPresenter.java rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/configuration/EditDebugConfigurationsPresenter.java index 29a1ffd9fb0..a95224b31c9 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/configuration/EditDebugConfigurationsPresenter.java +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/configuration/EditDebugConfigurationsPresenter.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.client.configuration; +package org.eclipse.che.plugin.debugger.ide.configuration; import com.google.inject.Inject; import com.google.inject.Singleton; @@ -19,7 +19,7 @@ import org.eclipse.che.ide.api.debug.DebugConfigurationPage.DirtyStateListener; import org.eclipse.che.ide.api.debug.DebugConfigurationType; import org.eclipse.che.ide.api.debug.DebugConfigurationsManager; -import org.eclipse.che.ide.ext.debugger.client.DebuggerLocalizationConstant; +import org.eclipse.che.plugin.debugger.ide.DebuggerLocalizationConstant; import org.eclipse.che.ide.api.dialogs.ConfirmCallback; import org.eclipse.che.ide.api.dialogs.DialogFactory; import org.eclipse.che.ide.api.dialogs.ChoiceDialog; diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/configuration/EditDebugConfigurationsView.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/configuration/EditDebugConfigurationsView.java similarity index 98% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/configuration/EditDebugConfigurationsView.java rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/configuration/EditDebugConfigurationsView.java index 14338e702bf..b07c5b62d7d 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/configuration/EditDebugConfigurationsView.java +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/configuration/EditDebugConfigurationsView.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.client.configuration; +package org.eclipse.che.plugin.debugger.ide.configuration; import com.google.gwt.user.client.ui.AcceptsOneWidget; diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/configuration/EditDebugConfigurationsViewImpl.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/configuration/EditDebugConfigurationsViewImpl.java similarity index 99% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/configuration/EditDebugConfigurationsViewImpl.java rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/configuration/EditDebugConfigurationsViewImpl.java index 70d49ae5c94..b311f148538 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/configuration/EditDebugConfigurationsViewImpl.java +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/configuration/EditDebugConfigurationsViewImpl.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.client.configuration; +package org.eclipse.che.plugin.debugger.ide.configuration; import elemental.events.KeyboardEvent; @@ -46,7 +46,7 @@ import org.eclipse.che.ide.api.debug.DebugConfigurationType; import org.eclipse.che.ide.api.icon.Icon; import org.eclipse.che.ide.api.icon.IconRegistry; -import org.eclipse.che.ide.ext.debugger.client.DebuggerLocalizationConstant; +import org.eclipse.che.plugin.debugger.ide.DebuggerLocalizationConstant; import org.eclipse.che.ide.ui.list.CategoriesList; import org.eclipse.che.ide.ui.list.Category; import org.eclipse.che.ide.ui.list.CategoryRenderer; diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/configuration/EditDebugConfigurationsViewImpl.ui.xml b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/configuration/EditDebugConfigurationsViewImpl.ui.xml similarity index 97% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/configuration/EditDebugConfigurationsViewImpl.ui.xml rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/configuration/EditDebugConfigurationsViewImpl.ui.xml index 4f8d30c739e..51da3405b19 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/configuration/EditDebugConfigurationsViewImpl.ui.xml +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/configuration/EditDebugConfigurationsViewImpl.ui.xml @@ -13,7 +13,7 @@ - + .mainPanel > div:first-child + div { border-right: 1px solid popupBorderColor; diff --git a/plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/DebugConfigurationDto.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/configuration/dto/DebugConfigurationDto.java similarity index 95% rename from plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/DebugConfigurationDto.java rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/configuration/dto/DebugConfigurationDto.java index b49c37aa4db..551c18d5730 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/DebugConfigurationDto.java +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/configuration/dto/DebugConfigurationDto.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.shared; +package org.eclipse.che.plugin.debugger.ide.configuration.dto; import org.eclipse.che.dto.shared.DTO; diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/debug/AbstractDebugger.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/AbstractDebugger.java similarity index 57% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/debug/AbstractDebugger.java rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/AbstractDebugger.java index 8a1d0f8b263..a6e1c7dbb3f 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/debug/AbstractDebugger.java +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/AbstractDebugger.java @@ -8,12 +8,37 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.client.debug; +package org.eclipse.che.plugin.debugger.ide.debug; import com.google.gwt.user.client.Timer; import com.google.gwt.user.client.rpc.AsyncCallback; import com.google.web.bindery.event.shared.EventBus; +import org.eclipse.che.api.debugger.gwt.client.DebuggerServiceClient; +import org.eclipse.che.api.debugger.shared.dto.BreakpointDto; +import org.eclipse.che.api.debugger.shared.dto.DebugSessionDto; +import org.eclipse.che.api.debugger.shared.dto.LocationDto; +import org.eclipse.che.api.debugger.shared.dto.StackFrameDumpDto; +import org.eclipse.che.api.debugger.shared.dto.ValueDto; +import org.eclipse.che.api.debugger.shared.dto.VariableDto; +import org.eclipse.che.api.debugger.shared.dto.VariablePathDto; +import org.eclipse.che.api.debugger.shared.dto.action.ResumeActionDto; +import org.eclipse.che.api.debugger.shared.dto.action.StartActionDto; +import org.eclipse.che.api.debugger.shared.dto.action.StepIntoActionDto; +import org.eclipse.che.api.debugger.shared.dto.action.StepOutActionDto; +import org.eclipse.che.api.debugger.shared.dto.action.StepOverActionDto; +import org.eclipse.che.api.debugger.shared.dto.event.BreakpointActivatedEventDto; +import org.eclipse.che.api.debugger.shared.dto.event.DebuggerEventDto; +import org.eclipse.che.api.debugger.shared.dto.event.SuspendEventDto; +import org.eclipse.che.api.debugger.shared.model.DebuggerInfo; +import org.eclipse.che.api.debugger.shared.model.Location; +import org.eclipse.che.api.debugger.shared.model.StackFrameDump; +import org.eclipse.che.api.debugger.shared.model.Value; +import org.eclipse.che.api.debugger.shared.model.Variable; +import org.eclipse.che.api.debugger.shared.model.VariablePath; +import org.eclipse.che.api.debugger.shared.model.action.Action; +import org.eclipse.che.api.debugger.shared.model.impl.StackFrameDumpImpl; +import org.eclipse.che.api.debugger.shared.model.impl.ValueImpl; import org.eclipse.che.api.machine.gwt.client.events.WsAgentStateEvent; import org.eclipse.che.api.machine.gwt.client.events.WsAgentStateHandler; import org.eclipse.che.api.promises.client.Function; @@ -35,19 +60,6 @@ import org.eclipse.che.ide.debug.DebuggerObservable; import org.eclipse.che.ide.debug.DebuggerObserver; import org.eclipse.che.ide.dto.DtoFactory; -import org.eclipse.che.ide.ext.debugger.client.fqn.FqnResolverFactory; -import org.eclipse.che.ide.ext.debugger.shared.BreakpointActivatedEvent; -import org.eclipse.che.ide.ext.debugger.shared.BreakpointEvent; -import org.eclipse.che.ide.ext.debugger.shared.DebuggerEvent; -import org.eclipse.che.ide.ext.debugger.shared.DebuggerEventList; -import org.eclipse.che.ide.ext.debugger.shared.DebuggerInfo; -import org.eclipse.che.ide.ext.debugger.shared.Location; -import org.eclipse.che.ide.ext.debugger.shared.StackFrameDump; -import org.eclipse.che.ide.ext.debugger.shared.StepEvent; -import org.eclipse.che.ide.ext.debugger.shared.UpdateVariableRequest; -import org.eclipse.che.ide.ext.debugger.shared.Value; -import org.eclipse.che.ide.ext.debugger.shared.Variable; -import org.eclipse.che.ide.ext.debugger.shared.VariablePath; import org.eclipse.che.ide.rest.HTTPStatus; import org.eclipse.che.ide.util.loging.Log; import org.eclipse.che.ide.util.storage.LocalStorage; @@ -57,17 +69,13 @@ import org.eclipse.che.ide.websocket.WebSocketException; import org.eclipse.che.ide.websocket.rest.SubscriptionHandler; import org.eclipse.che.ide.websocket.rest.exceptions.ServerException; +import org.eclipse.che.plugin.debugger.ide.fqn.FqnResolverFactory; import javax.validation.constraints.NotNull; import java.util.ArrayList; import java.util.List; import java.util.Map; -import static org.eclipse.che.ide.ext.debugger.shared.DebuggerEvent.BREAKPOINT; -import static org.eclipse.che.ide.ext.debugger.shared.DebuggerEvent.BREAKPOINT_ACTIVATED; -import static org.eclipse.che.ide.ext.debugger.shared.DebuggerEvent.DISCONNECTED; -import static org.eclipse.che.ide.ext.debugger.shared.DebuggerEvent.STEP; - /** * The common debugger. * @@ -75,7 +83,8 @@ */ public abstract class AbstractDebugger implements Debugger, DebuggerObservable { - public static final String LOCAL_STORAGE_DEBUGGER_KEY = "che-debugger"; + public static final String LOCAL_STORAGE_DEBUGGER_SESSION_KEY = "che-debugger-session"; + public static final String LOCAL_STORAGE_DEBUGGER_STATE_KEY = "che-debugger-state"; protected final DtoFactory dtoFactory; protected final FileTypeRegistry fileTypeRegistry; @@ -87,15 +96,12 @@ public abstract class AbstractDebugger implements Debugger, DebuggerObservable { private final EventBus eventBus; private final ActiveFileHandler activeFileHandler; private final DebuggerManager debuggerManager; - private final String id; + private final String debuggerType; private final String eventChannel; - /** Channel identifier to receive events from debugger over WebSocket. */ - private String debuggerEventsChannel; - - private DebuggerInfo debuggerInfo; - private Location currentLocation; - private SubscriptionHandler debuggerEventsHandler; + private DebugSessionDto debugSessionDto; + private Location currentLocation; + private SubscriptionHandler debuggerEventsHandler; private MessageBus messageBus; @@ -108,8 +114,7 @@ public AbstractDebugger(DebuggerServiceClient service, ActiveFileHandler activeFileHandler, DebuggerManager debuggerManager, FileTypeRegistry fileTypeRegistry, - String id, - String eventChannel) { + String type) { this.service = service; this.dtoFactory = dtoFactory; this.localStorageProvider = localStorageProvider; @@ -119,26 +124,29 @@ public AbstractDebugger(DebuggerServiceClient service, this.debuggerManager = debuggerManager; this.observers = new ArrayList<>(); this.fileTypeRegistry = fileTypeRegistry; - this.id = id; - this.eventChannel = eventChannel; + this.debuggerType = type; + this.eventChannel = debuggerType + ":events:"; + restoreDebuggerState(); addHandlers(messageBusProvider); } + private void addHandlers(final MessageBusProvider messageBusProvider) { eventBus.addHandler(WsAgentStateEvent.TYPE, new WsAgentStateHandler() { @Override public void onWsAgentStarted(WsAgentStateEvent event) { messageBus = messageBusProvider.getMachineMessageBus(); - restoreDebuggerInfo(); if (isConnected()) { - Promise promise = service.getInfo(debuggerInfo.getId()); - promise.then(new Operation() { + Promise promise = service.getSessionInfo(debugSessionDto.getId()); + promise.then(new Operation() { @Override - public void apply(DebuggerInfo arg) throws OperationException { + public void apply(DebugSessionDto arg) throws OperationException { debuggerManager.setActiveDebugger(AbstractDebugger.this); + setDebugSession(arg); + DebuggerInfo debuggerInfo = arg.getDebuggerInfo(); String info = debuggerInfo.getName() + " " + debuggerInfo.getVersion(); String address = debuggerInfo.getHost() + ":" + debuggerInfo.getPort(); DebuggerDescriptor debuggerDescriptor = new DebuggerDescriptor(info, address); @@ -147,13 +155,14 @@ public void apply(DebuggerInfo arg) throws OperationException { for (DebuggerObserver observer : observers) { observer.onDebuggerAttached(debuggerDescriptor, promise); } + startCheckingEvents(); } }).catchError(new Operation() { @Override public void apply(PromiseError arg) throws OperationException { - invalidateDebuggerInfo(); - preserveDebuggerInfo(); + invalidateDebugSession(); + preserveDebuggerState(); } }); } @@ -163,84 +172,87 @@ public void apply(PromiseError arg) throws OperationException { public void onWsAgentStopped(WsAgentStateEvent event) {} }); - this.debuggerEventsHandler = new SubscriptionHandler(new DebuggerEventListUnmarshaller(dtoFactory)) { + this.debuggerEventsHandler = new SubscriptionHandler(new DebuggerEventUnmarshaller(dtoFactory)) { @Override - public void onMessageReceived(DebuggerEventList result) { - onEventListReceived(result); + public void onMessageReceived(DebuggerEventDto result) { + if (isConnected()) { + onEventListReceived(result); + } } @Override public void onErrorReceived(Throwable exception) { - try { - messageBus.unsubscribe(debuggerEventsChannel, this); - } catch (WebSocketException e) { - Log.error(AbstractDebugger.class, e); - } + if (isConnected()) { + try { + messageBus.unsubscribe(eventChannel, this); + } catch (WebSocketException e) { + Log.error(AbstractDebugger.class, e); + } - if (exception instanceof ServerException) { - ServerException serverException = (ServerException)exception; - if (HTTPStatus.INTERNAL_ERROR == serverException.getHTTPStatus() - && serverException.getMessage() != null - && serverException.getMessage().contains("not found")) { + if (exception instanceof ServerException) { + ServerException serverException = (ServerException)exception; + if (HTTPStatus.INTERNAL_ERROR == serverException.getHTTPStatus() + && serverException.getMessage() != null + && serverException.getMessage().contains("not found")) { - disconnectDebugger(); + disconnect(); + } } } } }; } - private void onEventListReceived(@NotNull DebuggerEventList eventList) { - Location location; - - List events = eventList.getEvents(); - for (DebuggerEvent event : events) { - switch (event.getType()) { - case STEP: - location = ((StepEvent)event).getLocation(); - break; - case BREAKPOINT_ACTIVATED: - org.eclipse.che.ide.ext.debugger.shared.Breakpoint breakpoint = ((BreakpointActivatedEvent)event).getBreakpoint(); - onBreakpointActivated(breakpoint.getLocation()); - return; - case BREAKPOINT: - location = ((BreakpointEvent)event).getBreakpoint().getLocation(); - break; - case DISCONNECTED: - disconnectDebugger(); - return; - default: - Log.error(AbstractDebugger.class, "Unknown type of debugger event: " + event.getType()); - return; - } + private void onEventListReceived(@NotNull DebuggerEventDto event) { + LocationDto newLocationDto; - final Location fLocation = location; - if (location != null) { - currentLocation = location; - activeFileHandler.openFile(fqnToPath(location), - location.getClassName(), - location.getLineNumber(), - new AsyncCallback() { - @Override - public void onFailure(Throwable caught) { - for (DebuggerObserver observer : observers) { - observer.onBreakpointStopped(fLocation.getClassName(), - fLocation.getClassName(), - fLocation.getLineNumber()); - } - } - - @Override - public void onSuccess(VirtualFile result) { - for (DebuggerObserver observer : observers) { - observer.onBreakpointStopped(result.getPath(), - fLocation.getClassName(), - fLocation.getLineNumber()); - } - } - }); - } + switch (event.getType()) { + case SUSPEND: + newLocationDto = ((SuspendEventDto)event).getLocation(); + break; + case BREAKPOINT_ACTIVATED: + BreakpointDto breakpointDto = ((BreakpointActivatedEventDto)event).getBreakpoint(); + onBreakpointActivated(breakpointDto.getLocation()); + return; + case DISCONNECT: + disconnect(); + return; + default: + Log.error(AbstractDebugger.class, "Unknown debuggerType of debugger event: " + event.getType()); + return; + } + + if (newLocationDto != null) { + currentLocation = newLocationDto; + openCurrentFile(); } + + preserveDebuggerState(); + } + + private void openCurrentFile() { + activeFileHandler.openFile(fqnToPath(currentLocation), + currentLocation.getTarget(), + currentLocation.getLineNumber(), + new AsyncCallback() { + @Override + public void onFailure(Throwable caught) { + for (DebuggerObserver observer : observers) { + observer.onBreakpointStopped(currentLocation.getTarget(), + currentLocation.getTarget(), + currentLocation.getLineNumber()); + } + } + + @Override + public void onSuccess(VirtualFile result) { + for (DebuggerObserver observer : observers) { + observer.onBreakpointStopped(result.getPath(), + currentLocation.getTarget(), + currentLocation.getLineNumber()); + } + } + }); } /** @@ -249,19 +261,18 @@ public void onSuccess(VirtualFile result) { *
  • condition triggered
  • *
  • etc
  • */ - private void onBreakpointActivated(Location location) { - List filePaths = fqnToPath(location); + private void onBreakpointActivated(LocationDto locationDto) { + List filePaths = fqnToPath(locationDto); for (String filePath : filePaths) { for (DebuggerObserver observer : observers) { - observer.onBreakpointActivated(filePath, location.getLineNumber() - 1); + observer.onBreakpointActivated(filePath, locationDto.getLineNumber() - 1); } } } private void startCheckingEvents() { - debuggerEventsChannel = eventChannel + debuggerInfo.getId(); try { - messageBus.subscribe(debuggerEventsChannel, debuggerEventsHandler); + messageBus.subscribe(eventChannel, debuggerEventsHandler); } catch (WebSocketException e) { Log.error(DebuggerPresenter.class, e); } @@ -269,8 +280,8 @@ private void startCheckingEvents() { private void stopCheckingDebugEvents() { try { - if (messageBus.isHandlerSubscribed(debuggerEventsHandler, debuggerEventsChannel)) { - messageBus.unsubscribe(debuggerEventsChannel, debuggerEventsHandler); + if (messageBus.isHandlerSubscribed(debuggerEventsHandler, eventChannel)) { + messageBus.unsubscribe(eventChannel, debuggerEventsHandler); } } catch (WebSocketException e) { Log.error(AbstractDebugger.class, e); @@ -278,44 +289,31 @@ private void stopCheckingDebugEvents() { } @Override - public Promise getValue(String variable) { + public Promise getValue(Variable variable) { if (!isConnected()) { return Promises.reject(JsPromiseError.create("Debugger is not connected")); } - Promise promise = service.getValue(debuggerInfo.getId(), dtoFactory.createDtoFromJson(variable, Variable.class)); - return promise.then(new Function() { - @Override - public String apply(Value arg) throws FunctionException { - List variables = arg.getVariables(); - return dtoFactory.toJson(variables); - } - }).catchError(new Operation() { + Promise promise = service.getValue(debugSessionDto.getId(), asDto(variable)); + return promise.then(new Function() { @Override - public void apply(PromiseError arg) throws OperationException { - Log.error(AbstractDebugger.class, arg.getMessage()); - throw new OperationException(arg.getCause()); + public Value apply(ValueDto arg) throws FunctionException { + return new ValueImpl(arg); } }); } @Override - public Promise getStackFrameDump() { + public Promise dumpStackFrame() { if (!isConnected()) { return Promises.reject(JsPromiseError.create("Debugger is not connected")); } - Promise promise = service.getStackFrameDump(debuggerInfo.getId()); - return promise.then(new Function() { - @Override - public String apply(StackFrameDump arg) throws FunctionException { - return dtoFactory.toJson(arg); - } - }).catchError(new Operation() { + Promise stackFrameDump = service.getStackFrameDump(debugSessionDto.getId()); + return stackFrameDump.then(new Function() { @Override - public void apply(PromiseError arg) throws OperationException { - Log.error(AbstractDebugger.class, arg.getMessage()); - throw new OperationException(arg.getCause()); + public StackFrameDump apply(StackFrameDumpDto arg) throws FunctionException { + return new StackFrameDumpImpl(arg); } }); } @@ -323,21 +321,20 @@ public void apply(PromiseError arg) throws OperationException { @Override public void addBreakpoint(final VirtualFile file, final int lineNumber) { if (isConnected()) { - Location location = dtoFactory.createDto(Location.class); - location.setLineNumber(lineNumber + 1); + LocationDto locationDto = dtoFactory.createDto(LocationDto.class); + locationDto.setLineNumber(lineNumber + 1); String fqn = pathToFqn(file); if (fqn == null) { return; } - location.setClassName(fqn); + locationDto.setTarget(fqn); - org.eclipse.che.ide.ext.debugger.shared.Breakpoint breakpoint = - dtoFactory.createDto(org.eclipse.che.ide.ext.debugger.shared.Breakpoint.class); - breakpoint.setLocation(location); - breakpoint.setEnabled(true); + BreakpointDto breakpointDto = dtoFactory.createDto(BreakpointDto.class); + breakpointDto.setLocation(locationDto); + breakpointDto.setEnabled(true); - Promise promise = service.addBreakpoint(debuggerInfo.getId(), breakpoint); + Promise promise = service.addBreakpoint(debugSessionDto.getId(), breakpointDto); promise.then(new Operation() { @Override public void apply(Void arg) throws OperationException { @@ -363,21 +360,16 @@ public void apply(PromiseError arg) throws OperationException { @Override public void deleteBreakpoint(final VirtualFile file, final int lineNumber) { if (isConnected()) { - Location location = dtoFactory.createDto(Location.class); - location.setLineNumber(lineNumber + 1); + LocationDto locationDto = dtoFactory.createDto(LocationDto.class); + locationDto.setLineNumber(lineNumber + 1); String fqn = pathToFqn(file); if (fqn == null) { return; } - location.setClassName(fqn); + locationDto.setTarget(fqn); - org.eclipse.che.ide.ext.debugger.shared.Breakpoint breakpoint = - dtoFactory.createDto(org.eclipse.che.ide.ext.debugger.shared.Breakpoint.class); - breakpoint.setLocation(location); - breakpoint.setEnabled(true); - - Promise promise = service.deleteBreakpoint(debuggerInfo.getId(), breakpoint); + Promise promise = service.deleteBreakpoint(debugSessionDto.getId(), locationDto); promise.then(new Operation() { @Override public void apply(Void arg) throws OperationException { @@ -398,7 +390,7 @@ public void apply(PromiseError arg) throws OperationException { @Override public void deleteAllBreakpoints() { if (isConnected()) { - Promise promise = service.deleteAllBreakpoints(debuggerInfo.getId()); + Promise promise = service.deleteAllBreakpoints(debugSessionDto.getId()); promise.then(new Operation() { @Override @@ -417,21 +409,22 @@ public void apply(PromiseError arg) throws OperationException { } @Override - public Promise attachDebugger(Map connectionProperties) { + public Promise connect(Map connectionProperties) { if (isConnected()) { return Promises.reject(JsPromiseError.create("Debugger already connected")); } - Promise connect = service.connect(connectionProperties); + Promise connect = service.connect(debuggerType, connectionProperties); final DebuggerDescriptor debuggerDescriptor = toDescriptor(connectionProperties); - Promise promise = connect.then(new Function() { + Promise promise = connect.then(new Function() { @Override - public Void apply(final DebuggerInfo arg) throws FunctionException { - debuggerDescriptor.setInfo(arg.getName() + " " + arg.getVersion()); + public Void apply(final DebugSessionDto arg) throws FunctionException { + DebuggerInfo debuggerInfo = arg.getDebuggerInfo(); + debuggerDescriptor.setInfo(debuggerInfo.getName() + " " + debuggerInfo.getVersion()); - setDebuggerInfo(arg); - preserveDebuggerInfo(); + setDebugSession(arg); + preserveDebuggerState(); startCheckingEvents(); startDebuggerWithDelay(arg); @@ -452,28 +445,29 @@ public void apply(PromiseError arg) throws OperationException { return promise; } - protected void startDebuggerWithDelay(final DebuggerInfo debuggerInfo) { + protected void startDebuggerWithDelay(final DebugSessionDto debugSessionDto) { new Timer() { @Override public void run() { - service.start(debuggerInfo.getId()); + StartActionDto action = dtoFactory.createDto(StartActionDto.class).withType(Action.TYPE.START); + service.start(debugSessionDto.getId(), action); } }.schedule(2000); } @Override - public void disconnectDebugger() { + public void disconnect() { stopCheckingDebugEvents(); Promise disconnect; if (isConnected()) { - disconnect = service.disconnect(debuggerInfo.getId()); + disconnect = service.disconnect(debugSessionDto.getId()); } else { disconnect = Promises.resolve(null); } - invalidateDebuggerInfo(); - preserveDebuggerInfo(); + invalidateDebugSession(); + preserveDebuggerState(); disconnect.then(new Operation() { @Override @@ -498,11 +492,14 @@ public void apply(PromiseError arg) throws OperationException { public void stepInto() { if (isConnected()) { for (DebuggerObserver observer : observers) { - observer.onPreStepIn(); + observer.onPreStepInto(); } currentLocation = null; - Promise promise = service.stepInto(debuggerInfo.getId()); + StepIntoActionDto action = dtoFactory.createDto(StepIntoActionDto.class); + action.setType(Action.TYPE.STEP_INTO); + + Promise promise = service.stepInto(debugSessionDto.getId(), action); promise.catchError(new Operation() { @Override public void apply(PromiseError arg) throws OperationException { @@ -520,7 +517,10 @@ public void stepOver() { } currentLocation = null; - Promise promise = service.stepOver(debuggerInfo.getId()); + StepOverActionDto action = dtoFactory.createDto(StepOverActionDto.class); + action.setType(Action.TYPE.STEP_OVER); + + Promise promise = service.stepOver(debugSessionDto.getId(), action); promise.catchError(new Operation() { @Override public void apply(PromiseError arg) throws OperationException { @@ -538,7 +538,10 @@ public void stepOut() { } currentLocation = null; - Promise promise = service.stepOut(debuggerInfo.getId()); + StepOutActionDto action = dtoFactory.createDto(StepOutActionDto.class); + action.setType(Action.TYPE.STEP_OUT); + + Promise promise = service.stepOut(debugSessionDto.getId(), action); promise.catchError(new Operation() { @Override public void apply(PromiseError arg) throws OperationException { @@ -556,7 +559,10 @@ public void resume() { } currentLocation = null; - Promise promise = service.resume(debuggerInfo.getId()); + ResumeActionDto action = dtoFactory.createDto(ResumeActionDto.class); + action.setType(Action.TYPE.RESUME); + + Promise promise = service.resume(debugSessionDto.getId(), action); promise.catchError(new Operation() { @Override public void apply(PromiseError arg) throws OperationException { @@ -567,31 +573,24 @@ public void apply(PromiseError arg) throws OperationException { } @Override - public Promise evaluateExpression(String expression) { + public Promise evaluate(String expression) { if (isConnected()) { - return service.evaluateExpression(debuggerInfo.getId(), expression); + return service.evaluate(debugSessionDto.getId(), expression); } return Promises.reject(JsPromiseError.create("Debugger is not connected")); } @Override - public void changeVariableValue(final List path, final String newValue) { + public void setValue(final Variable variable) { if (isConnected()) { - VariablePath variablePath = dtoFactory.createDto(VariablePath.class); - variablePath.setPath(path); - - UpdateVariableRequest updateVariableRequest = dtoFactory.createDto(UpdateVariableRequest.class); - updateVariableRequest.setVariablePath(variablePath); - updateVariableRequest.setExpression(newValue); - - Promise promise = service.setValue(debuggerInfo.getId(), updateVariableRequest); + Promise promise = service.setValue(debugSessionDto.getId(), asDto(variable)); promise.then(new Operation() { @Override public void apply(Void arg) throws OperationException { for (DebuggerObserver observer : observers) { - observer.onValueChanged(path, newValue); + observer.onValueChanged(variable.getVariablePath().getPath(), variable.getValue()); } } }).catchError(new Operation() { @@ -605,7 +604,7 @@ public void apply(PromiseError arg) throws OperationException { @Override public boolean isConnected() { - return debuggerInfo != null; + return debugSessionDto != null; } @Override @@ -613,6 +612,10 @@ public boolean isSuspended() { return isConnected() && currentLocation != null; } + public String getDebuggerType() { + return debuggerType; + } + @Override public void addObserver(DebuggerObserver observer) { observers.add(observer); @@ -623,52 +626,87 @@ public void removeObserver(DebuggerObserver observer) { observers.remove(observer); } - protected void setDebuggerInfo(DebuggerInfo debuggerInfo) { - this.debuggerInfo = debuggerInfo; + protected void setDebugSession(DebugSessionDto debugSessionDto) { + this.debugSessionDto = debugSessionDto; } - private void invalidateDebuggerInfo() { - this.debuggerInfo = null; + private void invalidateDebugSession() { + this.debugSessionDto = null; + this.currentLocation = null; } /** * Preserves debugger information into the local storage. */ - protected void preserveDebuggerInfo() { + protected void preserveDebuggerState() { LocalStorage localStorage = localStorageProvider.get(); if (localStorage == null) { return; } - String data; if (!isConnected()) { - data = ""; + localStorage.setItem(LOCAL_STORAGE_DEBUGGER_SESSION_KEY, ""); + localStorage.setItem(LOCAL_STORAGE_DEBUGGER_STATE_KEY, ""); } else { - data = dtoFactory.toJson(debuggerInfo); + localStorage.setItem(LOCAL_STORAGE_DEBUGGER_SESSION_KEY, dtoFactory.toJson(debugSessionDto)); + if (currentLocation == null) { + localStorage.setItem(LOCAL_STORAGE_DEBUGGER_STATE_KEY, ""); + } else { + localStorage.setItem(LOCAL_STORAGE_DEBUGGER_STATE_KEY, dtoFactory.toJson(currentLocation)); + } } - - localStorage.setItem(LOCAL_STORAGE_DEBUGGER_KEY, data); } /** * Loads debugger information from the local storage. */ - protected void restoreDebuggerInfo() { + protected void restoreDebuggerState() { + invalidateDebugSession(); + LocalStorage localStorage = localStorageProvider.get(); if (localStorage == null) { - invalidateDebuggerInfo(); return; } - String data = localStorage.getItem(LOCAL_STORAGE_DEBUGGER_KEY); - if (data == null || data.isEmpty()) { - invalidateDebuggerInfo(); - return; + String data = localStorage.getItem(LOCAL_STORAGE_DEBUGGER_SESSION_KEY); + if (data != null && !data.isEmpty()) { + DebugSessionDto debugSessionDto = dtoFactory.createDtoFromJson(data, DebugSessionDto.class); + if (!debugSessionDto.getType().equals(getDebuggerType())) { + return; + } + + setDebugSession(debugSessionDto); + } + + data = localStorage.getItem(LOCAL_STORAGE_DEBUGGER_STATE_KEY); + if (data != null && !data.isEmpty()) { + currentLocation = dtoFactory.createDtoFromJson(data, LocationDto.class); } + } + + private VariableDto asDto(Variable variable) { + VariableDto dto = dtoFactory.createDto(VariableDto.class); + dto.withValue(variable.getValue()); + dto.withVariablePath(asDto(variable.getVariablePath())); + dto.withPrimitive(variable.isPrimitive()); + dto.withType(variable.getType()); + dto.withName(variable.getName()); + dto.withExistInformation(variable.isExistInformation()); + dto.withVariables(asDto(variable.getVariables())); + return dto; + } + + private List asDto(List variables) { + List dtos = new ArrayList<>(variables.size()); + for (Variable v : variables) { + dtos.add(asDto(v)); + } + return dtos; + } - DebuggerInfo debuggerInfo = dtoFactory.createDtoFromJson(data, DebuggerInfo.class); - setDebuggerInfo(debuggerInfo); + private VariablePathDto asDto(VariablePath variablePath) { + return dtoFactory.createDto(VariablePathDto.class).withPath(variablePath.getPath()); } /** diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/debug/ActiveFileHandler.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/ActiveFileHandler.java similarity index 94% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/debug/ActiveFileHandler.java rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/ActiveFileHandler.java index f41f2c101ef..87e6f92b886 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/debug/ActiveFileHandler.java +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/ActiveFileHandler.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.client.debug; +package org.eclipse.che.plugin.debugger.ide.debug; import com.google.gwt.user.client.rpc.AsyncCallback; diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/DebuggerEventUnmarshaller.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/DebuggerEventUnmarshaller.java new file mode 100644 index 00000000000..45d25c60c99 --- /dev/null +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/DebuggerEventUnmarshaller.java @@ -0,0 +1,70 @@ +/******************************************************************************* + * Copyright (c) 2012-2016 Codenvy, S.A. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Codenvy, S.A. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.plugin.debugger.ide.debug; + +import com.google.gwt.json.client.JSONObject; +import com.google.gwt.json.client.JSONParser; + +import org.eclipse.che.api.debugger.shared.dto.event.BreakpointActivatedEventDto; +import org.eclipse.che.api.debugger.shared.dto.event.DebuggerEventDto; +import org.eclipse.che.api.debugger.shared.dto.event.DisconnectEventDto; +import org.eclipse.che.api.debugger.shared.dto.event.SuspendEventDto; +import org.eclipse.che.api.debugger.shared.model.event.DebuggerEvent.TYPE; +import org.eclipse.che.ide.commons.exception.UnmarshallerException; +import org.eclipse.che.ide.dto.DtoFactory; +import org.eclipse.che.ide.websocket.Message; +import org.eclipse.che.ide.websocket.rest.Unmarshallable; + +/** + * Unmarshaller for deserializing debugger event which is received over WebSocket connection. + * + * @author Artem Zatsarynnyi + */ +public class DebuggerEventUnmarshaller implements Unmarshallable { + private DtoFactory dtoFactory; + private DebuggerEventDto event; + + public DebuggerEventUnmarshaller(DtoFactory dtoFactory) { + this.dtoFactory = dtoFactory; + } + + @Override + public void unmarshal(Message response) throws UnmarshallerException { + JSONObject jsonObject = JSONParser.parseStrict(response.getBody()).isObject(); + if (jsonObject == null) { + return; + } + + if (jsonObject.containsKey("type")) { + String type = jsonObject.get("type").isString().stringValue(); + TYPE eventType = TYPE.valueOf(type); + switch (eventType) { + case SUSPEND: + event = dtoFactory.createDtoFromJson(jsonObject.toString(), SuspendEventDto.class); + break; + case DISCONNECT: + event = dtoFactory.createDtoFromJson(jsonObject.toString(), DisconnectEventDto.class); + break; + case BREAKPOINT_ACTIVATED: + event = dtoFactory.createDtoFromJson(jsonObject.toString(), BreakpointActivatedEventDto.class); + break; + default: + throw new UnmarshallerException("Can't parse response.", + new IllegalArgumentException("Unknown debug event type: " + eventType)); + } + } + } + + @Override + public DebuggerEventDto getPayload() { + return event; + } +} diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/debug/DebuggerPresenter.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/DebuggerPresenter.java similarity index 79% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/debug/DebuggerPresenter.java rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/DebuggerPresenter.java index 198ce06a4b0..0b6a8b665db 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/debug/DebuggerPresenter.java +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/DebuggerPresenter.java @@ -8,13 +8,19 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.client.debug; +package org.eclipse.che.plugin.debugger.ide.debug; import com.google.gwt.user.client.ui.AcceptsOneWidget; import com.google.gwt.user.client.ui.IsWidget; import com.google.inject.Inject; import com.google.inject.Singleton; +import org.eclipse.che.api.debugger.shared.model.Location; +import org.eclipse.che.api.debugger.shared.model.MutableVariable; +import org.eclipse.che.api.debugger.shared.model.StackFrameDump; +import org.eclipse.che.api.debugger.shared.model.Value; +import org.eclipse.che.api.debugger.shared.model.Variable; +import org.eclipse.che.api.debugger.shared.model.impl.LocationImpl; import org.eclipse.che.api.promises.client.Operation; import org.eclipse.che.api.promises.client.OperationException; import org.eclipse.che.api.promises.client.Promise; @@ -32,15 +38,11 @@ import org.eclipse.che.ide.debug.DebuggerDescriptor; import org.eclipse.che.ide.debug.DebuggerManager; import org.eclipse.che.ide.debug.DebuggerManagerObserver; -import org.eclipse.che.ide.dto.DtoFactory; -import org.eclipse.che.ide.ext.debugger.client.DebuggerLocalizationConstant; -import org.eclipse.che.ide.ext.debugger.client.DebuggerResources; -import org.eclipse.che.ide.ext.debugger.shared.Location; -import org.eclipse.che.ide.ext.debugger.shared.StackFrameDump; -import org.eclipse.che.ide.ext.debugger.shared.Variable; import org.eclipse.che.ide.ui.toolbar.ToolbarPresenter; import org.eclipse.che.ide.util.loging.Log; import org.eclipse.che.ide.workspace.perspectives.project.ProjectPerspective; +import org.eclipse.che.plugin.debugger.ide.DebuggerLocalizationConstant; +import org.eclipse.che.plugin.debugger.ide.DebuggerResources; import org.vectomatic.dom.svg.ui.SVGResource; import javax.validation.constraints.NotNull; @@ -72,17 +74,16 @@ public class DebuggerPresenter extends BasePresenter implements DebuggerView.Act private final DebuggerResources debuggerResources; private final ToolbarPresenter debuggerToolbar; private final BreakpointManager breakpointManager; - private final DtoFactory dtoFactory; private final NotificationManager notificationManager; private final DebuggerLocalizationConstant constant; private final DebuggerView view; private final DebuggerManager debuggerManager; private final WorkspaceAgent workspaceAgent; - private DebuggerVariable selectedVariable; - private List variables; - private DebuggerDescriptor debuggerDescriptor; - private Location executionPoint; + private MutableVariable selectedVariable; + private List variables; + private DebuggerDescriptor debuggerDescriptor; + private Location executionPoint; @Inject public DebuggerPresenter(final DebuggerView view, @@ -91,12 +92,11 @@ public DebuggerPresenter(final DebuggerView view, final NotificationManager notificationManager, final DebuggerResources debuggerResources, final @DebuggerToolbar ToolbarPresenter debuggerToolbar, - final DtoFactory dtoFactory, DebuggerManager debuggerManager, + final DebuggerManager debuggerManager, final WorkspaceAgent workspaceAgent) { this.view = view; this.debuggerResources = debuggerResources; this.debuggerToolbar = debuggerToolbar; - this.dtoFactory = dtoFactory; this.debuggerManager = debuggerManager; this.workspaceAgent = workspaceAgent; this.view.setDelegate(this); @@ -150,19 +150,17 @@ public void go(AcceptsOneWidget container) { @Override public void onExpandVariablesTree() { - List rootVariables = selectedVariable.getVariables(); + List rootVariables = selectedVariable.getVariables(); if (rootVariables.isEmpty()) { Debugger debugger = debuggerManager.getActiveDebugger(); if (debugger != null) { - Promise promise = debugger.getValue(dtoFactory.toJson(selectedVariable.getVariable())); + Promise promise = debugger.getValue(selectedVariable); - promise.then(new Operation() { + promise.then(new Operation() { @Override - public void apply(String arg) throws OperationException { - List variables = dtoFactory.createListDtoFromJson(arg, Variable.class); - List debuggerVariables = getDebuggerVariables(variables); - - view.setVariablesIntoSelectedVariable(debuggerVariables); + public void apply(Value arg) throws OperationException { + selectedVariable.setValue(arg.getValue()); + view.setVariablesIntoSelectedVariable(selectedVariable.getVariables()); view.updateSelectedVariable(); } }).catchError(new Operation() { @@ -175,20 +173,8 @@ public void apply(PromiseError arg) throws OperationException { } } - @NotNull - private List getDebuggerVariables(@NotNull List variables) { - List debuggerVariables = new ArrayList<>(variables.size()); - - for (Variable variable : variables) { - debuggerVariables.add(new DebuggerVariable(variable)); - } - - return debuggerVariables; - } - - @Override - public void onSelectedVariableElement(@NotNull DebuggerVariable variable) { + public void onSelectedVariableElement(@NotNull MutableVariable variable) { this.selectedVariable = variable; } @@ -250,20 +236,15 @@ public void showView() { private void updateStackFrameDump() { Debugger debugger = debuggerManager.getActiveDebugger(); if (debugger != null && executionPoint != null) { - Promise promise = debugger.getStackFrameDump(); - promise.then(new Operation() { + Promise promise = debugger.dumpStackFrame(); + promise.then(new Operation() { @Override - public void apply(String arg) throws OperationException { - StackFrameDump dump = dtoFactory.createDtoFromJson(arg, StackFrameDump.class); - - List variables = new ArrayList<>(); - variables.addAll(dump.getFields()); - variables.addAll(dump.getLocalVariables()); - - List debuggerVariables = getDebuggerVariables(variables); + public void apply(StackFrameDump arg) throws OperationException { + variables = new ArrayList<>(); + variables.addAll(arg.getFields()); + variables.addAll(arg.getVariables()); - view.setVariables(debuggerVariables); - DebuggerPresenter.this.variables = debuggerVariables; + view.setVariables(variables); } }).catchError(new Operation() { @Override @@ -277,7 +258,7 @@ public void apply(PromiseError arg) throws OperationException { /** * @return selected variable in variables tree or null if no selected variables */ - public DebuggerVariable getSelectedVariable() { + public Variable getSelectedVariable() { return selectedVariable; } @@ -344,7 +325,7 @@ public void onAllBreakpointsDeleted() { } @Override - public void onPreStepIn() { + public void onPreStepInto() { resetStates(); } @@ -365,9 +346,7 @@ public void onPreResume() { @Override public void onBreakpointStopped(String filePath, String className, int lineNumber) { - executionPoint = dtoFactory.createDto(Location.class); - executionPoint.withClassName(className); - executionPoint.withLineNumber(lineNumber); + executionPoint = new LocationImpl(className, lineNumber); showAndUpdateView(); } diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/debug/DebuggerToolbar.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/DebuggerToolbar.java similarity index 94% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/debug/DebuggerToolbar.java rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/DebuggerToolbar.java index bd2aa5cec98..1964fd3e4a8 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/debug/DebuggerToolbar.java +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/DebuggerToolbar.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.client.debug; +package org.eclipse.che.plugin.debugger.ide.debug; import com.google.inject.BindingAnnotation; diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/debug/DebuggerView.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/DebuggerView.java similarity index 85% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/debug/DebuggerView.java rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/DebuggerView.java index 9148a9740f6..f3bda8105de 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/debug/DebuggerView.java +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/DebuggerView.java @@ -8,14 +8,16 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.client.debug; +package org.eclipse.che.plugin.debugger.ide.debug; import com.google.gwt.user.client.ui.AcceptsOneWidget; +import org.eclipse.che.api.debugger.shared.model.Location; +import org.eclipse.che.api.debugger.shared.model.MutableVariable; +import org.eclipse.che.api.debugger.shared.model.Variable; import org.eclipse.che.ide.api.mvp.View; import org.eclipse.che.ide.api.parts.base.BaseActionDelegate; import org.eclipse.che.ide.api.debug.Breakpoint; -import org.eclipse.che.ide.ext.debugger.shared.Location; import javax.validation.constraints.NotNull; import java.util.List; @@ -39,7 +41,7 @@ interface ActionDelegate extends BaseActionDelegate { * @param variable * variable that is selected */ - void onSelectedVariableElement(@NotNull DebuggerVariable variable); + void onSelectedVariableElement(@NotNull MutableVariable variable); } /** @@ -56,7 +58,7 @@ interface ActionDelegate extends BaseActionDelegate { * @param variables * available variables */ - void setVariables(@NotNull List variables); + void setVariables(@NotNull List variables); /** * Sets breakpoints. @@ -91,7 +93,7 @@ interface ActionDelegate extends BaseActionDelegate { * @param variables * variable what need to add into */ - void setVariablesIntoSelectedVariable(@NotNull List variables); + void setVariablesIntoSelectedVariable(@NotNull List variables); /** * Sets whether this object is visible. @@ -107,7 +109,7 @@ interface ActionDelegate extends BaseActionDelegate { * * @return selected variable or null if no selection. */ - DebuggerVariable getSelectedDebuggerVariable(); + MutableVariable getSelectedDebuggerVariable(); AcceptsOneWidget getDebuggerToolbarPanel(); } diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/debug/DebuggerViewImpl.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/DebuggerViewImpl.java similarity index 84% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/debug/DebuggerViewImpl.java rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/DebuggerViewImpl.java index 041fcebefd0..0eb94316cb3 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/debug/DebuggerViewImpl.java +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/DebuggerViewImpl.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.client.debug; +package org.eclipse.che.plugin.debugger.ide.debug; import elemental.dom.Element; import elemental.events.KeyboardEvent; @@ -28,21 +28,22 @@ import com.google.inject.Inject; import com.google.inject.Singleton; +import org.eclipse.che.api.debugger.shared.model.Location; +import org.eclipse.che.api.debugger.shared.model.MutableVariable; +import org.eclipse.che.api.debugger.shared.model.Variable; +import org.eclipse.che.api.debugger.shared.model.impl.MutableVariableImpl; import org.eclipse.che.commons.annotation.Nullable; import org.eclipse.che.ide.Resources; import org.eclipse.che.ide.api.parts.PartStackUIResources; import org.eclipse.che.ide.api.parts.base.BaseView; import org.eclipse.che.ide.api.debug.Breakpoint; -import org.eclipse.che.ide.dto.DtoFactory; -import org.eclipse.che.ide.ext.debugger.client.DebuggerLocalizationConstant; -import org.eclipse.che.ide.ext.debugger.client.DebuggerResources; -import org.eclipse.che.ide.ext.debugger.shared.Location; -import org.eclipse.che.ide.ext.debugger.shared.Variable; import org.eclipse.che.ide.ui.list.SimpleList; import org.eclipse.che.ide.ui.tree.Tree; import org.eclipse.che.ide.ui.tree.TreeNodeElement; import org.eclipse.che.ide.util.dom.Elements; import org.eclipse.che.ide.util.input.SignalEvent; +import org.eclipse.che.plugin.debugger.ide.DebuggerLocalizationConstant; +import org.eclipse.che.plugin.debugger.ide.DebuggerResources; import org.vectomatic.dom.svg.ui.SVGResource; import javax.validation.constraints.NotNull; @@ -77,12 +78,11 @@ interface DebuggerViewImplUiBinder extends UiBinder { @UiField(provided = true) SplitLayoutPanel splitPanel = new SplitLayoutPanel(3); - private final DtoFactory dtoFactory; - private final Tree variables; + private final Tree variables; private final SimpleList breakpoints; private final DebuggerResources res; - private TreeNodeElement selectedVariable; + private TreeNodeElement selectedVariable; @Inject protected DebuggerViewImpl(PartStackUIResources partStackUIResources, @@ -90,14 +90,12 @@ protected DebuggerViewImpl(PartStackUIResources partStackUIResources, DebuggerLocalizationConstant locale, Resources coreRes, VariableTreeNodeRenderer.Resources rendererResources, - DtoFactory dtoFactory, DebuggerViewImplUiBinder uiBinder) { super(partStackUIResources); this.locale = locale; this.res = resources; this.coreRes = coreRes; - this.dtoFactory = dtoFactory; setContentWidget(uiBinder.createAndBindUi(this)); @@ -155,37 +153,37 @@ public Element createElement() { breakpointListEventDelegate); this.breakpointsPanel.add(breakpoints); this.variables = Tree.create(rendererResources, new VariableNodeDataAdapter(), new VariableTreeNodeRenderer(rendererResources)); - this.variables.setTreeEventHandler(new Tree.Listener() { + this.variables.setTreeEventHandler(new Tree.Listener() { @Override - public void onNodeAction(@NotNull TreeNodeElement node) { + public void onNodeAction(@NotNull TreeNodeElement node) { } @Override - public void onNodeClosed(@NotNull TreeNodeElement node) { + public void onNodeClosed(@NotNull TreeNodeElement node) { selectedVariable = null; } @Override - public void onNodeContextMenu(int mouseX, int mouseY, @NotNull TreeNodeElement node) { + public void onNodeContextMenu(int mouseX, int mouseY, @NotNull TreeNodeElement node) { } @Override - public void onNodeDragStart(@NotNull TreeNodeElement node, @NotNull MouseEvent event) { + public void onNodeDragStart(@NotNull TreeNodeElement node, @NotNull MouseEvent event) { } @Override - public void onNodeDragDrop(@NotNull TreeNodeElement node, @NotNull MouseEvent event) { + public void onNodeDragDrop(@NotNull TreeNodeElement node, @NotNull MouseEvent event) { } @Override - public void onNodeExpanded(@NotNull final TreeNodeElement node) { + public void onNodeExpanded(@NotNull final TreeNodeElement node) { selectedVariable = node; delegate.onSelectedVariableElement(selectedVariable.getData()); delegate.onExpandVariablesTree(); } @Override - public void onNodeSelected(@NotNull TreeNodeElement node, @NotNull SignalEvent event) { + public void onNodeSelected(@NotNull TreeNodeElement node, @NotNull SignalEvent event) { selectedVariable = node; delegate.onSelectedVariableElement(selectedVariable.getData()); } @@ -212,7 +210,7 @@ public void onKeyboard(@NotNull KeyboardEvent event) { public void setExecutionPoint(@Nullable Location location) { StringBuilder labelText = new StringBuilder(); if (location != null) { - labelText.append("{").append(location.getClassName()).append(":").append(location.getLineNumber()).append("} "); + labelText.append("{").append(location.getTarget()).append(":").append(location.getLineNumber()).append("} "); } executionPoint.getElement().setClassName(coreRes.coreCss().defaultFont()); executionPoint.setText(labelText.toString()); @@ -220,10 +218,10 @@ public void setExecutionPoint(@Nullable Location location) { /** {@inheritDoc} */ @Override - public void setVariables(@NotNull List variables) { - DebuggerVariable root = this.variables.getModel().getRoot(); + public void setVariables(@NotNull List variables) { + MutableVariable root = this.variables.getModel().getRoot(); if (root == null) { - root = new DebuggerVariable(dtoFactory.createDto(Variable.class)); + root = new MutableVariableImpl(); this.variables.getModel().setRoot(root); } root.setVariables(variables); @@ -251,13 +249,13 @@ public void updateSelectedVariable() { /** {@inheritDoc} */ @Override - public void setVariablesIntoSelectedVariable(@NotNull List variables) { - DebuggerVariable rootVariable = selectedVariable.getData(); + public void setVariablesIntoSelectedVariable(@NotNull List variables) { + MutableVariable rootVariable = selectedVariable.getData(); rootVariable.setVariables(variables); } @Override - public DebuggerVariable getSelectedDebuggerVariable() { + public MutableVariable getSelectedDebuggerVariable() { if (selectedVariable != null) { return selectedVariable.getData(); } diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/debug/DebuggerViewImpl.ui.xml b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/DebuggerViewImpl.ui.xml similarity index 96% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/debug/DebuggerViewImpl.ui.xml rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/DebuggerViewImpl.ui.xml index 6d967b6d088..5c6ca2411f1 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/debug/DebuggerViewImpl.ui.xml +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/DebuggerViewImpl.ui.xml @@ -13,7 +13,7 @@ - + .alignLeft { @@ -77,4 +77,4 @@ - \ No newline at end of file +
    diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/debug/VariableNodeDataAdapter.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/VariableNodeDataAdapter.java similarity index 68% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/debug/VariableNodeDataAdapter.java rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/VariableNodeDataAdapter.java index a474e3f146b..d6610b71e50 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/debug/VariableNodeDataAdapter.java +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/VariableNodeDataAdapter.java @@ -8,8 +8,9 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.client.debug; +package org.eclipse.che.plugin.debugger.ide.debug; +import org.eclipse.che.api.debugger.shared.model.MutableVariable; import org.eclipse.che.commons.annotation.Nullable; import org.eclipse.che.ide.ui.tree.NodeDataAdapter; import org.eclipse.che.ide.ui.tree.TreeNodeElement; @@ -25,12 +26,12 @@ * @author Andrey Plotnikov * @@author Dmitry Shnurenko */ -public class VariableNodeDataAdapter implements NodeDataAdapter { - private HashMap> treeNodeElements = new HashMap<>(); +public class VariableNodeDataAdapter implements NodeDataAdapter { + private HashMap> treeNodeElements = new HashMap<>(); /** {@inheritDoc} */ @Override - public int compare(@NotNull DebuggerVariable a, @NotNull DebuggerVariable b) { + public int compare(@NotNull MutableVariable a, @NotNull MutableVariable b) { List pathA = a.getVariablePath().getPath(); List pathB = b.getVariablePath().getPath(); @@ -49,83 +50,83 @@ public int compare(@NotNull DebuggerVariable a, @NotNull DebuggerVariable b) { /** {@inheritDoc} */ @Override - public boolean hasChildren(@NotNull DebuggerVariable data) { + public boolean hasChildren(@NotNull MutableVariable data) { return !data.isPrimitive(); } /** {@inheritDoc} */ @Override @NotNull - public List getChildren(@NotNull DebuggerVariable data) { + public List getChildren(@NotNull MutableVariable data) { return data.getVariables(); } /** {@inheritDoc} */ @Override @Nullable - public String getNodeId(@NotNull DebuggerVariable data) { + public String getNodeId(@NotNull MutableVariable data) { return null; } /** {@inheritDoc} */ @Override @NotNull - public String getNodeName(@NotNull DebuggerVariable data) { + public String getNodeName(@NotNull MutableVariable data) { return data.getName() + ": " + data.getValue(); } /** {@inheritDoc} */ @Override @Nullable - public DebuggerVariable getParent(@NotNull DebuggerVariable data) { + public MutableVariable getParent(@NotNull MutableVariable data) { return null; } /** {@inheritDoc} */ @Override @Nullable - public TreeNodeElement getRenderedTreeNode(@NotNull DebuggerVariable data) { + public TreeNodeElement getRenderedTreeNode(@NotNull MutableVariable data) { return treeNodeElements.get(data); } /** {@inheritDoc} */ @Override - public void setNodeName(@NotNull DebuggerVariable data,@NotNull String name) { + public void setNodeName(@NotNull MutableVariable data,@NotNull String name) { // do nothing } /** {@inheritDoc} */ @Override - public void setRenderedTreeNode(@NotNull DebuggerVariable data,@NotNull TreeNodeElement renderedNode) { + public void setRenderedTreeNode(@NotNull MutableVariable data,@NotNull TreeNodeElement renderedNode) { treeNodeElements.put(data, renderedNode); } /** {@inheritDoc} */ @Override @Nullable - public DebuggerVariable getDragDropTarget(@NotNull DebuggerVariable data) { + public MutableVariable getDragDropTarget(@NotNull MutableVariable data) { return null; } /** {@inheritDoc} */ @Override @NotNull - public List getNodePath(@NotNull DebuggerVariable data) { + public List getNodePath(@NotNull MutableVariable data) { return new ArrayList<>(data.getVariablePath().getPath()); } /** {@inheritDoc} */ @Override @Nullable - public DebuggerVariable getNodeByPath(@NotNull DebuggerVariable root,@NotNull List relativeNodePath) { - DebuggerVariable localRoot = root; + public MutableVariable getNodeByPath(@NotNull MutableVariable root,@NotNull List relativeNodePath) { + MutableVariable localRoot = root; for (int i = 0; i < relativeNodePath.size(); i++) { String path = relativeNodePath.get(i); if (localRoot != null) { - List variables = new ArrayList<>(localRoot.getVariables()); + List variables = new ArrayList<>(localRoot.getVariables()); localRoot = null; for (int j = 0; j < variables.size(); j++) { - DebuggerVariable variable = variables.get(i); + MutableVariable variable = variables.get(i); if (variable.getName().equals(path)) { localRoot = variable; break; diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/debug/VariableTreeNodeRenderer.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/VariableTreeNodeRenderer.java similarity index 85% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/debug/VariableTreeNodeRenderer.java rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/VariableTreeNodeRenderer.java index 0d0fa9dbce0..8a50a2f9ba7 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/debug/VariableTreeNodeRenderer.java +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/VariableTreeNodeRenderer.java @@ -8,13 +8,14 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.client.debug; +package org.eclipse.che.plugin.debugger.ide.debug; import elemental.dom.Element; import elemental.html.SpanElement; import com.google.gwt.resources.client.CssResource; +import org.eclipse.che.api.debugger.shared.model.MutableVariable; import org.eclipse.che.ide.ui.tree.NodeRenderer; import org.eclipse.che.ide.ui.tree.Tree; import org.eclipse.che.ide.ui.tree.TreeNodeElement; @@ -28,7 +29,7 @@ * @author Andrey Plotnikov * @@author Dmitry Shnurenko */ -public class VariableTreeNodeRenderer implements NodeRenderer { +public class VariableTreeNodeRenderer implements NodeRenderer { public interface Css extends CssResource { @ClassName("variable-root") String variableRoot(); @@ -57,7 +58,7 @@ public Element getNodeKeyTextContainer(@NotNull SpanElement treeNodeLabel) { /** {@inheritDoc} */ @Override - public SpanElement renderNodeContents(@NotNull DebuggerVariable data) { + public SpanElement renderNodeContents(@NotNull MutableVariable data) { SpanElement root = Elements.createSpanElement(css.variableRoot()); SpanElement label = Elements.createSpanElement(css.variableLabel()); String content = data.getName() + ": " + data.getValue(); @@ -70,7 +71,7 @@ public SpanElement renderNodeContents(@NotNull DebuggerVariable data) { /** {@inheritDoc} */ @Override - public void updateNodeContents(@NotNull TreeNodeElement treeNode) { + public void updateNodeContents(@NotNull TreeNodeElement treeNode) { // do nothing } -} \ No newline at end of file +} diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/debug/changevalue/ChangeValuePresenter.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/changevalue/ChangeValuePresenter.java similarity index 77% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/debug/changevalue/ChangeValuePresenter.java rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/changevalue/ChangeValuePresenter.java index 89a90c008e0..e3853807950 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/debug/changevalue/ChangeValuePresenter.java +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/changevalue/ChangeValuePresenter.java @@ -8,18 +8,17 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.client.debug.changevalue; +package org.eclipse.che.plugin.debugger.ide.debug.changevalue; import com.google.inject.Inject; import com.google.inject.Singleton; +import org.eclipse.che.api.debugger.shared.model.Variable; +import org.eclipse.che.api.debugger.shared.model.impl.VariableImpl; import org.eclipse.che.ide.debug.Debugger; import org.eclipse.che.ide.debug.DebuggerManager; -import org.eclipse.che.ide.ext.debugger.client.DebuggerLocalizationConstant; -import org.eclipse.che.ide.ext.debugger.client.debug.DebuggerPresenter; -import org.eclipse.che.ide.ext.debugger.client.debug.DebuggerVariable; - -import java.util.List; +import org.eclipse.che.plugin.debugger.ide.DebuggerLocalizationConstant; +import org.eclipse.che.plugin.debugger.ide.debug.DebuggerPresenter; /** * Presenter for changing variables value. @@ -33,7 +32,7 @@ public class ChangeValuePresenter implements ChangeValueView.ActionDelegate { private final DebuggerPresenter debuggerPresenter; private final DebuggerLocalizationConstant constant; - private DebuggerVariable debuggerVariable; + private Variable variable; /** Create presenter. */ @Inject @@ -50,9 +49,9 @@ public ChangeValuePresenter(ChangeValueView view, /** Show dialog. */ public void showDialog() { - debuggerVariable = debuggerPresenter.getSelectedVariable(); - view.setValueTitle(constant.changeValueViewExpressionFieldTitle(debuggerVariable.getName())); - view.setValue(debuggerVariable.getValue()); + variable = debuggerPresenter.getSelectedVariable(); + view.setValueTitle(constant.changeValueViewExpressionFieldTitle(variable.getName())); + view.setValue(variable.getValue()); view.focusInValueField(); view.selectAllText(); view.setEnableChangeButton(false); @@ -70,10 +69,8 @@ public void onCancelClicked() { public void onChangeClicked() { Debugger debugger = debuggerManager.getActiveDebugger(); if (debugger != null) { - List variablePath = debuggerVariable.getVariablePath().getPath(); - String newValue = view.getValue(); - - debugger.changeVariableValue(variablePath, newValue); + Variable newVariable = new VariableImpl(view.getValue(), variable.getVariablePath()); + debugger.setValue(newVariable); } view.close(); @@ -86,4 +83,4 @@ public void onVariableValueChanged() { boolean isExpressionFieldNotEmpty = !value.trim().isEmpty(); view.setEnableChangeButton(isExpressionFieldNotEmpty); } -} \ No newline at end of file +} diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/debug/changevalue/ChangeValueView.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/changevalue/ChangeValueView.java similarity index 96% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/debug/changevalue/ChangeValueView.java rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/changevalue/ChangeValueView.java index 0edaf5a085d..024a829b6db 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/debug/changevalue/ChangeValueView.java +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/changevalue/ChangeValueView.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.client.debug.changevalue; +package org.eclipse.che.plugin.debugger.ide.debug.changevalue; import org.eclipse.che.ide.api.mvp.View; @@ -72,4 +72,4 @@ interface ActionDelegate { /** Show dialog. */ void showDialog(); -} \ No newline at end of file +} diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/debug/changevalue/ChangeValueViewImpl.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/changevalue/ChangeValueViewImpl.java similarity index 96% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/debug/changevalue/ChangeValueViewImpl.java rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/changevalue/ChangeValueViewImpl.java index 29f9a96e877..2a92b343ea1 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/debug/changevalue/ChangeValueViewImpl.java +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/changevalue/ChangeValueViewImpl.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.client.debug.changevalue; +package org.eclipse.che.plugin.debugger.ide.debug.changevalue; import com.google.gwt.core.client.GWT; import com.google.gwt.event.dom.client.ClickEvent; @@ -25,7 +25,7 @@ import com.google.inject.Inject; import com.google.inject.Singleton; -import org.eclipse.che.ide.ext.debugger.client.DebuggerLocalizationConstant; +import org.eclipse.che.plugin.debugger.ide.DebuggerLocalizationConstant; import org.eclipse.che.ide.ui.window.Window; import javax.validation.constraints.NotNull; @@ -148,4 +148,4 @@ public void setDelegate(ActionDelegate delegate) { public void onValueChanged(KeyUpEvent event) { delegate.onVariableValueChanged(); } -} \ No newline at end of file +} diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/debug/changevalue/ChangeValueViewImpl.ui.xml b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/changevalue/ChangeValueViewImpl.ui.xml similarity index 100% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/debug/changevalue/ChangeValueViewImpl.ui.xml rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/changevalue/ChangeValueViewImpl.ui.xml diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/debug/expression/EvaluateExpressionPresenter.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/expression/EvaluateExpressionPresenter.java similarity index 92% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/debug/expression/EvaluateExpressionPresenter.java rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/expression/EvaluateExpressionPresenter.java index 29325f548d8..73e7f274357 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/debug/expression/EvaluateExpressionPresenter.java +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/expression/EvaluateExpressionPresenter.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.client.debug.expression; +package org.eclipse.che.plugin.debugger.ide.debug.expression; import com.google.inject.Inject; import com.google.inject.Singleton; @@ -18,7 +18,7 @@ import org.eclipse.che.api.promises.client.PromiseError; import org.eclipse.che.ide.debug.Debugger; import org.eclipse.che.ide.debug.DebuggerManager; -import org.eclipse.che.ide.ext.debugger.client.DebuggerLocalizationConstant; +import org.eclipse.che.plugin.debugger.ide.DebuggerLocalizationConstant; /** * Presenter for evaluating an expression. @@ -66,7 +66,7 @@ public void onEvaluateClicked() { if (debugger != null) { view.setEnableEvaluateButton(false); - debugger.evaluateExpression(view.getExpression()).then(new Operation() { + debugger.evaluate(view.getExpression()).then(new Operation() { @Override public void apply(String result) throws OperationException { view.setResult(result); @@ -89,4 +89,4 @@ public void onExpressionValueChanged() { boolean isExpressionFieldNotEmpty = !expression.trim().isEmpty(); view.setEnableEvaluateButton(isExpressionFieldNotEmpty); } -} \ No newline at end of file +} diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/debug/expression/EvaluateExpressionView.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/expression/EvaluateExpressionView.java similarity index 97% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/debug/expression/EvaluateExpressionView.java rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/expression/EvaluateExpressionView.java index 4f96c542fe8..3d2617c494e 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/debug/expression/EvaluateExpressionView.java +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/expression/EvaluateExpressionView.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.client.debug.expression; +package org.eclipse.che.plugin.debugger.ide.debug.expression; import org.eclipse.che.ide.api.mvp.View; @@ -72,4 +72,4 @@ public interface ActionDelegate { /** Show dialog. */ void showDialog(); -} \ No newline at end of file +} diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/debug/expression/EvaluateExpressionViewImpl.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/expression/EvaluateExpressionViewImpl.java similarity index 97% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/debug/expression/EvaluateExpressionViewImpl.java rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/expression/EvaluateExpressionViewImpl.java index 21c38da3073..ba3fe326ba9 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/debug/expression/EvaluateExpressionViewImpl.java +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/expression/EvaluateExpressionViewImpl.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.client.debug.expression; +package org.eclipse.che.plugin.debugger.ide.debug.expression; import com.google.gwt.core.client.GWT; import com.google.gwt.event.dom.client.ClickEvent; @@ -27,7 +27,7 @@ import com.google.inject.Inject; import com.google.inject.Singleton; -import org.eclipse.che.ide.ext.debugger.client.DebuggerLocalizationConstant; +import org.eclipse.che.plugin.debugger.ide.DebuggerLocalizationConstant; import org.eclipse.che.ide.ui.window.Window; import javax.validation.constraints.NotNull; @@ -156,4 +156,4 @@ public void setDelegate(ActionDelegate delegate) { public void handleKeyUp(KeyUpEvent event) { delegate.onExpressionValueChanged(); } -} \ No newline at end of file +} diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/debug/expression/EvaluateExpressionViewImpl.ui.xml b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/expression/EvaluateExpressionViewImpl.ui.xml similarity index 94% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/debug/expression/EvaluateExpressionViewImpl.ui.xml rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/expression/EvaluateExpressionViewImpl.ui.xml index 1fd51a188e1..1876c4e023b 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/debug/expression/EvaluateExpressionViewImpl.ui.xml +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/expression/EvaluateExpressionViewImpl.ui.xml @@ -13,7 +13,7 @@ - + .alignLeft { @@ -51,4 +51,4 @@ - \ No newline at end of file + diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/fqn/FqnResolver.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/fqn/FqnResolver.java similarity index 93% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/fqn/FqnResolver.java rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/fqn/FqnResolver.java index 0e236505faa..9cf8f734864 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/fqn/FqnResolver.java +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/fqn/FqnResolver.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.client.fqn; +package org.eclipse.che.plugin.debugger.ide.fqn; import org.eclipse.che.ide.api.project.tree.VirtualFile; @@ -20,4 +20,4 @@ public interface FqnResolver { @NotNull String resolveFqn(@NotNull VirtualFile file); -} \ No newline at end of file +} diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/fqn/FqnResolverFactory.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/fqn/FqnResolverFactory.java similarity index 97% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/fqn/FqnResolverFactory.java rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/fqn/FqnResolverFactory.java index fd28151bc22..c2ad91ad6ec 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/fqn/FqnResolverFactory.java +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/fqn/FqnResolverFactory.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.client.fqn; +package org.eclipse.che.plugin.debugger.ide.fqn; import com.google.inject.Inject; import com.google.inject.Singleton; @@ -59,4 +59,4 @@ public void addFqnResolverObserver(FqnResolverObserver fqnResolverObserver) { public void removeFqnResolverObserver(FqnResolverObserver fqnResolverObserver) { listeners.remove(fqnResolverObserver); } -} \ No newline at end of file +} diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/fqn/FqnResolverObservable.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/fqn/FqnResolverObservable.java similarity index 94% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/fqn/FqnResolverObservable.java rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/fqn/FqnResolverObservable.java index 495a9813ffe..c292fd474ba 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/fqn/FqnResolverObservable.java +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/fqn/FqnResolverObservable.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.client.fqn; +package org.eclipse.che.plugin.debugger.ide.fqn; /** * @author Anatoliy Bazko diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/fqn/FqnResolverObserver.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/fqn/FqnResolverObserver.java similarity index 93% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/fqn/FqnResolverObserver.java rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/fqn/FqnResolverObserver.java index e80db495c9e..06b61bf13c5 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/fqn/FqnResolverObserver.java +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/fqn/FqnResolverObserver.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.client.fqn; +package org.eclipse.che.plugin.debugger.ide.fqn; /** * @author Anatoliy Bazko diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/inject/DebuggerGinModule.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/inject/DebuggerGinModule.java similarity index 67% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/inject/DebuggerGinModule.java rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/inject/DebuggerGinModule.java index d7999572b4b..bd20230255a 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/ide/ext/debugger/client/inject/DebuggerGinModule.java +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/inject/DebuggerGinModule.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.client.inject; +package org.eclipse.che.plugin.debugger.ide.inject; import com.google.gwt.inject.client.AbstractGinModule; import com.google.gwt.inject.client.assistedinject.GinFactoryModuleBuilder; @@ -17,18 +17,18 @@ import org.eclipse.che.ide.api.action.Action; import org.eclipse.che.ide.api.debug.DebugConfigurationsManager; import org.eclipse.che.ide.api.extension.ExtensionGinModule; -import org.eclipse.che.ide.ext.debugger.client.configuration.DebugConfigurationAction; -import org.eclipse.che.ide.ext.debugger.client.configuration.DebugConfigurationActionFactory; -import org.eclipse.che.ide.ext.debugger.client.configuration.DebugConfigurationsManagerImpl; -import org.eclipse.che.ide.ext.debugger.client.configuration.EditDebugConfigurationsView; -import org.eclipse.che.ide.ext.debugger.client.configuration.EditDebugConfigurationsViewImpl; -import org.eclipse.che.ide.ext.debugger.client.debug.DebuggerToolbar; -import org.eclipse.che.ide.ext.debugger.client.debug.DebuggerView; -import org.eclipse.che.ide.ext.debugger.client.debug.DebuggerViewImpl; -import org.eclipse.che.ide.ext.debugger.client.debug.changevalue.ChangeValueView; -import org.eclipse.che.ide.ext.debugger.client.debug.changevalue.ChangeValueViewImpl; -import org.eclipse.che.ide.ext.debugger.client.debug.expression.EvaluateExpressionView; -import org.eclipse.che.ide.ext.debugger.client.debug.expression.EvaluateExpressionViewImpl; +import org.eclipse.che.plugin.debugger.ide.configuration.DebugConfigurationAction; +import org.eclipse.che.plugin.debugger.ide.configuration.DebugConfigurationActionFactory; +import org.eclipse.che.plugin.debugger.ide.configuration.DebugConfigurationsManagerImpl; +import org.eclipse.che.plugin.debugger.ide.configuration.EditDebugConfigurationsView; +import org.eclipse.che.plugin.debugger.ide.configuration.EditDebugConfigurationsViewImpl; +import org.eclipse.che.plugin.debugger.ide.debug.DebuggerToolbar; +import org.eclipse.che.plugin.debugger.ide.debug.DebuggerView; +import org.eclipse.che.plugin.debugger.ide.debug.DebuggerViewImpl; +import org.eclipse.che.plugin.debugger.ide.debug.changevalue.ChangeValueView; +import org.eclipse.che.plugin.debugger.ide.debug.changevalue.ChangeValueViewImpl; +import org.eclipse.che.plugin.debugger.ide.debug.expression.EvaluateExpressionView; +import org.eclipse.che.plugin.debugger.ide.debug.expression.EvaluateExpressionViewImpl; import org.eclipse.che.ide.ui.toolbar.ToolbarPresenter; import org.eclipse.che.ide.util.storage.BrowserLocalStorageProviderImpl; import org.eclipse.che.ide.util.storage.LocalStorageProvider; diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/ide/ext/debugger/DebuggerExtension.gwt.xml b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/plugin/debugger/Debugger.gwt.xml similarity index 96% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/ide/ext/debugger/DebuggerExtension.gwt.xml rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/plugin/debugger/Debugger.gwt.xml index b3bb7152379..6f3e5351789 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/ide/ext/debugger/DebuggerExtension.gwt.xml +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/plugin/debugger/Debugger.gwt.xml @@ -21,6 +21,6 @@ - + - \ No newline at end of file + diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/ide/ext/debugger/client/DebuggerLocalizationConstant.properties b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/plugin/debugger/ide/DebuggerLocalizationConstant.properties similarity index 100% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/ide/ext/debugger/client/DebuggerLocalizationConstant.properties rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/plugin/debugger/ide/DebuggerLocalizationConstant.properties diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/ide/ext/debugger/client/breakpoint.svg b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/plugin/debugger/ide/breakpoint.svg similarity index 100% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/ide/ext/debugger/client/breakpoint.svg rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/plugin/debugger/ide/breakpoint.svg diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/ide/ext/debugger/client/configuration/add-configuration-button.svg b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/plugin/debugger/ide/configuration/add-configuration-button.svg similarity index 100% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/ide/ext/debugger/client/configuration/add-configuration-button.svg rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/plugin/debugger/ide/configuration/add-configuration-button.svg diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/ide/ext/debugger/client/configuration/duplicate-configuration-button.svg b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/plugin/debugger/ide/configuration/duplicate-configuration-button.svg similarity index 100% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/ide/ext/debugger/client/configuration/duplicate-configuration-button.svg rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/plugin/debugger/ide/configuration/duplicate-configuration-button.svg diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/ide/ext/debugger/client/configuration/editConfigurations.css b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/plugin/debugger/ide/configuration/editConfigurations.css similarity index 100% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/ide/ext/debugger/client/configuration/editConfigurations.css rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/plugin/debugger/ide/configuration/editConfigurations.css diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/ide/ext/debugger/client/configuration/find-icon.svg b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/plugin/debugger/ide/configuration/find-icon.svg similarity index 100% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/ide/ext/debugger/client/configuration/find-icon.svg rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/plugin/debugger/ide/configuration/find-icon.svg diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/ide/ext/debugger/client/configuration/remove-configuration-button.svg b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/plugin/debugger/ide/configuration/remove-configuration-button.svg similarity index 100% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/ide/ext/debugger/client/configuration/remove-configuration-button.svg rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/plugin/debugger/ide/configuration/remove-configuration-button.svg diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/ide/ext/debugger/client/connect.svg b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/plugin/debugger/ide/connect.svg similarity index 100% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/ide/ext/debugger/client/connect.svg rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/plugin/debugger/ide/connect.svg diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/ide/ext/debugger/client/debug-icon.svg b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/plugin/debugger/ide/debug-icon.svg similarity index 100% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/ide/ext/debugger/client/debug-icon.svg rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/plugin/debugger/ide/debug-icon.svg diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/ide/ext/debugger/client/debug.svg b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/plugin/debugger/ide/debug.svg similarity index 100% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/ide/ext/debugger/client/debug.svg rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/plugin/debugger/ide/debug.svg diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/ide/ext/debugger/client/debug/Debug.css b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/plugin/debugger/ide/debug/Debug.css similarity index 100% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/ide/ext/debugger/client/debug/Debug.css rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/plugin/debugger/ide/debug/Debug.css diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/ide/ext/debugger/client/debugger.css b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/plugin/debugger/ide/debugger.css similarity index 100% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/ide/ext/debugger/client/debugger.css rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/plugin/debugger/ide/debugger.css diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/ide/ext/debugger/client/disconnect.svg b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/plugin/debugger/ide/disconnect.svg similarity index 100% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/ide/ext/debugger/client/disconnect.svg rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/plugin/debugger/ide/disconnect.svg diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/ide/ext/debugger/client/edit.svg b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/plugin/debugger/ide/edit.svg similarity index 100% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/ide/ext/debugger/client/edit.svg rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/plugin/debugger/ide/edit.svg diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/ide/ext/debugger/client/evaluate.svg b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/plugin/debugger/ide/evaluate.svg similarity index 100% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/ide/ext/debugger/client/evaluate.svg rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/plugin/debugger/ide/evaluate.svg diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/ide/ext/debugger/client/remove.svg b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/plugin/debugger/ide/remove.svg similarity index 100% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/ide/ext/debugger/client/remove.svg rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/plugin/debugger/ide/remove.svg diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/ide/ext/debugger/client/resume.svg b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/plugin/debugger/ide/resume.svg similarity index 100% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/ide/ext/debugger/client/resume.svg rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/plugin/debugger/ide/resume.svg diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/ide/ext/debugger/client/separator.svg b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/plugin/debugger/ide/separator.svg similarity index 100% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/ide/ext/debugger/client/separator.svg rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/plugin/debugger/ide/separator.svg diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/ide/ext/debugger/client/stepinto.svg b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/plugin/debugger/ide/stepinto.svg similarity index 100% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/ide/ext/debugger/client/stepinto.svg rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/plugin/debugger/ide/stepinto.svg diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/ide/ext/debugger/client/stepout.svg b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/plugin/debugger/ide/stepout.svg similarity index 100% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/ide/ext/debugger/client/stepout.svg rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/plugin/debugger/ide/stepout.svg diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/ide/ext/debugger/client/stepover.svg b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/plugin/debugger/ide/stepover.svg similarity index 100% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/ide/ext/debugger/client/stepover.svg rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/main/resources/org/eclipse/che/plugin/debugger/ide/stepover.svg diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/ide/ext/debugger/client/debug/DebuggerVariableTest.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/ide/ext/debugger/client/debug/DebuggerVariableTest.java deleted file mode 100644 index df10cc58bda..00000000000 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/ide/ext/debugger/client/debug/DebuggerVariableTest.java +++ /dev/null @@ -1,207 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2012-2016 Codenvy, S.A. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Codenvy, S.A. - initial API and implementation - *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.client.debug; - -import org.eclipse.che.ide.ext.debugger.shared.Variable; -import org.eclipse.che.ide.ext.debugger.shared.VariablePath; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.ArgumentCaptor; -import org.mockito.Captor; -import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; - -import java.util.Arrays; -import java.util.List; - -import static org.hamcrest.CoreMatchers.equalTo; -import static org.hamcrest.CoreMatchers.is; -import static org.hamcrest.CoreMatchers.nullValue; -import static org.hamcrest.CoreMatchers.sameInstance; -import static org.junit.Assert.assertThat; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; - -/** - * @author Dmitry Shnurenko - */ -@RunWith(MockitoJUnitRunner.class) -public class DebuggerVariableTest { - - private final static String SOME_TEXT = "someText"; - - //constructor mock - @Mock - private Variable variable; - - //additional mocks - @Mock - private Variable testVariable1; - @Mock - private Variable testVariable2; - @Mock - private DebuggerVariable debuggerVariable1; - @Mock - private DebuggerVariable debuggerVariable2; - - @Captor - private ArgumentCaptor> variableListCaptor; - - private DebuggerVariable debuggerVariable; - - @Before - public void setUp() { - debuggerVariable = new DebuggerVariable(variable); - } - - @Test - public void variableShouldBeReturned() { - Variable testVariable = debuggerVariable.getVariable(); - - assertThat(testVariable, sameInstance(variable)); - } - - @Test - public void variableNameShouldBeReturned() { - debuggerVariable.getName(); - - verify(variable).getName(); - } - - @Test - public void nameShouldBeSet() { - debuggerVariable.setName(SOME_TEXT); - - verify(variable).setName(SOME_TEXT); - } - - @Test - public void valueShouldBeReturned() { - debuggerVariable.getValue(); - - verify(variable).getValue(); - } - - @Test - public void valueShouldBeSet() { - debuggerVariable.setValue(SOME_TEXT); - - verify(variable).setValue(SOME_TEXT); - } - - @Test - public void typeShouldBeReturned() { - debuggerVariable.getType(); - - verify(variable).getType(); - } - - @Test - public void typeShouldBeSet() { - debuggerVariable.setType(SOME_TEXT); - - verify(variable).setType(SOME_TEXT); - } - - @Test - public void pathShouldBeReturned() { - debuggerVariable.getVariablePath(); - - verify(variable).getVariablePath(); - } - - @Test - public void isPrimitiveShouldBeReturned() { - debuggerVariable.isPrimitive(); - - verify(variable).isPrimitive(); - } - - @Test - public void listDebuggerVariablesShouldBeReturned() { - when(variable.getVariables()).thenReturn(Arrays.asList(testVariable1, testVariable2)); - - List debuggerVariables = debuggerVariable.getVariables(); - - assertThat(debuggerVariables.size(), equalTo(2)); - assertThat(debuggerVariables.get(0).getVariable(), sameInstance(testVariable1)); - assertThat(debuggerVariables.get(1).getVariable(), sameInstance(testVariable2)); - } - - @Test - public void debuggerVariablesListShouldBeSet() { - when(debuggerVariable1.getVariable()).thenReturn(testVariable1); - when(debuggerVariable2.getVariable()).thenReturn(testVariable2); - - - debuggerVariable.setVariables(Arrays.asList(debuggerVariable1, debuggerVariable2)); - - verify(debuggerVariable1).getVariable(); - verify(debuggerVariable2).getVariable(); - - verify(variable).setVariables(variableListCaptor.capture()); - - List variables = variableListCaptor.getValue(); - - assertThat(variables.size(), equalTo(2)); - assertThat(variables.contains(testVariable1), is(true)); - assertThat(variables.contains(testVariable2), is(true)); - } - - @Test - public void hashCodeShouldBeReturned() { - //noinspection ResultOfMethodCallIgnored - debuggerVariable.hashCode(); - - verify(variable).getName(); - verify(variable).getValue(); - } - - @Test - public void objectShouldNotBeEqualsWhenObjectIsNull() { - boolean isEquals = debuggerVariable.equals(nullValue()); - - assertThat(isEquals, is(false)); - } - - @Test - public void objectShouldNotBeEqualsWhenObjectIsOtherClass() { - DebuggerView testObject = mock(DebuggerView.class); - - boolean isEquals = debuggerVariable.equals(testObject); - - assertThat(isEquals, is(false)); - } - - @Test - public void objectShouldBeEqualsWhenObjectsHaveSameReference() { - boolean isEquals = debuggerVariable.equals(debuggerVariable); - - assertThat(isEquals, is(true)); - } - - @Test - public void objectShouldBeEquals() { - VariablePath path = mock(VariablePath.class); - DebuggerVariable testVariable = new DebuggerVariable(variable); - - when(variable.getName()).thenReturn(SOME_TEXT); - when(variable.getValue()).thenReturn(SOME_TEXT); - when(variable.getVariablePath()).thenReturn(path); - - boolean isEquals = debuggerVariable.equals(testVariable); - - assertThat(isEquals, is(true)); - } - -} \ No newline at end of file diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/ide/ext/debugger/client/BaseTest.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/plugin/debugger/ide/BaseTest.java similarity index 71% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/ide/ext/debugger/client/BaseTest.java rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/plugin/debugger/ide/BaseTest.java index 6277af9bfbb..ccac4ecb04c 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/ide/ext/debugger/client/BaseTest.java +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/plugin/debugger/ide/BaseTest.java @@ -8,16 +8,17 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.client; +package org.eclipse.che.plugin.debugger.ide; import com.google.web.bindery.event.shared.EventBus; +import org.eclipse.che.api.debugger.gwt.client.DebuggerServiceClient; +import org.eclipse.che.api.debugger.shared.dto.DebugSessionDto; +import org.eclipse.che.api.debugger.shared.dto.DebuggerInfoDto; import org.eclipse.che.ide.api.notification.NotificationManager; import org.eclipse.che.ide.api.parts.PartStack; import org.eclipse.che.ide.api.parts.WorkspaceAgent; import org.eclipse.che.ide.dto.DtoFactory; -import org.eclipse.che.ide.ext.debugger.client.debug.DebuggerServiceClient; -import org.eclipse.che.ide.ext.debugger.shared.DebuggerInfo; import org.eclipse.che.ide.rest.DtoUnmarshallerFactory; import org.eclipse.che.ide.websocket.MessageBus; import org.junit.Before; @@ -39,11 +40,14 @@ public abstract class BaseTest { public static final String NAME = "vm.name"; public static final String VERSION = "vm.version"; public static final String DEBUGGER_ID = "debugger_id"; + public static final String DEBUGGER_TYPE = "id"; public static final boolean DISABLE_BUTTON = false; @Mock protected DebuggerServiceClient service; @Mock - protected DebuggerInfo debuggerInfo; + protected DebuggerInfoDto debuggerInfoDto; + @Mock + protected DebugSessionDto debugSessionDto; @Mock protected DebuggerLocalizationConstant constants; @Mock @@ -63,12 +67,12 @@ public abstract class BaseTest { @Before public void setUp() { - when(debuggerInfo.getId()).thenReturn(DEBUGGER_ID); - when(debuggerInfo.getHost()).thenReturn(HOST); - when(debuggerInfo.getPort()).thenReturn(PORT); - when(debuggerInfo.getName()).thenReturn(NAME); - when(debuggerInfo.getVersion()).thenReturn(VERSION); - - + when(debugSessionDto.getDebuggerInfo()).thenReturn(debuggerInfoDto); + when(debugSessionDto.getId()).thenReturn(DEBUGGER_ID); + when(debugSessionDto.getType()).thenReturn(DEBUGGER_TYPE); + when(debuggerInfoDto.getHost()).thenReturn(HOST); + when(debuggerInfoDto.getPort()).thenReturn(PORT); + when(debuggerInfoDto.getName()).thenReturn(NAME); + when(debuggerInfoDto.getVersion()).thenReturn(VERSION); } } diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/ide/ext/debugger/client/ChangeVariableValueTest.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/plugin/debugger/ide/ChangeVariableValueTest.java similarity index 70% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/ide/ext/debugger/client/ChangeVariableValueTest.java rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/plugin/debugger/ide/ChangeVariableValueTest.java index 66091c201bd..6f402237320 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/ide/ext/debugger/client/ChangeVariableValueTest.java +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/plugin/debugger/ide/ChangeVariableValueTest.java @@ -8,17 +8,16 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.client; +package org.eclipse.che.plugin.debugger.ide; +import org.eclipse.che.api.debugger.shared.dto.VariableDto; +import org.eclipse.che.api.debugger.shared.dto.VariablePathDto; +import org.eclipse.che.api.debugger.shared.model.MutableVariable; import org.eclipse.che.ide.debug.Debugger; import org.eclipse.che.ide.debug.DebuggerManager; -import org.eclipse.che.ide.ext.debugger.client.debug.DebuggerPresenter; -import org.eclipse.che.ide.ext.debugger.client.debug.DebuggerVariable; -import org.eclipse.che.ide.ext.debugger.client.debug.changevalue.ChangeValuePresenter; -import org.eclipse.che.ide.ext.debugger.client.debug.changevalue.ChangeValueView; -import org.eclipse.che.ide.ext.debugger.shared.UpdateVariableRequest; -import org.eclipse.che.ide.ext.debugger.shared.Variable; -import org.eclipse.che.ide.ext.debugger.shared.VariablePath; +import org.eclipse.che.plugin.debugger.ide.debug.DebuggerPresenter; +import org.eclipse.che.plugin.debugger.ide.debug.changevalue.ChangeValuePresenter; +import org.eclipse.che.plugin.debugger.ide.debug.changevalue.ChangeValueView; import org.junit.Before; import org.junit.Test; import org.mockito.InjectMocks; @@ -27,7 +26,6 @@ import java.util.ArrayList; import static org.mockito.Matchers.anyObject; -import static org.mockito.Matchers.anyString; import static org.mockito.Matchers.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; @@ -47,19 +45,19 @@ public class ChangeVariableValueTest extends BaseTest { @InjectMocks private ChangeValuePresenter presenter; @Mock - private Variable var; + private VariableDto var; @Mock - private VariablePath varPath; + private VariablePathDto varPath; @Mock - DebuggerManager debuggerManager; + private DebuggerManager debuggerManager; @Mock - Debugger debugger; + private Debugger debugger; @Mock - private DebuggerPresenter debuggerPresenter; + private DebuggerPresenter debuggerPresenter; @Mock - private DebuggerVariable debuggerVariable; + private MutableVariable variable; @Mock - private VariablePath variablePath; + private VariablePathDto variablePathDto; @Before public void setUp() { @@ -67,13 +65,13 @@ public void setUp() { when(var.getName()).thenReturn(VAR_NAME); when(var.getValue()).thenReturn(VAR_VALUE); when(var.getVariablePath()).thenReturn(varPath); - when(dtoFactory.createDto(UpdateVariableRequest.class)).thenReturn(mock(UpdateVariableRequest.class)); + when(dtoFactory.createDto(VariableDto.class)).thenReturn(mock(VariableDto.class)); } @Test public void shouldShowDialog() throws Exception { - when(debuggerPresenter.getSelectedVariable()).thenReturn(debuggerVariable); - when(debuggerVariable.getValue()).thenReturn(VAR_VALUE); + when(debuggerPresenter.getSelectedVariable()).thenReturn(variable); + when(variable.getValue()).thenReturn(VAR_VALUE); presenter.showDialog(); @@ -113,15 +111,16 @@ public void shouldEnableChangeButtonIfValueNotEmpty() throws Exception { @Test public void testChangeValueRequest() throws Exception { + when(debuggerPresenter.getSelectedVariable()).thenReturn(variable); when(debuggerManager.getActiveDebugger()).thenReturn(debugger); when(view.getValue()).thenReturn(VAR_VALUE); - when(debuggerVariable.getVariablePath()).thenReturn(variablePath); - when(variablePath.getPath()).thenReturn(new ArrayList<>()); + when(variable.getVariablePath()).thenReturn(variablePathDto); + when(variablePathDto.getPath()).thenReturn(new ArrayList<>()); + presenter.showDialog(); presenter.onChangeClicked(); - verify(debugger).changeVariableValue(anyObject(), anyString()); + verify(debugger).setValue(anyObject()); verify(view).close(); } - } diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/ide/ext/debugger/client/EvaluateExpressionTest.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/plugin/debugger/ide/EvaluateExpressionTest.java similarity index 87% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/ide/ext/debugger/client/EvaluateExpressionTest.java rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/plugin/debugger/ide/EvaluateExpressionTest.java index df3befd8ece..3b94abb8095 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/ide/ext/debugger/client/EvaluateExpressionTest.java +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/plugin/debugger/ide/EvaluateExpressionTest.java @@ -8,15 +8,15 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.client; +package org.eclipse.che.plugin.debugger.ide; import org.eclipse.che.api.promises.client.Operation; import org.eclipse.che.api.promises.client.Promise; import org.eclipse.che.api.promises.client.PromiseError; import org.eclipse.che.ide.debug.Debugger; import org.eclipse.che.ide.debug.DebuggerManager; -import org.eclipse.che.ide.ext.debugger.client.debug.expression.EvaluateExpressionPresenter; -import org.eclipse.che.ide.ext.debugger.client.debug.expression.EvaluateExpressionView; +import org.eclipse.che.plugin.debugger.ide.debug.expression.EvaluateExpressionPresenter; +import org.eclipse.che.plugin.debugger.ide.debug.expression.EvaluateExpressionView; import org.junit.Test; import org.mockito.ArgumentCaptor; import org.mockito.Captor; @@ -33,7 +33,7 @@ import static org.mockito.Mockito.when; /** - * Testing {@link org.eclipse.che.ide.ext.debugger.client.debug.expression.EvaluateExpressionPresenter} functionality. + * Testing {@link EvaluateExpressionPresenter} functionality. * * @author Artem Zatsarynnyi */ @@ -102,7 +102,7 @@ public void shouldEnableEvaluateButtonIfExpressionNotEmpty() throws Exception { @Test public void testEvaluateExpressionRequestIsSuccessful() throws Exception { - when(debugger.evaluateExpression(anyString())).thenReturn(promise); + when(debugger.evaluate(anyString())).thenReturn(promise); when(view.getExpression()).thenReturn(EXPRESSION); when(promise.then(any(Operation.class))).thenReturn(promise); @@ -112,13 +112,13 @@ public void testEvaluateExpressionRequestIsSuccessful() throws Exception { presenter.onEvaluateClicked(); verify(view, atLeastOnce()).setEnableEvaluateButton(eq(DISABLE_BUTTON)); - verify(debugger).evaluateExpression(eq(EXPRESSION)); + verify(debugger).evaluate(eq(EXPRESSION)); } @Test public void testEvaluateExpressionRequestIsFailed() throws Exception { when(view.getExpression()).thenReturn(EXPRESSION); - when(debugger.evaluateExpression(view.getExpression())).thenReturn(promise); + when(debugger.evaluate(view.getExpression())).thenReturn(promise); when(promise.then((Operation)anyObject())).thenReturn(promise); when(promise.catchError(Matchers.>anyObject())).thenReturn(promise); when(debuggerManager.getActiveDebugger()).thenReturn(debugger); @@ -128,7 +128,7 @@ public void testEvaluateExpressionRequestIsFailed() throws Exception { presenter.onEvaluateClicked(); verify(view, atLeastOnce()).setEnableEvaluateButton(eq(DISABLE_BUTTON)); - verify(debugger).evaluateExpression(eq(EXPRESSION)); + verify(debugger).evaluate(eq(EXPRESSION)); verify(promise).catchError(errorCaptor.capture()); errorCaptor.getValue().apply(promiseError); diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/ide/ext/debugger/client/actions/DebugActionTest.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/plugin/debugger/ide/actions/DebugActionTest.java similarity index 91% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/ide/ext/debugger/client/actions/DebugActionTest.java rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/plugin/debugger/ide/actions/DebugActionTest.java index 2c1750af748..65837430a7d 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/ide/ext/debugger/client/actions/DebugActionTest.java +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/plugin/debugger/ide/actions/DebugActionTest.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.client.actions; +package org.eclipse.che.plugin.debugger.ide.actions; import com.google.common.base.Optional; @@ -18,8 +18,8 @@ import org.eclipse.che.ide.api.debug.DebugConfigurationsManager; import org.eclipse.che.ide.debug.Debugger; import org.eclipse.che.ide.debug.DebuggerManager; -import org.eclipse.che.ide.ext.debugger.client.DebuggerLocalizationConstant; -import org.eclipse.che.ide.ext.debugger.client.DebuggerResources; +import org.eclipse.che.plugin.debugger.ide.DebuggerLocalizationConstant; +import org.eclipse.che.plugin.debugger.ide.DebuggerResources; import org.eclipse.che.ide.api.dialogs.DialogFactory; import org.junit.Test; import org.junit.runner.RunWith; @@ -81,13 +81,13 @@ public void actionShouldBePerformed() { when(debugConfigurationsManager.getCurrentDebugConfiguration()).thenReturn(configurationOptional); Debugger debugger = mock(Debugger.class); - when(debugger.attachDebugger(anyMap())).thenReturn(mock(Promise.class)); + when(debugger.connect(anyMap())).thenReturn(mock(Promise.class)); when(debuggerManager.getDebugger(anyString())).thenReturn(debugger); action.actionPerformed(null); ArgumentCaptor mapArgumentCaptor = ArgumentCaptor.forClass(Map.class); - verify(debugger).attachDebugger(mapArgumentCaptor.capture()); + verify(debugger).connect(mapArgumentCaptor.capture()); Map actualConnectionProperties = mapArgumentCaptor.getValue(); assertEquals("localhost", actualConnectionProperties.get("HOST")); diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/ide/ext/debugger/client/configuration/DebugConfigurationActionTest.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/plugin/debugger/ide/configuration/DebugConfigurationActionTest.java similarity index 95% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/ide/ext/debugger/client/configuration/DebugConfigurationActionTest.java rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/plugin/debugger/ide/configuration/DebugConfigurationActionTest.java index 637558465f8..339f772291c 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/ide/ext/debugger/client/configuration/DebugConfigurationActionTest.java +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/plugin/debugger/ide/configuration/DebugConfigurationActionTest.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.client.configuration; +package org.eclipse.che.plugin.debugger.ide.configuration; import com.google.common.base.Optional; import com.google.gwtmockito.GwtMockitoTestRunner; @@ -17,7 +17,7 @@ import org.eclipse.che.ide.api.action.Presentation; import org.eclipse.che.ide.api.debug.DebugConfiguration; import org.eclipse.che.ide.api.debug.DebugConfigurationsManager; -import org.eclipse.che.ide.ext.debugger.client.DebuggerLocalizationConstant; +import org.eclipse.che.plugin.debugger.ide.DebuggerLocalizationConstant; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.InjectMocks; diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/ide/ext/debugger/client/configuration/DebugConfigurationsGroupTest.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/plugin/debugger/ide/configuration/DebugConfigurationsGroupTest.java similarity index 97% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/ide/ext/debugger/client/configuration/DebugConfigurationsGroupTest.java rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/plugin/debugger/ide/configuration/DebugConfigurationsGroupTest.java index d5e3c075297..e1804e7dd54 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/ide/ext/debugger/client/configuration/DebugConfigurationsGroupTest.java +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/plugin/debugger/ide/configuration/DebugConfigurationsGroupTest.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.client.configuration; +package org.eclipse.che.plugin.debugger.ide.configuration; import org.eclipse.che.ide.api.action.ActionManager; import org.eclipse.che.ide.api.debug.DebugConfiguration; diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/ide/ext/debugger/client/debug/DebuggerPresenterTest.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/plugin/debugger/ide/debug/DebuggerPresenterTest.java similarity index 82% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/ide/ext/debugger/client/debug/DebuggerPresenterTest.java rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/plugin/debugger/ide/debug/DebuggerPresenterTest.java index 4cdecfff4b5..0875efa5c46 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/ide/ext/debugger/client/debug/DebuggerPresenterTest.java +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/plugin/debugger/ide/debug/DebuggerPresenterTest.java @@ -8,11 +8,14 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.client.debug; +package org.eclipse.che.plugin.debugger.ide.debug; -import com.google.common.collect.ImmutableList; import com.google.gwt.user.client.ui.AcceptsOneWidget; +import org.eclipse.che.api.debugger.shared.dto.LocationDto; +import org.eclipse.che.api.debugger.shared.dto.ValueDto; +import org.eclipse.che.api.debugger.shared.model.Location; +import org.eclipse.che.api.debugger.shared.model.MutableVariable; import org.eclipse.che.api.promises.client.Operation; import org.eclipse.che.api.promises.client.OperationException; import org.eclipse.che.api.promises.client.Promise; @@ -28,13 +31,11 @@ import org.eclipse.che.ide.debug.DebuggerDescriptor; import org.eclipse.che.ide.debug.DebuggerManager; import org.eclipse.che.ide.dto.DtoFactory; -import org.eclipse.che.ide.ext.debugger.client.BaseTest; -import org.eclipse.che.ide.ext.debugger.client.DebuggerLocalizationConstant; -import org.eclipse.che.ide.ext.debugger.client.DebuggerResources; -import org.eclipse.che.ide.ext.debugger.client.fqn.FqnResolverFactory; -import org.eclipse.che.ide.ext.debugger.shared.Location; -import org.eclipse.che.ide.ext.debugger.shared.Variable; import org.eclipse.che.ide.ui.toolbar.ToolbarPresenter; +import org.eclipse.che.plugin.debugger.ide.BaseTest; +import org.eclipse.che.plugin.debugger.ide.DebuggerLocalizationConstant; +import org.eclipse.che.plugin.debugger.ide.DebuggerResources; +import org.eclipse.che.plugin.debugger.ide.fqn.FqnResolverFactory; import org.junit.Before; import org.junit.Test; import org.mockito.ArgumentCaptor; @@ -91,18 +92,20 @@ public class DebuggerPresenterTest extends BaseTest { private FileTypeRegistry fileTypeRegistry; @Mock - private Debugger debugger; + private Debugger debugger; @Mock - private DebuggerVariable selectedVariable; + private MutableVariable selectedVariable; @Mock - private VirtualFile file; + private VirtualFile file; @Mock - private Promise promiseString; + private Promise promiseString; @Mock - private Promise promiseVoid; + private Promise promiseValue; @Mock - private PromiseError promiseError; + private Promise promiseVoid; + @Mock + private PromiseError promiseError; @Captor @@ -111,6 +114,8 @@ public class DebuggerPresenterTest extends BaseTest { private ArgumentCaptor> operationVoidCaptor; @Captor private ArgumentCaptor> operationStringCaptor; + @Captor + private ArgumentCaptor> operationValueCaptor; private DebuggerPresenter presenter; @@ -120,7 +125,7 @@ public void setup() { doReturn(ERROR_MESSAGE).when(promiseError).getMessage(); presenter = spy(new DebuggerPresenter(view, constant, breakpointManager, notificationManager, debuggerResources, debuggerToolbar, - dtoFactory, debuggerManager, workspaceAgent)); + debuggerManager, workspaceAgent)); doNothing().when(presenter).showDebuggerPanel(); presenter.onSelectedVariableElement(selectedVariable); @@ -148,30 +153,23 @@ public void testGo() { @Test public void testOnExpandVariablesTree() throws OperationException { - final String json = "json"; + ValueDto valueDto = mock(ValueDto.class); - List rootVariables = mock(List.class); + List rootVariables = mock(List.class); doReturn(true).when(rootVariables).isEmpty(); doReturn(rootVariables).when(selectedVariable).getVariables(); - Variable variable = mock(Variable.class); - doReturn(variable).when(selectedVariable).getVariable(); - doReturn(json).when(dtoFactory).toJson(variable); - - List variables = ImmutableList.of(variable); - doReturn(variables).when(dtoFactory).createListDtoFromJson(json, Variable.class); - - doReturn(promiseString).when(debugger).getValue(json); - doReturn(promiseString).when(promiseString).then((Operation)any()); + doReturn(promiseValue).when(debugger).getValue(selectedVariable); + doReturn(promiseValue).when(promiseValue).then((Operation)any()); presenter.onExpandVariablesTree(); - verify(promiseString).then(operationStringCaptor.capture()); - operationStringCaptor.getValue().apply(json); + verify(promiseValue).then(operationValueCaptor.capture()); + operationValueCaptor.getValue().apply(valueDto); verify(view).setVariablesIntoSelectedVariable(any()); verify(view).updateSelectedVariable(); - verify(promiseString).catchError(operationPromiseErrorCaptor.capture()); + verify(promiseValue).catchError(operationPromiseErrorCaptor.capture()); operationPromiseErrorCaptor.getValue().apply(promiseError); notificationManager.notify(any(), eq(ERROR_MESSAGE), eq(FAIL), eq(FLOAT_MODE)); verify(constant).failedToGetVariableValueTitle(); @@ -212,7 +210,7 @@ public void testOnDebuggerDisconnected() { @Test public void testOnPreIn() { - presenter.onPreStepIn(); + presenter.onPreStepInto(); verify(view).setVariables(any()); verify(view).setVMName(eq("")); @@ -287,22 +285,21 @@ public void testOnBreakpointStopped() { String className = "className"; int lineNumber = 40; - Location executionPoint = mock(Location.class); - doReturn(executionPoint).when(dtoFactory).createDto(Location.class); + LocationDto executionPoint = mock(LocationDto.class); + doReturn(executionPoint).when(dtoFactory).createDto(LocationDto.class); - doReturn(promiseString).when(debugger).getStackFrameDump(); + doReturn(promiseString).when(debugger).dumpStackFrame(); doReturn(promiseString).when(promiseString).then((Operation)any()); presenter.onBreakpointStopped(filePath, className, lineNumber); - verify(executionPoint).withClassName(eq(className)); - verify(executionPoint).withLineNumber(eq(lineNumber)); - verify(view).setVMName(eq("")); + verify(presenter).showAndUpdateView(); + verify(view).setExecutionPoint(any(Location.class)); } @Test public void testOnValueChanged() { - doReturn(promiseString).when(debugger).getStackFrameDump(); + doReturn(promiseString).when(debugger).dumpStackFrame(); doReturn(promiseString).when(promiseString).then((Operation)any()); ArrayList path = new ArrayList<>(); diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/ide/ext/debugger/client/debug/DebuggerTest.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/plugin/debugger/ide/debug/DebuggerTest.java similarity index 62% rename from plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/ide/ext/debugger/client/debug/DebuggerTest.java rename to plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/plugin/debugger/ide/debug/DebuggerTest.java index bbe63278220..45dd9bc0c4c 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/ide/ext/debugger/client/debug/DebuggerTest.java +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/plugin/debugger/ide/debug/DebuggerTest.java @@ -8,12 +8,29 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.client.debug; +package org.eclipse.che.plugin.debugger.ide.debug; -import com.google.common.collect.ImmutableList; import com.google.gwtmockito.GwtMockitoTestRunner; import com.google.web.bindery.event.shared.EventBus; +import org.eclipse.che.api.debugger.gwt.client.DebuggerServiceClient; +import org.eclipse.che.api.debugger.shared.dto.BreakpointDto; +import org.eclipse.che.api.debugger.shared.dto.DebugSessionDto; +import org.eclipse.che.api.debugger.shared.dto.LocationDto; +import org.eclipse.che.api.debugger.shared.dto.StackFrameDumpDto; +import org.eclipse.che.api.debugger.shared.dto.ValueDto; +import org.eclipse.che.api.debugger.shared.dto.VariableDto; +import org.eclipse.che.api.debugger.shared.dto.VariablePathDto; +import org.eclipse.che.api.debugger.shared.dto.action.ResumeActionDto; +import org.eclipse.che.api.debugger.shared.dto.action.StepIntoActionDto; +import org.eclipse.che.api.debugger.shared.dto.action.StepOutActionDto; +import org.eclipse.che.api.debugger.shared.dto.action.StepOverActionDto; +import org.eclipse.che.api.debugger.shared.model.DebuggerInfo; +import org.eclipse.che.api.debugger.shared.model.Location; +import org.eclipse.che.api.debugger.shared.model.StackFrameDump; +import org.eclipse.che.api.debugger.shared.model.Value; +import org.eclipse.che.api.debugger.shared.model.Variable; +import org.eclipse.che.api.debugger.shared.model.VariablePath; import org.eclipse.che.api.machine.gwt.client.events.WsAgentStateEvent; import org.eclipse.che.api.machine.gwt.client.events.WsAgentStateHandler; import org.eclipse.che.api.promises.client.Function; @@ -30,21 +47,13 @@ import org.eclipse.che.ide.debug.DebuggerManager; import org.eclipse.che.ide.debug.DebuggerObserver; import org.eclipse.che.ide.dto.DtoFactory; -import org.eclipse.che.ide.ext.debugger.client.BaseTest; -import org.eclipse.che.ide.ext.debugger.client.fqn.FqnResolver; -import org.eclipse.che.ide.ext.debugger.client.fqn.FqnResolverFactory; -import org.eclipse.che.ide.ext.debugger.shared.DebuggerEventList; -import org.eclipse.che.ide.ext.debugger.shared.DebuggerInfo; -import org.eclipse.che.ide.ext.debugger.shared.Location; -import org.eclipse.che.ide.ext.debugger.shared.StackFrameDump; -import org.eclipse.che.ide.ext.debugger.shared.UpdateVariableRequest; -import org.eclipse.che.ide.ext.debugger.shared.Value; -import org.eclipse.che.ide.ext.debugger.shared.Variable; -import org.eclipse.che.ide.ext.debugger.shared.VariablePath; import org.eclipse.che.ide.util.storage.LocalStorage; import org.eclipse.che.ide.util.storage.LocalStorageProvider; import org.eclipse.che.ide.websocket.MessageBusProvider; import org.eclipse.che.ide.websocket.rest.SubscriptionHandler; +import org.eclipse.che.plugin.debugger.ide.BaseTest; +import org.eclipse.che.plugin.debugger.ide.fqn.FqnResolver; +import org.eclipse.che.plugin.debugger.ide.fqn.FqnResolverFactory; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; @@ -72,7 +81,7 @@ import static org.mockito.Mockito.verify; /** - * Testing {@link org.eclipse.che.ide.ext.debugger.client.debug.AbstractDebugger} functionality. + * Testing {@link AbstractDebugger} functionality. * * @author Artem Zatsarynnyi * @author Valeriy Svydenko @@ -80,8 +89,8 @@ */ @RunWith(GwtMockitoTestRunner.class) public class DebuggerTest extends BaseTest { - private static final String DEBUG_INFO = "debug_info"; - private static final String DEBUGGER_ID = "debugger_id"; + private static final String DEBUG_INFO = "debug_info"; + private static final String SESSION_ID = "debugger_id"; public static final int LINE_NUMBER = 20; public static final String FQN = "org.test.Test"; @@ -107,43 +116,39 @@ public class DebuggerTest extends BaseTest { private FileTypeRegistry fileTypeRegistry; @Mock - private Promise promiseVoid; + private Promise promiseVoid; @Mock - private Promise promiseEventList; + private Promise promiseInfo; @Mock - private PromiseError promiseError; + private PromiseError promiseError; @Mock - private VirtualFile file; + private VirtualFile file; @Mock - private FqnResolverFactory fqnResolverFactory; + private FqnResolverFactory fqnResolverFactory; @Mock - private LocalStorage localStorage; + private LocalStorage localStorage; @Mock - private DebuggerObserver observer; + private DebuggerObserver observer; @Mock - private Location location; + private LocationDto locationDto; @Mock - private org.eclipse.che.ide.ext.debugger.shared.Breakpoint breakpoint; + private BreakpointDto breakpointDto; @Mock - private FqnResolver fgnResolver; + private FqnResolver fgnResolver; @Captor - private ArgumentCaptor extServerStateHandlerCaptor; + private ArgumentCaptor extServerStateHandlerCaptor; @Captor - private ArgumentCaptor> operationPromiseErrorCaptor; + private ArgumentCaptor> operationPromiseErrorCaptor; @Captor - private ArgumentCaptor> operationVoidCaptor; + private ArgumentCaptor> operationVoidCaptor; @Captor - private ArgumentCaptor breakpointCaptor; + private ArgumentCaptor breakpointCaptor; @Captor - private ArgumentCaptor> functionValueStringCaptor; + private ArgumentCaptor> argumentCaptorFunctionJavaDebugSessionVoid; @Captor - private ArgumentCaptor> functionStackFrameDumpStringCaptor; - @Captor - private ArgumentCaptor> argumentCaptorFunctionJavaDebuggerInfoVoid; - @Captor - private ArgumentCaptor> argumentCaptorOperationJavaDebuggerInfo; + private ArgumentCaptor> argumentCaptorOperationJavaDebuggerInfo; public final Breakpoint TEST_BREAKPOINT = new Breakpoint(Breakpoint.Type.BREAKPOINT, LINE_NUMBER, PATH, file, true); @@ -159,15 +164,15 @@ public void setUp() { debuggerDescriptor = new DebuggerDescriptor(NAME + " " + VERSION, HOST + ":" + PORT); - doReturn(location).when(dtoFactory).createDto(Location.class); - doReturn(breakpoint).when(dtoFactory).createDto(org.eclipse.che.ide.ext.debugger.shared.Breakpoint.class); - + doReturn(locationDto).when(dtoFactory).createDto(LocationDto.class); + doReturn(breakpointDto).when(dtoFactory).createDto(BreakpointDto.class); + doReturn(locationDto).when(breakpointDto).getLocation(); doReturn(messageBus).when(messageBusProvider).getMachineMessageBus(); doReturn(localStorage).when(localStorageProvider).get(); - doReturn(DEBUG_INFO).when(localStorage).getItem(AbstractDebugger.LOCAL_STORAGE_DEBUGGER_KEY); - doReturn(debuggerInfo).when(dtoFactory).createDtoFromJson(DEBUG_INFO, DebuggerInfo.class); + doReturn(DEBUG_INFO).when(localStorage).getItem(AbstractDebugger.LOCAL_STORAGE_DEBUGGER_SESSION_KEY); + doReturn(debugSessionDto).when(dtoFactory).createDtoFromJson(anyString(), eq(DebugSessionDto.class)); doReturn(fgnResolver).when(fqnResolverFactory).getResolver(anyString()); doReturn(FQN).when(fgnResolver).resolveFqn(file); @@ -175,9 +180,9 @@ public void setUp() { doReturn(PATH).when(file).getPath(); debugger = new TestDebugger(service, dtoFactory, localStorageProvider, messageBusProvider, eventBus, fqnResolverFactory, - activeFileHandler, debuggerManager, fileTypeRegistry, "id", "channel"); - doReturn(promiseEventList).when(service).getInfo(DEBUGGER_ID); - doReturn(promiseEventList).when(promiseEventList).then(any(Operation.class)); + activeFileHandler, debuggerManager, fileTypeRegistry, "id"); + doReturn(promiseInfo).when(service).getSessionInfo(SESSION_ID); + doReturn(promiseInfo).when(promiseInfo).then(any(Operation.class)); // setup messageBus verify(eventBus).addHandler(eq(WsAgentStateEvent.TYPE), extServerStateHandlerCaptor.capture()); @@ -192,23 +197,23 @@ public void setUp() { @Test public void testAttachDebugger() throws Exception { - debugger.setDebuggerInfo(null); + debugger.setDebugSession(null); - final String debuggerInfoJson = "debuggerInfo"; - doReturn(debuggerInfoJson).when(dtoFactory).toJson(debuggerInfo); + final String debugSessionJson = "debugSession"; + doReturn(debugSessionJson).when(dtoFactory).toJson(debugSessionDto); Map connectionProperties = mock(Map.class); - Promise promiseDebuggerInfo = mock(Promise.class); + Promise promiseDebuggerInfo = mock(Promise.class); - doReturn(promiseDebuggerInfo).when(service).connect(connectionProperties); - doReturn(promiseVoid).when(promiseDebuggerInfo).then((Function)any()); + doReturn(promiseDebuggerInfo).when(service).connect("id", connectionProperties); + doReturn(promiseVoid).when(promiseDebuggerInfo).then((Function)any()); doReturn(promiseVoid).when(promiseVoid).catchError((Operation)any()); - Promise result = debugger.attachDebugger(connectionProperties); + Promise result = debugger.connect(connectionProperties); assertEquals(promiseVoid, result); - verify(promiseDebuggerInfo).then(argumentCaptorFunctionJavaDebuggerInfoVoid.capture()); - argumentCaptorFunctionJavaDebuggerInfoVoid.getValue().apply(debuggerInfo); + verify(promiseDebuggerInfo).then(argumentCaptorFunctionJavaDebugSessionVoid.capture()); + argumentCaptorFunctionJavaDebugSessionVoid.getValue().apply(debugSessionDto); verify(promiseVoid).catchError(operationPromiseErrorCaptor.capture()); try { @@ -222,30 +227,30 @@ public void testAttachDebugger() throws Exception { verify(observer).onDebuggerAttached(debuggerDescriptor, promiseVoid); assertTrue(debugger.isConnected()); - verify(localStorage).setItem(eq(AbstractDebugger.LOCAL_STORAGE_DEBUGGER_KEY), eq(debuggerInfoJson)); - verify(messageBus).subscribe(eq("channel" + DEBUGGER_ID), any(SubscriptionHandler.class)); + verify(localStorage).setItem(eq(AbstractDebugger.LOCAL_STORAGE_DEBUGGER_SESSION_KEY), eq(debugSessionJson)); + verify(messageBus).subscribe(eq("id:events:"), any(SubscriptionHandler.class)); } @Test public void testAttachDebuggerWithConnection() throws Exception { Map connectionProperties = mock(Map.class); - debugger.attachDebugger(connectionProperties); + debugger.connect(connectionProperties); - verify(service, never()).connect(any()); + verify(service, never()).connect(any(), any()); } @Test public void testDisconnectDebugger() throws Exception { - doReturn(promiseVoid).when(service).disconnect(DEBUGGER_ID); + doReturn(promiseVoid).when(service).disconnect(SESSION_ID); doReturn(promiseVoid).when(promiseVoid).then((Operation)any()); doReturn(true).when(messageBus).isHandlerSubscribed(any(), any()); - debugger.disconnectDebugger(); + debugger.disconnect(); assertFalse(debugger.isConnected()); - verify(localStorage).setItem(eq(AbstractDebugger.LOCAL_STORAGE_DEBUGGER_KEY), eq("")); + verify(localStorage).setItem(eq(AbstractDebugger.LOCAL_STORAGE_DEBUGGER_SESSION_KEY), eq("")); verify(messageBus, times(1)).unsubscribe(anyString(), any()); verify(promiseVoid).then(operationVoidCaptor.capture()); @@ -259,16 +264,19 @@ public void testDisconnectDebugger() throws Exception { @Test public void testDisconnectDebuggerWithoutConnection() throws Exception { - debugger.setDebuggerInfo(null); + debugger.setDebugSession(null); - debugger.disconnectDebugger(); + debugger.disconnect(); verify(service, never()).disconnect(any()); } @Test public void testResume() throws Exception { - doReturn(promiseVoid).when(service).resume(DEBUGGER_ID); + ResumeActionDto resumeAction = mock(ResumeActionDto.class); + + doReturn(promiseVoid).when(service).resume(SESSION_ID, resumeAction); + doReturn(resumeAction).when(dtoFactory).createDto(ResumeActionDto.class); debugger.resume(); @@ -283,18 +291,21 @@ public void testResume() throws Exception { @Test public void testResumeWithoutConnection() throws Exception { - debugger.setDebuggerInfo(null); + debugger.setDebugSession(null); debugger.resume(); - verify(service, never()).resume(any()); + verify(service, never()).resume(any(), any()); } @Test public void testStepInto() throws Exception { - doReturn(promiseVoid).when(service).stepInto(DEBUGGER_ID); + StepIntoActionDto stepIntoAction = mock(StepIntoActionDto.class); + + doReturn(promiseVoid).when(service).stepInto(SESSION_ID, stepIntoAction); + doReturn(stepIntoAction).when(dtoFactory).createDto(StepIntoActionDto.class); debugger.stepInto(); - verify(observer).onPreStepIn(); + verify(observer).onPreStepInto(); assertTrue(debugger.isConnected()); @@ -305,14 +316,17 @@ public void testStepInto() throws Exception { @Test public void testStepIntoWithoutConnection() throws Exception { - debugger.setDebuggerInfo(null); + debugger.setDebugSession(null); debugger.stepInto(); - verify(service, never()).stepInto(any()); + verify(service, never()).stepInto(any(), any()); } @Test public void testStepOver() throws Exception { - doReturn(promiseVoid).when(service).stepOver(DEBUGGER_ID); + StepOverActionDto stepOverAction = mock(StepOverActionDto.class); + + doReturn(promiseVoid).when(service).stepOver(SESSION_ID, stepOverAction); + doReturn(stepOverAction).when(dtoFactory).createDto(StepOverActionDto.class); debugger.stepOver(); @@ -327,14 +341,17 @@ public void testStepOver() throws Exception { @Test public void testStepOverWithoutConnection() throws Exception { - debugger.setDebuggerInfo(null); + debugger.setDebugSession(null); debugger.stepOver(); - verify(service, never()).stepOver(any()); + verify(service, never()).stepOver(any(), any()); } @Test public void testStepOut() throws Exception { - doReturn(promiseVoid).when(service).stepOut(DEBUGGER_ID); + StepOutActionDto stepOutAction = mock(StepOutActionDto.class); + + doReturn(promiseVoid).when(service).stepOut(SESSION_ID, stepOutAction); + doReturn(stepOutAction).when(dtoFactory).createDto(StepOutActionDto.class); debugger.stepOut(); @@ -349,23 +366,23 @@ public void testStepOut() throws Exception { @Test public void testStepOutWithoutConnection() throws Exception { - debugger.setDebuggerInfo(null); + debugger.setDebugSession(null); debugger.stepOut(); - verify(service, never()).stepOut(any()); + verify(service, never()).stepOut(any(), any()); } @Test public void testAddBreakpoint() throws Exception { - doReturn(promiseVoid).when(service).addBreakpoint(DEBUGGER_ID, breakpoint); + doReturn(promiseVoid).when(service).addBreakpoint(SESSION_ID, breakpointDto); doReturn(promiseVoid).when(promiseVoid).then((Operation)any()); debugger.addBreakpoint(file, LINE_NUMBER); - verify(location).setLineNumber(LINE_NUMBER + 1); - verify(location).setClassName(FQN); + verify(locationDto).setLineNumber(LINE_NUMBER + 1); + verify(locationDto).setTarget(FQN); - verify(breakpoint).setLocation(location); - verify(breakpoint).setEnabled(true); + verify(breakpointDto).setLocation(locationDto); + verify(breakpointDto).setEnabled(true); verify(promiseVoid).then(operationVoidCaptor.capture()); operationVoidCaptor.getValue().apply(null); @@ -379,7 +396,7 @@ public void testAddBreakpoint() throws Exception { @Test public void testAddBreakpointWithoutConnection() throws Exception { - debugger.setDebuggerInfo(null); + debugger.setDebugSession(null); debugger.addBreakpoint(file, LINE_NUMBER); verify(service, never()).addBreakpoint(any(), any()); @@ -389,16 +406,13 @@ public void testAddBreakpointWithoutConnection() throws Exception { @Test public void testDeleteBreakpoint() throws Exception { - doReturn(promiseVoid).when(service).deleteBreakpoint(DEBUGGER_ID, breakpoint); + doReturn(promiseVoid).when(service).deleteBreakpoint(SESSION_ID, locationDto); doReturn(promiseVoid).when(promiseVoid).then((Operation)any()); debugger.deleteBreakpoint(file, LINE_NUMBER); - verify(location).setLineNumber(LINE_NUMBER + 1); - verify(location).setClassName(FQN); - - verify(breakpoint).setLocation(location); - verify(breakpoint).setEnabled(true); + verify(locationDto).setLineNumber(LINE_NUMBER + 1); + verify(locationDto).setTarget(FQN); verify(promiseVoid).then(operationVoidCaptor.capture()); operationVoidCaptor.getValue().apply(null); @@ -412,7 +426,7 @@ public void testDeleteBreakpoint() throws Exception { @Test public void testDeleteBreakpointWithoutConnection() throws Exception { - debugger.setDebuggerInfo(null); + debugger.setDebugSession(null); debugger.deleteBreakpoint(file, LINE_NUMBER); verify(service, never()).deleteBreakpoint(any(), any()); @@ -420,7 +434,7 @@ public void testDeleteBreakpointWithoutConnection() throws Exception { @Test public void testDeleteAllBreakpoints() throws Exception { - doReturn(promiseVoid).when(service).deleteAllBreakpoints(DEBUGGER_ID); + doReturn(promiseVoid).when(service).deleteAllBreakpoints(SESSION_ID); doReturn(promiseVoid).when(promiseVoid).then((Operation)any()); debugger.deleteAllBreakpoints(); @@ -436,7 +450,7 @@ public void testDeleteAllBreakpoints() throws Exception { @Test public void testDeleteAllBreakpointsWithoutConnection() throws Exception { - debugger.setDebuggerInfo(null); + debugger.setDebugSession(null); debugger.deleteAllBreakpoints(); verify(service, never()).deleteAllBreakpoints(any()); @@ -444,41 +458,25 @@ public void testDeleteAllBreakpointsWithoutConnection() throws Exception { @Test public void testGetValue() throws Exception { - final String variableJson = "{\"name\":\"var_name\",\"value\":\"var_value\"}"; - final String variablesJson = "[" + variableJson + "]"; - + final VariableDto variableDto = mock(VariableDto.class); final Variable variable = mock(Variable.class); - final Value value = mock(Value.class); - final Promise promiseValue = mock(Promise.class); - - doReturn(promiseValue).when(service).getValue(DEBUGGER_ID, variable); - doReturn(promiseValue).when(promiseValue).then((Function)any()); + final Promise promiseValue = mock(Promise.class); + + doReturn(variableDto).when(dtoFactory).createDto(VariableDto.class); + doReturn(mock(VariablePathDto.class)).when(dtoFactory).createDto(VariablePathDto.class); + doReturn(mock(VariablePathDto.class)).when(variable).getVariablePath(); + doReturn(Collections.emptyList()).when(variable).getVariables(); + doReturn(promiseValue).when(service).getValue(SESSION_ID, variableDto); + doReturn(promiseValue).when(promiseValue).then((Function)any()); doReturn(promiseValue).when(promiseValue).catchError((Operation)any()); - List variables = ImmutableList.of(variable); - doReturn(variable).when(dtoFactory).createDtoFromJson(variableJson, Variable.class); - doReturn(variablesJson).when(dtoFactory).toJson(variables); - doReturn(variables).when(value).getVariables(); - - Promise result = debugger.getValue(variableJson); + Promise result = debugger.getValue(variable); assertEquals(promiseValue, result); - - verify(promiseValue).then(functionValueStringCaptor.capture()); - assertEquals(variablesJson, functionValueStringCaptor.getValue().apply(value)); - - verify(promiseValue).catchError(operationPromiseErrorCaptor.capture()); - try { - operationPromiseErrorCaptor.getValue().apply(promiseError); - fail("Operation Exception expected"); - } catch (OperationException e) { - verify(promiseError).getMessage(); - verify(promiseError).getCause(); - } } @Test public void testGetValueWithoutConnection() throws Exception { - debugger.setDebuggerInfo(null); + debugger.setDebugSession(null); debugger.getValue(null); @@ -487,36 +485,24 @@ public void testGetValueWithoutConnection() throws Exception { @Test public void testGetStackFrameDump() throws Exception { - Promise promiseStackFrameDump = mock(Promise.class); - StackFrameDump mockStackFrameDump = mock(StackFrameDump.class); + Promise promiseStackFrameDump = mock(Promise.class); + StackFrameDumpDto mockStackFrameDumpDto = mock(StackFrameDumpDto.class); final String json = "json"; - doReturn(json).when(dtoFactory).toJson(mockStackFrameDump); + doReturn(json).when(dtoFactory).toJson(mockStackFrameDumpDto); - doReturn(promiseStackFrameDump).when(service).getStackFrameDump(DEBUGGER_ID); - doReturn(promiseStackFrameDump).when(promiseStackFrameDump).then((Function)any()); + doReturn(promiseStackFrameDump).when(service).getStackFrameDump(SESSION_ID); + doReturn(promiseStackFrameDump).when(promiseStackFrameDump).then((Function)any()); doReturn(promiseStackFrameDump).when(promiseStackFrameDump).catchError((Operation)any()); - Promise result = debugger.getStackFrameDump(); + Promise result = debugger.dumpStackFrame(); assertEquals(promiseStackFrameDump, result); - - verify(promiseStackFrameDump).then(functionStackFrameDumpStringCaptor.capture()); - assertEquals(json, functionStackFrameDumpStringCaptor.getValue().apply(mockStackFrameDump)); - - verify(promiseStackFrameDump).catchError(operationPromiseErrorCaptor.capture()); - try { - operationPromiseErrorCaptor.getValue().apply(promiseError); - fail("Operation Exception expected"); - } catch (OperationException e) { - verify(promiseError).getMessage(); - verify(promiseError).getCause(); - } } @Test public void testGetStackFrameDumpWithoutConnection() throws Exception { - debugger.setDebuggerInfo(null); + debugger.setDebugSession(null); - debugger.getStackFrameDump(); + debugger.dumpStackFrame(); verify(service, never()).getStackFrameDump(any()); } @@ -525,17 +511,17 @@ public void testGetStackFrameDumpWithoutConnection() throws Exception { public void testEvaluateExpression() throws Exception { final String expression = "a = 1"; Promise promiseString = mock(Promise.class); - doReturn(promiseString).when(service).evaluateExpression(DEBUGGER_ID, expression); + doReturn(promiseString).when(service).evaluate(SESSION_ID, expression); - Promise result = debugger.evaluateExpression(expression); + Promise result = debugger.evaluate(expression); assertEquals(promiseString, result); } @Test public void testEvaluateExpressionWithoutConnection() throws Exception { - debugger.setDebuggerInfo(null); - debugger.evaluateExpression("any"); - verify(service, never()).evaluateExpression(any(), any()); + debugger.setDebugSession(null); + debugger.evaluate("any"); + verify(service, never()).evaluate(any(), any()); } @Test @@ -543,16 +529,22 @@ public void testChangeVariableValue() throws Exception { final List path = mock(List.class); final String newValue = "new-value"; - VariablePath variablePath = mock(VariablePath.class); - doReturn(variablePath).when(dtoFactory).createDto(VariablePath.class); + VariablePath variablePath = mock(VariablePathDto.class); + doReturn(path).when(variablePath).getPath(); + + VariableDto variableDto = mock(VariableDto.class); + doReturn(variableDto).when(dtoFactory).createDto(VariableDto.class); - UpdateVariableRequest updateVariableRequest = mock(UpdateVariableRequest.class); - doReturn(updateVariableRequest).when(dtoFactory).createDto(UpdateVariableRequest.class); + Variable variable = mock(Variable.class); + doReturn(mock(VariablePathDto.class)).when(dtoFactory).createDto(VariablePathDto.class); + doReturn(variablePath).when(variable).getVariablePath(); + doReturn(newValue).when(variable).getValue(); + doReturn(Collections.emptyList()).when(variable).getVariables(); - doReturn(promiseVoid).when(service).setValue(DEBUGGER_ID, updateVariableRequest); + doReturn(promiseVoid).when(service).setValue(SESSION_ID, variableDto); doReturn(promiseVoid).when(promiseVoid).then((Operation)any()); - debugger.changeVariableValue(path, newValue); + debugger.setValue(variable); verify(promiseVoid).then(operationVoidCaptor.capture()); operationVoidCaptor.getValue().apply(null); @@ -565,14 +557,26 @@ public void testChangeVariableValue() throws Exception { private class TestDebugger extends AbstractDebugger { - public TestDebugger(DebuggerServiceClient service, DtoFactory dtoFactory, - LocalStorageProvider localStorageProvider, MessageBusProvider messageBusProvider, - EventBus eventBus, FqnResolverFactory fqnResolverFactory, - ActiveFileHandler activeFileHandler, DebuggerManager debuggerManager, - FileTypeRegistry fileTypeRegistry, String id, String eventChannel) { - super(service, dtoFactory, localStorageProvider, messageBusProvider, eventBus, fqnResolverFactory, activeFileHandler, + public TestDebugger(DebuggerServiceClient service, + DtoFactory dtoFactory, + LocalStorageProvider localStorageProvider, + MessageBusProvider messageBusProvider, + EventBus eventBus, + FqnResolverFactory fqnResolverFactory, + ActiveFileHandler activeFileHandler, + DebuggerManager debuggerManager, + FileTypeRegistry fileTypeRegistry, + String id) { + super(service, + dtoFactory, + localStorageProvider, + messageBusProvider, + eventBus, + fqnResolverFactory, + activeFileHandler, debuggerManager, - fileTypeRegistry, id, eventChannel); + fileTypeRegistry, + id); } @Override diff --git a/plugins/plugin-debugger/pom.xml b/plugins/plugin-debugger/pom.xml index 9a5574c6ff5..31a59b2db75 100644 --- a/plugins/plugin-debugger/pom.xml +++ b/plugins/plugin-debugger/pom.xml @@ -23,7 +23,6 @@ pom Che Plugin :: Debugger :: Parent - che-plugin-debugger-shared che-plugin-debugger-ide
    diff --git a/plugins/plugin-gdb/che-plugin-gdb-ide/pom.xml b/plugins/plugin-gdb/che-plugin-gdb-ide/pom.xml index 5ce9f70d4b8..4cc60efeb1e 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-ide/pom.xml +++ b/plugins/plugin-gdb/che-plugin-gdb-ide/pom.xml @@ -50,6 +50,10 @@ org.eclipse.che.core che-core-api-workspace
    + + org.eclipse.che.core + che-core-client-gwt-debugger + org.eclipse.che.core che-core-client-gwt-machine @@ -78,10 +82,6 @@ org.eclipse.che.plugin che-plugin-debugger-ide - - org.eclipse.che.plugin - che-plugin-debugger-shared - org.vectomatic lib-gwt-svg diff --git a/plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/ide/gdb/client/GdbDebuggerServiceClientImpl.java b/plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/ide/gdb/client/GdbDebuggerServiceClientImpl.java deleted file mode 100644 index 71b0d59b935..00000000000 --- a/plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/ide/gdb/client/GdbDebuggerServiceClientImpl.java +++ /dev/null @@ -1,195 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2012-2016 Codenvy, S.A. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Codenvy, S.A. - initial API and implementation - *******************************************************************************/ -package org.eclipse.che.ide.gdb.client; - -import com.google.inject.Inject; -import com.google.inject.Singleton; -import com.google.inject.name.Named; - -import org.eclipse.che.api.promises.client.Promise; -import org.eclipse.che.ide.api.app.AppContext; -import org.eclipse.che.ide.ext.debugger.client.debug.DebuggerServiceClient; -import org.eclipse.che.ide.ext.debugger.shared.Breakpoint; -import org.eclipse.che.ide.ext.debugger.shared.BreakpointList; -import org.eclipse.che.ide.ext.debugger.shared.DebuggerInfo; -import org.eclipse.che.ide.ext.debugger.shared.StackFrameDump; -import org.eclipse.che.ide.ext.debugger.shared.UpdateVariableRequest; -import org.eclipse.che.ide.ext.debugger.shared.Value; -import org.eclipse.che.ide.ext.debugger.shared.Variable; -import org.eclipse.che.ide.rest.AsyncRequestFactory; -import org.eclipse.che.ide.rest.DtoUnmarshallerFactory; -import org.eclipse.che.ide.rest.StringUnmarshaller; -import org.eclipse.che.ide.ui.loaders.request.LoaderFactory; - -import javax.validation.constraints.NotNull; -import java.util.Map; - -import static org.eclipse.che.ide.MimeType.TEXT_PLAIN; -import static org.eclipse.che.ide.gdb.client.GdbDebuggerClient.ConnectionProperties.BINARY; -import static org.eclipse.che.ide.gdb.client.GdbDebuggerClient.ConnectionProperties.HOST; -import static org.eclipse.che.ide.gdb.client.GdbDebuggerClient.ConnectionProperties.PORT; -import static org.eclipse.che.ide.gdb.client.GdbDebuggerClient.ConnectionProperties.SOURCES; -import static org.eclipse.che.ide.rest.HTTPHeader.ACCEPT; -import static org.eclipse.che.ide.rest.HTTPHeader.CONTENTTYPE; - -/** - * The implementation of {@link DebuggerServiceClient}. - * - * @author Anatoliy Bazko - */ -@Singleton -public class GdbDebuggerServiceClientImpl implements DebuggerServiceClient { - private final AppContext appContext; - private final LoaderFactory loaderFactory; - private final AsyncRequestFactory asyncRequestFactory; - private final DtoUnmarshallerFactory dtoUnmarshallerFactory; - - @Inject - protected GdbDebuggerServiceClientImpl(AppContext appContext, - LoaderFactory loaderFactory, - AsyncRequestFactory asyncRequestFactory, - DtoUnmarshallerFactory dtoUnmarshallerFactory) { - this.appContext = appContext; - this.loaderFactory = loaderFactory; - this.asyncRequestFactory = asyncRequestFactory; - this.dtoUnmarshallerFactory = dtoUnmarshallerFactory; - } - - private String baseUrl() { - return appContext.getDevMachine().getWsAgentBaseUrl() + "/gdb/" + appContext.getWorkspaceId(); - } - - @Override - public Promise connect(@NotNull Map connectionProperties) { - final String requestUrl = baseUrl() + "/connect"; - String params = "?host=" + connectionProperties.get(HOST.toString()) - + "&port=" + connectionProperties.get(PORT.toString()) - + "&file=" + connectionProperties.get(BINARY.toString()); - - String sources = connectionProperties.get(SOURCES.toString()); - if (sources != null) { - params += "&sources=" + sources; - } - - return asyncRequestFactory.createGetRequest(requestUrl + params) - .send(dtoUnmarshallerFactory.newUnmarshaller(DebuggerInfo.class)); - } - - @Override - public Promise disconnect(@NotNull String id) { - final String requestUrl = baseUrl() + "/disconnect/" + id; - return asyncRequestFactory.createGetRequest(requestUrl) - .loader(loaderFactory.newLoader()) - .send(); - } - - @Override - public Promise start(@NotNull String id) { - final String requestUrl = baseUrl() + "/start/" + id; - return asyncRequestFactory.createGetRequest(requestUrl) - .loader(loaderFactory.newLoader()) - .send(); - } - - @Override - public Promise getInfo(@NotNull String id) { - final String requestUrl = baseUrl() + "/" + id; - return asyncRequestFactory.createGetRequest(requestUrl) - .send(dtoUnmarshallerFactory.newUnmarshaller(DebuggerInfo.class)); - } - - @Override - public Promise addBreakpoint(@NotNull String id, @NotNull Breakpoint breakpoint) { - final String requestUrl = baseUrl() + "/breakpoints/add/" + id; - return asyncRequestFactory.createPostRequest(requestUrl, breakpoint) - .loader(loaderFactory.newLoader()) - .send(); - } - - @Override - public Promise deleteBreakpoint(@NotNull String id, @NotNull Breakpoint breakpoint) { - final String requestUrl = baseUrl() + "/breakpoints/delete/" + id; - return asyncRequestFactory.createPostRequest(requestUrl, breakpoint) - .send(); - } - - @Override - public Promise getAllBreakpoints(@NotNull String id) { - final String requestUrl = baseUrl() + "/breakpoints/" + id; - return asyncRequestFactory.createGetRequest(requestUrl) - .loader(loaderFactory.newLoader()) - .send(dtoUnmarshallerFactory.newUnmarshaller(BreakpointList.class)); - } - - @Override - public Promise deleteAllBreakpoints(@NotNull String id) { - final String requestUrl = baseUrl() + "/breakpoints/delete_all/" + id; - return asyncRequestFactory.createGetRequest(requestUrl).loader(loaderFactory.newLoader()).send(); - } - - @Override - public Promise getStackFrameDump(@NotNull String id) { - final String requestUrl = baseUrl() + "/dump/" + id; - return asyncRequestFactory.createGetRequest(requestUrl) - .loader(loaderFactory.newLoader()) - .send(dtoUnmarshallerFactory.newUnmarshaller(StackFrameDump.class)); - } - - @Override - public Promise resume(@NotNull String id) { - final String requestUrl = baseUrl() + "/resume/" + id; - return asyncRequestFactory.createGetRequest(requestUrl).loader(loaderFactory.newLoader()).send(); - } - - @Override - public Promise getValue(@NotNull String id, @NotNull Variable variable) { - final String requestUrl = baseUrl() + "/value/get/" + id; - return asyncRequestFactory.createPostRequest(requestUrl, variable) - .loader(loaderFactory.newLoader()) - .send(dtoUnmarshallerFactory.newUnmarshaller(Value.class)); - } - - @Override - public Promise setValue(@NotNull String id, @NotNull UpdateVariableRequest updateVariableRequest) { - final String requestUrl = baseUrl() + "/value/set/" + id; - return asyncRequestFactory.createPostRequest(requestUrl, updateVariableRequest) - .loader(loaderFactory.newLoader()) - .send(); - } - - @Override - public Promise stepInto(@NotNull String id) { - final String requestUrl = baseUrl() + "/step/into/" + id; - return asyncRequestFactory.createGetRequest(requestUrl).loader(loaderFactory.newLoader()).send(); - } - - @Override - public Promise stepOver(@NotNull String id) { - final String requestUrl = baseUrl() + "/step/over/" + id; - return asyncRequestFactory.createGetRequest(requestUrl).loader(loaderFactory.newLoader()).send(); - } - - @Override - public Promise stepOut(@NotNull String id) { - final String requestUrl = baseUrl() + "/step/out/" + id; - return asyncRequestFactory.createGetRequest(requestUrl).loader(loaderFactory.newLoader()).send(); - } - - @Override - public Promise evaluateExpression(@NotNull String id, @NotNull String expression) { - final String requestUrl = baseUrl() + "/expression/" + id; - return asyncRequestFactory.createPostRequest(requestUrl, null) - .data(expression) - .header(ACCEPT, TEXT_PLAIN) - .header(CONTENTTYPE, TEXT_PLAIN) - .send(new StringUnmarshaller()); - } -} diff --git a/plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/ide/gdb/client/GdbDebuggerClient.java b/plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/plugin/gdb/ide/GdbDebugger.java similarity index 63% rename from plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/ide/gdb/client/GdbDebuggerClient.java rename to plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/plugin/gdb/ide/GdbDebugger.java index eb79bd905d5..9a5ee8b76fa 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/ide/gdb/client/GdbDebuggerClient.java +++ b/plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/plugin/gdb/ide/GdbDebugger.java @@ -8,11 +8,13 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.gdb.client; +package org.eclipse.che.plugin.gdb.ide; import com.google.inject.Inject; import com.google.web.bindery.event.shared.EventBus; +import org.eclipse.che.api.debugger.gwt.client.DebuggerServiceClient; +import org.eclipse.che.api.debugger.shared.model.Location; import org.eclipse.che.ide.api.app.AppContext; import org.eclipse.che.ide.api.app.CurrentProject; import org.eclipse.che.ide.api.filetypes.FileTypeRegistry; @@ -20,43 +22,41 @@ import org.eclipse.che.ide.debug.DebuggerDescriptor; import org.eclipse.che.ide.debug.DebuggerManager; import org.eclipse.che.ide.dto.DtoFactory; -import org.eclipse.che.ide.ext.debugger.client.debug.AbstractDebugger; -import org.eclipse.che.ide.ext.debugger.client.fqn.FqnResolverFactory; -import org.eclipse.che.ide.ext.debugger.shared.Location; import org.eclipse.che.ide.util.storage.LocalStorageProvider; import org.eclipse.che.ide.websocket.MessageBusProvider; +import org.eclipse.che.plugin.debugger.ide.debug.AbstractDebugger; +import org.eclipse.che.plugin.debugger.ide.fqn.FqnResolverFactory; import javax.validation.constraints.NotNull; import java.util.Collections; import java.util.List; import java.util.Map; -import static org.eclipse.che.ide.gdb.client.GdbDebuggerClient.ConnectionProperties.HOST; -import static org.eclipse.che.ide.gdb.client.GdbDebuggerClient.ConnectionProperties.PORT; +import static org.eclipse.che.plugin.gdb.ide.GdbDebugger.ConnectionProperties.HOST; +import static org.eclipse.che.plugin.gdb.ide.GdbDebugger.ConnectionProperties.PORT; /** * The GDB debugger client. * * @author Anatoliy Bazko */ -public class GdbDebuggerClient extends AbstractDebugger { +public class GdbDebugger extends AbstractDebugger { - public static final String ID = "gdb"; - public static final String EVENTS_CHANNEL = "gdbdebugger:events:"; + public static final String ID = "gdb"; private final AppContext appContext; @Inject - public GdbDebuggerClient(GdbDebuggerServiceClientImpl service, - DtoFactory dtoFactory, - LocalStorageProvider localStorageProvider, - MessageBusProvider messageBusProvider, - EventBus eventBus, - FqnResolverFactory fqnResolverFactory, - GdbDebuggerFileHandler activeFileHandler, - DebuggerManager debuggerManager, - FileTypeRegistry fileTypeRegistry, - AppContext appContext) { + public GdbDebugger(DebuggerServiceClient service, + DtoFactory dtoFactory, + LocalStorageProvider localStorageProvider, + MessageBusProvider messageBusProvider, + EventBus eventBus, + FqnResolverFactory fqnResolverFactory, + GdbDebuggerFileHandler activeFileHandler, + DebuggerManager debuggerManager, + FileTypeRegistry fileTypeRegistry, + AppContext appContext) { super(service, dtoFactory, @@ -67,8 +67,7 @@ public GdbDebuggerClient(GdbDebuggerServiceClientImpl service, activeFileHandler, debuggerManager, fileTypeRegistry, - ID, - EVENTS_CHANNEL); + ID); this.appContext = appContext; } @@ -76,11 +75,11 @@ public GdbDebuggerClient(GdbDebuggerServiceClientImpl service, protected List fqnToPath(@NotNull Location location) { CurrentProject currentProject = appContext.getCurrentProject(); if (currentProject == null) { - return Collections.singletonList(location.getClassName()); + return Collections.singletonList(location.getTarget()); } String projectPath = currentProject.getProjectConfig().getPath(); - String path = projectPath + "/" + location.getClassName(); + String path = projectPath + "/" + location.getTarget(); return Collections.singletonList(path); } diff --git a/plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/ide/gdb/client/GdbDebuggerFileHandler.java b/plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/plugin/gdb/ide/GdbDebuggerFileHandler.java similarity index 95% rename from plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/ide/gdb/client/GdbDebuggerFileHandler.java rename to plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/plugin/gdb/ide/GdbDebuggerFileHandler.java index bd3c49f0288..1ca522024c9 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/ide/gdb/client/GdbDebuggerFileHandler.java +++ b/plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/plugin/gdb/ide/GdbDebuggerFileHandler.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.gdb.client; +package org.eclipse.che.plugin.gdb.ide; import com.google.gwt.user.client.Timer; import com.google.gwt.user.client.rpc.AsyncCallback; @@ -24,14 +24,12 @@ import org.eclipse.che.ide.api.project.node.HasStorablePath; import org.eclipse.che.ide.api.project.node.Node; import org.eclipse.che.ide.api.project.tree.VirtualFile; -import org.eclipse.che.ide.ext.debugger.client.debug.ActiveFileHandler; -import org.eclipse.che.ide.ext.debugger.client.debug.DebuggerPresenter; +import org.eclipse.che.plugin.debugger.ide.debug.ActiveFileHandler; import org.eclipse.che.ide.api.editor.document.Document; import org.eclipse.che.ide.api.editor.text.TextPosition; import org.eclipse.che.ide.api.editor.texteditor.TextEditorPresenter; import org.eclipse.che.ide.part.explorer.project.ProjectExplorerPresenter; import org.eclipse.che.ide.project.node.FileReferenceNode; -import org.eclipse.che.ide.util.loging.Log; import javax.validation.constraints.NotNull; import java.util.List; @@ -97,7 +95,7 @@ private void openFile(@NotNull final String className, final int pathNumber, final AsyncCallback callback) { if (pathNumber == filePaths.size()) { - Log.error(DebuggerPresenter.class, "Can't open resource " + className); + callback.onFailure(new IllegalArgumentException("Can't open resource " + className)); return; } diff --git a/plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/ide/gdb/client/GdbExtension.java b/plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/plugin/gdb/ide/GdbExtension.java similarity index 85% rename from plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/ide/gdb/client/GdbExtension.java rename to plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/plugin/gdb/ide/GdbExtension.java index 73eaf68bf38..c2da63b733f 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/ide/gdb/client/GdbExtension.java +++ b/plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/plugin/gdb/ide/GdbExtension.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.gdb.client; +package org.eclipse.che.plugin.gdb.ide; import com.google.inject.Inject; import com.google.inject.Singleton; @@ -26,7 +26,7 @@ public class GdbExtension { @Inject - public GdbExtension(DebuggerManager debuggerManager, GdbDebuggerClient gdbDebuggerClient) { - debuggerManager.registeredDebugger(GdbDebuggerClient.ID, gdbDebuggerClient); + public GdbExtension(DebuggerManager debuggerManager, GdbDebugger gdbDebugger) { + debuggerManager.registeredDebugger(GdbDebugger.ID, gdbDebugger); } } diff --git a/plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/ide/gdb/client/GdbGinModule.java b/plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/plugin/gdb/ide/GdbGinModule.java similarity index 84% rename from plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/ide/gdb/client/GdbGinModule.java rename to plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/plugin/gdb/ide/GdbGinModule.java index fed103bdea4..22857c55c34 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/ide/gdb/client/GdbGinModule.java +++ b/plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/plugin/gdb/ide/GdbGinModule.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.gdb.client; +package org.eclipse.che.plugin.gdb.ide; import com.google.gwt.inject.client.AbstractGinModule; import com.google.gwt.inject.client.multibindings.GinMultibinder; @@ -16,9 +16,9 @@ import org.eclipse.che.ide.api.debug.DebugConfigurationType; import org.eclipse.che.ide.api.extension.ExtensionGinModule; -import org.eclipse.che.ide.gdb.client.configuration.GdbConfigurationPageView; -import org.eclipse.che.ide.gdb.client.configuration.GdbConfigurationPageViewImpl; -import org.eclipse.che.ide.gdb.client.configuration.GdbConfigurationType; +import org.eclipse.che.plugin.gdb.ide.configuration.GdbConfigurationPageViewImpl; +import org.eclipse.che.plugin.gdb.ide.configuration.GdbConfigurationType; +import org.eclipse.che.plugin.gdb.ide.configuration.GdbConfigurationPageView; /** * @author Anatolii Bazko diff --git a/plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/ide/gdb/client/GdbLocalizationConstant.java b/plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/plugin/gdb/ide/GdbLocalizationConstant.java similarity index 96% rename from plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/ide/gdb/client/GdbLocalizationConstant.java rename to plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/plugin/gdb/ide/GdbLocalizationConstant.java index 7ef35479fe3..417554e7440 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/ide/gdb/client/GdbLocalizationConstant.java +++ b/plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/plugin/gdb/ide/GdbLocalizationConstant.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.gdb.client; +package org.eclipse.che.plugin.gdb.ide; /** * I18n constants for the Debugger extension. diff --git a/plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/ide/gdb/client/GdbResources.java b/plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/plugin/gdb/ide/GdbResources.java similarity index 95% rename from plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/ide/gdb/client/GdbResources.java rename to plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/plugin/gdb/ide/GdbResources.java index cf967851682..8336c3f126f 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/ide/gdb/client/GdbResources.java +++ b/plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/plugin/gdb/ide/GdbResources.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.gdb.client; +package org.eclipse.che.plugin.gdb.ide; import com.google.gwt.resources.client.ClientBundle; diff --git a/plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/ide/gdb/client/configuration/GdbConfigurationPagePresenter.java b/plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/plugin/gdb/ide/configuration/GdbConfigurationPagePresenter.java similarity index 98% rename from plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/ide/gdb/client/configuration/GdbConfigurationPagePresenter.java rename to plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/plugin/gdb/ide/configuration/GdbConfigurationPagePresenter.java index c9f3b31c846..4566486ef9f 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/ide/gdb/client/configuration/GdbConfigurationPagePresenter.java +++ b/plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/plugin/gdb/ide/configuration/GdbConfigurationPagePresenter.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.gdb.client.configuration; +package org.eclipse.che.plugin.gdb.ide.configuration; import com.google.common.base.Optional; import com.google.gwt.user.client.ui.AcceptsOneWidget; diff --git a/plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/ide/gdb/client/configuration/GdbConfigurationPageView.java b/plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/plugin/gdb/ide/configuration/GdbConfigurationPageView.java similarity index 96% rename from plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/ide/gdb/client/configuration/GdbConfigurationPageView.java rename to plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/plugin/gdb/ide/configuration/GdbConfigurationPageView.java index 84fb43ca26c..58fb279050c 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/ide/gdb/client/configuration/GdbConfigurationPageView.java +++ b/plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/plugin/gdb/ide/configuration/GdbConfigurationPageView.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.gdb.client.configuration; +package org.eclipse.che.plugin.gdb.ide.configuration; import org.eclipse.che.ide.api.mvp.View; diff --git a/plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/ide/gdb/client/configuration/GdbConfigurationPageViewImpl.java b/plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/plugin/gdb/ide/configuration/GdbConfigurationPageViewImpl.java similarity index 98% rename from plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/ide/gdb/client/configuration/GdbConfigurationPageViewImpl.java rename to plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/plugin/gdb/ide/configuration/GdbConfigurationPageViewImpl.java index 0d6203c234e..72aa303734d 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/ide/gdb/client/configuration/GdbConfigurationPageViewImpl.java +++ b/plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/plugin/gdb/ide/configuration/GdbConfigurationPageViewImpl.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.gdb.client.configuration; +package org.eclipse.che.plugin.gdb.ide.configuration; import com.google.gwt.core.client.GWT; import com.google.gwt.event.dom.client.KeyUpEvent; diff --git a/plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/ide/gdb/client/configuration/GdbConfigurationPageViewImpl.ui.xml b/plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/plugin/gdb/ide/configuration/GdbConfigurationPageViewImpl.ui.xml similarity index 93% rename from plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/ide/gdb/client/configuration/GdbConfigurationPageViewImpl.ui.xml rename to plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/plugin/gdb/ide/configuration/GdbConfigurationPageViewImpl.ui.xml index e75346a0959..1baec0f7907 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/ide/gdb/client/configuration/GdbConfigurationPageViewImpl.ui.xml +++ b/plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/plugin/gdb/ide/configuration/GdbConfigurationPageViewImpl.ui.xml @@ -12,7 +12,7 @@ --> - + diff --git a/plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/ide/gdb/client/configuration/GdbConfigurationType.java b/plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/plugin/gdb/ide/configuration/GdbConfigurationType.java similarity index 81% rename from plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/ide/gdb/client/configuration/GdbConfigurationType.java rename to plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/plugin/gdb/ide/configuration/GdbConfigurationType.java index 77a212e7755..d00de900c44 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/ide/gdb/client/configuration/GdbConfigurationType.java +++ b/plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/plugin/gdb/ide/configuration/GdbConfigurationType.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.gdb.client.configuration; +package org.eclipse.che.plugin.gdb.ide.configuration; import com.google.inject.Inject; import com.google.inject.Singleton; @@ -18,10 +18,8 @@ import org.eclipse.che.ide.api.debug.DebugConfigurationType; import org.eclipse.che.ide.api.icon.Icon; import org.eclipse.che.ide.api.icon.IconRegistry; -import org.eclipse.che.ide.gdb.client.GdbDebuggerClient; -import org.eclipse.che.ide.gdb.client.GdbResources; - -import static org.eclipse.che.ide.gdb.client.GdbDebuggerClient.ID; +import org.eclipse.che.plugin.gdb.ide.GdbDebugger; +import org.eclipse.che.plugin.gdb.ide.GdbResources; /** * GDB debug configuration type. @@ -40,12 +38,12 @@ public GdbConfigurationType(GdbConfigurationPagePresenter page, IconRegistry iconRegistry, GdbResources resources) { this.page = page; - iconRegistry.registerIcon(new Icon(ID + ".debug.configuration.type.icon", resources.gdbDebugConfigurationType())); + iconRegistry.registerIcon(new Icon(GdbDebugger.ID + ".debug.configuration.type.icon", resources.gdbDebugConfigurationType())); } @Override public String getId() { - return ID; + return GdbDebugger.ID; } @Override diff --git a/plugins/plugin-gdb/che-plugin-gdb-ide/src/main/resources/org/eclipse/che/ide/gdb/GdbExtension.gwt.xml b/plugins/plugin-gdb/che-plugin-gdb-ide/src/main/resources/org/eclipse/che/plugin/gdb/Gdb.gwt.xml similarity index 89% rename from plugins/plugin-gdb/che-plugin-gdb-ide/src/main/resources/org/eclipse/che/ide/gdb/GdbExtension.gwt.xml rename to plugins/plugin-gdb/che-plugin-gdb-ide/src/main/resources/org/eclipse/che/plugin/gdb/Gdb.gwt.xml index d12db150097..bb25888a897 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-ide/src/main/resources/org/eclipse/che/ide/gdb/GdbExtension.gwt.xml +++ b/plugins/plugin-gdb/che-plugin-gdb-ide/src/main/resources/org/eclipse/che/plugin/gdb/Gdb.gwt.xml @@ -20,7 +20,7 @@ - + - + diff --git a/plugins/plugin-gdb/che-plugin-gdb-ide/src/main/resources/org/eclipse/che/ide/gdb/client/GdbLocalizationConstant.properties b/plugins/plugin-gdb/che-plugin-gdb-ide/src/main/resources/org/eclipse/che/plugin/gdb/ide/GdbLocalizationConstant.properties similarity index 100% rename from plugins/plugin-gdb/che-plugin-gdb-ide/src/main/resources/org/eclipse/che/ide/gdb/client/GdbLocalizationConstant.properties rename to plugins/plugin-gdb/che-plugin-gdb-ide/src/main/resources/org/eclipse/che/plugin/gdb/ide/GdbLocalizationConstant.properties diff --git a/plugins/plugin-gdb/che-plugin-gdb-ide/src/main/resources/org/eclipse/che/ide/gdb/client/configuration/gdb-configuration-type.svg b/plugins/plugin-gdb/che-plugin-gdb-ide/src/main/resources/org/eclipse/che/plugin/gdb/ide/configuration/gdb-configuration-type.svg similarity index 100% rename from plugins/plugin-gdb/che-plugin-gdb-ide/src/main/resources/org/eclipse/che/ide/gdb/client/configuration/gdb-configuration-type.svg rename to plugins/plugin-gdb/che-plugin-gdb-ide/src/main/resources/org/eclipse/che/plugin/gdb/ide/configuration/gdb-configuration-type.svg diff --git a/plugins/plugin-gdb/che-plugin-gdb-ide/src/test/java/org/eclipse/che/ide/gdb/client/configuration/GdbConfigurationPagePresenterTest.java b/plugins/plugin-gdb/che-plugin-gdb-ide/src/test/java/org/eclipse/che/plugin/gdb/ide/configuration/GdbConfigurationPagePresenterTest.java similarity index 94% rename from plugins/plugin-gdb/che-plugin-gdb-ide/src/test/java/org/eclipse/che/ide/gdb/client/configuration/GdbConfigurationPagePresenterTest.java rename to plugins/plugin-gdb/che-plugin-gdb-ide/src/test/java/org/eclipse/che/plugin/gdb/ide/configuration/GdbConfigurationPagePresenterTest.java index d55411d4aa7..3a986dbcebf 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-ide/src/test/java/org/eclipse/che/ide/gdb/client/configuration/GdbConfigurationPagePresenterTest.java +++ b/plugins/plugin-gdb/che-plugin-gdb-ide/src/test/java/org/eclipse/che/plugin/gdb/ide/configuration/GdbConfigurationPagePresenterTest.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.gdb.client.configuration; +package org.eclipse.che.plugin.gdb.ide.configuration; import com.google.gwt.user.client.ui.AcceptsOneWidget; @@ -25,7 +25,6 @@ import java.util.Map; -import static org.eclipse.che.ide.gdb.client.configuration.GdbConfigurationPagePresenter.BIN_PATH_CONNECTION_PROPERTY; import static org.junit.Assert.assertEquals; import static org.mockito.Matchers.anyString; import static org.mockito.Matchers.eq; @@ -124,7 +123,7 @@ public void testOnBinaryPathChanged() throws Exception { verify(configuration).setConnectionProperties(argumentCaptor.capture()); Map argumentCaptorValue = argumentCaptor.getValue(); - assertEquals(binPath, argumentCaptorValue.get(BIN_PATH_CONNECTION_PROPERTY)); + assertEquals(binPath, argumentCaptorValue.get(GdbConfigurationPagePresenter.BIN_PATH_CONNECTION_PROPERTY)); verify(listener).onDirtyStateChanged(); } diff --git a/plugins/plugin-gdb/che-plugin-gdb-ide/src/test/java/org/eclipse/che/ide/gdb/client/configuration/GdbConfigurationTypeTest.java b/plugins/plugin-gdb/che-plugin-gdb-ide/src/test/java/org/eclipse/che/plugin/gdb/ide/configuration/GdbConfigurationTypeTest.java similarity index 89% rename from plugins/plugin-gdb/che-plugin-gdb-ide/src/test/java/org/eclipse/che/ide/gdb/client/configuration/GdbConfigurationTypeTest.java rename to plugins/plugin-gdb/che-plugin-gdb-ide/src/test/java/org/eclipse/che/plugin/gdb/ide/configuration/GdbConfigurationTypeTest.java index e36ddfbaf7f..b12085c870f 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-ide/src/test/java/org/eclipse/che/ide/gdb/client/configuration/GdbConfigurationTypeTest.java +++ b/plugins/plugin-gdb/che-plugin-gdb-ide/src/test/java/org/eclipse/che/plugin/gdb/ide/configuration/GdbConfigurationTypeTest.java @@ -8,15 +8,16 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.gdb.client.configuration; +package org.eclipse.che.plugin.gdb.ide.configuration; import com.google.gwtmockito.GwtMockitoTestRunner; import org.eclipse.che.ide.api.debug.DebugConfiguration; import org.eclipse.che.ide.api.debug.DebugConfigurationPage; import org.eclipse.che.ide.api.icon.IconRegistry; -import org.eclipse.che.ide.gdb.client.GdbDebuggerClient; -import org.eclipse.che.ide.gdb.client.GdbResources; +import org.eclipse.che.plugin.gdb.ide.GdbDebugger; +import org.eclipse.che.plugin.gdb.ide.GdbResources; +import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.InjectMocks; @@ -42,7 +43,7 @@ public class GdbConfigurationTypeTest { public void testGetId() throws Exception { final String id = gdbConfigurationType.getId(); - assertEquals(GdbDebuggerClient.ID, id); + Assert.assertEquals(GdbDebugger.ID, id); } @Test diff --git a/plugins/plugin-gdb/che-plugin-gdb-server/pom.xml b/plugins/plugin-gdb/che-plugin-gdb-server/pom.xml index 79d08488a4e..fdee2cb6998 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-server/pom.xml +++ b/plugins/plugin-gdb/che-plugin-gdb-server/pom.xml @@ -23,46 +23,41 @@ Che Plugin :: GDB :: GDB Server - javax.validation - validation-api + com.google.guava + guava - javax.ws.rs - javax.ws.rs-api + com.google.inject + guice - org.eclipse.che.core - che-core-api-core + com.google.inject.extensions + guice-multibindings - org.eclipse.che.core - che-core-api-dto + javax.validation + validation-api org.eclipse.che.core - che-core-commons-annotations + che-core-api-debugger org.eclipse.che.core - che-core-commons-json + che-core-api-debugger-shared - org.eclipse.che.plugin - che-plugin-debugger-shared + org.eclipse.che.core + che-core-commons-annotations - org.everrest - everrest-websockets + org.eclipse.che.core + che-core-commons-inject org.slf4j slf4j-api - - javax.websocket - javax.websocket-api - provided - org.mockito mockito-all diff --git a/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/GdbDebugger.java b/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/GdbDebugger.java deleted file mode 100644 index 578f7b810eb..00000000000 --- a/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/GdbDebugger.java +++ /dev/null @@ -1,466 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2012-2016 Codenvy, S.A. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Codenvy, S.A. - initial API and implementation - *******************************************************************************/ -package org.eclipse.che.ide.gdb.server; - -import org.eclipse.che.ide.ext.debugger.shared.Breakpoint; -import org.eclipse.che.ide.ext.debugger.shared.BreakpointActivatedEvent; -import org.eclipse.che.ide.ext.debugger.shared.BreakpointEvent; -import org.eclipse.che.ide.ext.debugger.shared.BreakpointList; -import org.eclipse.che.ide.ext.debugger.shared.DebuggerEvent; -import org.eclipse.che.ide.ext.debugger.shared.DebuggerEventList; -import org.eclipse.che.ide.ext.debugger.shared.DisconnectEvent; -import org.eclipse.che.ide.ext.debugger.shared.Location; -import org.eclipse.che.ide.ext.debugger.shared.StackFrameDump; -import org.eclipse.che.ide.ext.debugger.shared.StepEvent; -import org.eclipse.che.ide.ext.debugger.shared.Value; -import org.eclipse.che.ide.ext.debugger.shared.Variable; -import org.eclipse.che.ide.ext.debugger.shared.VariablePath; -import org.eclipse.che.ide.gdb.server.parser.GdbContinue; -import org.eclipse.che.ide.gdb.server.parser.GdbDirectory; -import org.eclipse.che.ide.gdb.server.parser.GdbInfoBreak; -import org.eclipse.che.ide.gdb.server.parser.GdbInfoLine; -import org.eclipse.che.ide.gdb.server.parser.GdbInfoProgram; -import org.eclipse.che.ide.gdb.server.parser.GdbParseException; -import org.eclipse.che.ide.gdb.server.parser.GdbPrint; -import org.eclipse.che.ide.gdb.server.parser.GdbRun; -import org.eclipse.che.ide.gdb.server.parser.GdbVersion; -import org.everrest.websockets.WSConnectionContext; -import org.everrest.websockets.message.ChannelBroadcastMessage; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.io.IOException; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.Map; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.ConcurrentMap; -import java.util.concurrent.atomic.AtomicLong; - -import static org.eclipse.che.commons.json.JsonHelper.toJson; -import static org.eclipse.che.dto.server.DtoFactory.newDto; - -/** - * Connects to GDB. - * All methods of this class throws {@link GdbDebuggerException}. - * - * @author Anatoliy Bazko - */ -public class GdbDebugger { - private static final Logger LOG = LoggerFactory.getLogger(GdbDebugger.class); - private static final AtomicLong counter = new AtomicLong(1); - private static final ConcurrentMap instances = new ConcurrentHashMap<>(); - - private static final String EVENTS_CHANNEL = "gdbdebugger:events:"; - - private final String host; - private final int port; - private final String name; - private final String version; - private final String id; - private final String file; - - private final Gdb gdb; - - GdbDebugger(String host, int port, String name, String version, String id, String file, Gdb gdb) { - this.host = host; - this.port = port; - this.name = name; - this.version = version; - this.id = id; - this.file = file; - this.gdb = gdb; - - instances.put(id, this); - } - - public String getHost() { - return host; - } - - public int getPort() { - return port; - } - - public String getName() { - return name; - } - - public String getVersion() { - return version; - } - - public String getId() { - return id; - } - - public String getFile() { - return file; - } - - /** - * Factory. - */ - public static GdbDebugger newInstance(String host, int port, String file, String srcDirectory) throws GdbDebuggerException { - Gdb gdb; - try { - gdb = Gdb.start(); - GdbDirectory directory = gdb.directory(srcDirectory); - LOG.debug("Source directories: " + directory.getDirectories()); - - gdb.file(file); - if (port > 0) { - gdb.targetRemote(host, port); - } - } catch (IOException | GdbParseException | InterruptedException e) { - throw new GdbDebuggerException("Can't initialize GDB", e); - } - - GdbVersion gdbVersion = gdb.getGdbVersion(); - long instanceId = counter.incrementAndGet(); - - return new GdbDebugger(host, - port, - gdbVersion.getVersion(), - gdbVersion.getName(), - String.valueOf(instanceId), - file, - gdb); - } - - public static GdbDebugger getInstance(String id) throws GdbDebuggerException { - GdbDebugger gdbDebugger = instances.get(id); - if (gdbDebugger == null) { - throw new GdbDebuggerNotFoundException("Instance " + id + " not found"); - } - - return gdbDebugger; - } - - /** - * Disconnects from GDB. - * - * @throws GdbDebuggerException - */ - public void disconnect() throws GdbDebuggerException { - instances.remove(id); - DisconnectEvent disconnectEvent = newDto(DisconnectEvent.class); - disconnectEvent.setType(DebuggerEvent.DISCONNECTED); - - DebuggerEventList debuggerEventList = newDto(DebuggerEventList.class); - debuggerEventList.withEvents(Collections.singletonList(disconnectEvent)); - publishWebSocketMessage(debuggerEventList, EVENTS_CHANNEL + id); - - try { - gdb.quit(); - } catch (IOException e) { - throw new GdbDebuggerException("quit failed", e); - } - } - - /** - * Adds breakpoint to the server. - */ - public void addBreakpoint(Breakpoint breakpoint) throws GdbDebuggerException { - try { - Location location = breakpoint.getLocation(); - if (location.getClassName() == null) { - gdb.breakpoint(location.getLineNumber()); - } else { - gdb.breakpoint(location.getClassName(), location.getLineNumber()); - } - - BreakpointActivatedEvent breakpointActivatedEvent = newDto(BreakpointActivatedEvent.class); - breakpointActivatedEvent.setType(DebuggerEvent.BREAKPOINT_ACTIVATED); - breakpointActivatedEvent.setBreakpoint(breakpoint); - - DebuggerEventList debuggerEventList = newDto(DebuggerEventList.class); - debuggerEventList.withEvents(Collections.singletonList(breakpointActivatedEvent)); - publishWebSocketMessage(debuggerEventList, EVENTS_CHANNEL + id); - } catch (IOException | GdbParseException | InterruptedException e) { - throw new GdbDebuggerException("Can't add breakpoint: " + breakpoint, e); - } - } - - /** - * Deletes breakpoint from the server. - */ - public void deleteBreakpoint(Breakpoint breakpoint) throws GdbDebuggerException { - try { - Location location = breakpoint.getLocation(); - if (location.getClassName() == null) { - gdb.clear(location.getLineNumber()); - } else { - gdb.clear(location.getClassName(), location.getLineNumber()); - } - } catch (IOException | GdbParseException | InterruptedException e) { - throw new GdbDebuggerException("Can't delete breakpoint: " + breakpoint, e); - } - } - - /** - * Deletes all breakpoints. - */ - public void deleteAllBreakPoints() throws GdbDebuggerException { - try { - gdb.delete(); - } catch (IOException | GdbParseException | InterruptedException e) { - throw new GdbDebuggerException("Can't delete all breakpoints", e); - } - } - - /** - * Gets list of all breakpoints. - */ - public BreakpointList getBreakpoints() throws GdbDebuggerException { - try { - GdbInfoBreak gdbInfoBreak = gdb.infoBreak(); - - BreakpointList breakpointList = newDto(BreakpointList.class); - return breakpointList.withBreakpoints(gdbInfoBreak.getBreakpoints()); - } catch (IOException | GdbParseException | InterruptedException e) { - throw new GdbDebuggerException("Can't get all breakpoints", e); - } - } - - /** - * Starts debugger. - */ - public void start() throws GdbDebuggerException { - try { - Breakpoint breakpoint; - - if (isRemoteConnection()) { - GdbContinue gdbContinue = gdb.cont(); - breakpoint = gdbContinue.getBreakpoint(); - } else { - GdbRun gdbRun = gdb.run(); - breakpoint = gdbRun.getBreakpoint(); - } - - if (breakpoint != null) { - BreakpointEvent breakpointEvent = newDto(BreakpointEvent.class); - breakpointEvent.setBreakpoint(breakpoint); - breakpointEvent.setType(DebuggerEvent.BREAKPOINT); - - DebuggerEventList debuggerEventList = newDto(DebuggerEventList.class); - debuggerEventList.withEvents(Collections.singletonList(breakpointEvent)); - publishWebSocketMessage(debuggerEventList, EVENTS_CHANNEL + id); - } else { - GdbInfoProgram gdbInfoProgram = gdb.infoProgram(); - if (gdbInfoProgram.getStoppedAddress() == null) { - disconnect(); - } - } - } catch (IOException | GdbParseException | InterruptedException e) { - throw new GdbDebuggerException("Error during running.", e); - } - } - - private boolean isRemoteConnection() { - return getPort() > 0; - } - - /** - * Does step over. - */ - public void stepOver() throws GdbDebuggerException { - try { - GdbInfoLine gdbInfoLine = gdb.next(); - if (gdbInfoLine == null) { - disconnect(); - return; - } - - StepEvent stepEvent = newDto(StepEvent.class); - stepEvent.setType(DebuggerEvent.STEP); - stepEvent.setLocation(gdbInfoLine.getLocation()); - - DebuggerEventList debuggerEventList = newDto(DebuggerEventList.class); - debuggerEventList.withEvents(Collections.singletonList(stepEvent)); - publishWebSocketMessage(debuggerEventList, EVENTS_CHANNEL + id); - } catch (IOException | GdbParseException | InterruptedException e) { - throw new GdbDebuggerException("Step into error.", e); - } - } - - /** - * Does step into. - */ - public void stepInto() throws GdbDebuggerException { - try { - GdbInfoLine gdbInfoLine = gdb.step(); - if (gdbInfoLine == null) { - disconnect(); - return; - } - - StepEvent stepEvent = newDto(StepEvent.class); - stepEvent.setType(DebuggerEvent.STEP); - stepEvent.setLocation(gdbInfoLine.getLocation()); - - DebuggerEventList debuggerEventList = newDto(DebuggerEventList.class); - debuggerEventList.withEvents(Collections.singletonList(stepEvent)); - publishWebSocketMessage(debuggerEventList, EVENTS_CHANNEL + id); - } catch (IOException | GdbParseException | InterruptedException e) { - throw new GdbDebuggerException("Step into error.", e); - } - } - - /** - * Does stop out. - */ - public void stepOut() throws GdbDebuggerException { - try { - GdbInfoLine gdbInfoLine = gdb.finish(); - if (gdbInfoLine == null) { - disconnect(); - return; - } - - StepEvent stepEvent = newDto(StepEvent.class); - stepEvent.setType(DebuggerEvent.STEP); - stepEvent.setLocation(gdbInfoLine.getLocation()); - - DebuggerEventList debuggerEventList = newDto(DebuggerEventList.class); - debuggerEventList.withEvents(Collections.singletonList(stepEvent)); - publishWebSocketMessage(debuggerEventList, EVENTS_CHANNEL + id); - } catch (IOException | GdbParseException | InterruptedException e) { - throw new GdbDebuggerException("Step out error.", e); - } - } - - /** - * Does resume. - */ - public void resume() throws GdbDebuggerException { - try { - GdbContinue gdbContinue = gdb.cont(); - Breakpoint breakpoint = gdbContinue.getBreakpoint(); - - if (breakpoint != null) { - BreakpointEvent breakpointEvent = newDto(BreakpointEvent.class); - breakpointEvent.setBreakpoint(breakpoint); - breakpointEvent.setType(DebuggerEvent.BREAKPOINT); - - DebuggerEventList debuggerEventList = newDto(DebuggerEventList.class); - debuggerEventList.withEvents(Collections.singletonList(breakpointEvent)); - publishWebSocketMessage(debuggerEventList, EVENTS_CHANNEL + id); - } else { - GdbInfoProgram gdbInfoProgram = gdb.infoProgram(); - if (gdbInfoProgram.getStoppedAddress() == null) { - disconnect(); - } - } - } catch (IOException | GdbParseException | InterruptedException e) { - throw new GdbDebuggerException("Resume error.", e); - } - } - - /** - * Sets new variable value. - */ - public void setValue(String variable, String value) throws GdbDebuggerException { - try { - gdb.setVar(variable, value); - } catch (IOException | GdbParseException | InterruptedException e) { - throw new GdbDebuggerException("Can't set '" + variable + "=" + value + "'", e); - } - } - - /** - * Gets variable value. - */ - public Value getValue(String variable) throws GdbDebuggerException { - try { - GdbPrint gdbPrint = gdb.print(variable); - - Value value = newDto(Value.class); - value.setValue(gdbPrint.getValue()); - return value; - } catch (IOException | GdbParseException | InterruptedException e) { - throw new GdbDebuggerException("Can't get '" + variable + "'", e); - } - } - - /** - * Evaluate expression. - */ - public String expression(String expression) throws GdbDebuggerException { - try { - GdbPrint gdbPrint = gdb.print(expression); - return gdbPrint.getValue(); - } catch (IOException | GdbParseException | InterruptedException e) { - throw new GdbDebuggerException("Can't evaluate '" + expression + "'", e); - } - } - - /** - * Dump frame. - */ - public StackFrameDump dumpStackFrame() throws GdbDebuggerException { - StackFrameDump gdbStackFrameDump = newDto(StackFrameDump.class); - - try { - Map locals = gdb.infoLocals().getVariables(); - locals.putAll(gdb.infoArgs().getVariables()); - - List variables = new ArrayList<>(); - for (Map.Entry e : locals.entrySet()) { - String varName = e.getKey(); - String varValue = e.getValue(); - String varType = gdb.ptype(varName).getType(); - - VariablePath variablePath = newDto(VariablePath.class); - variablePath.setPath(Collections.singletonList(varName)); - - Variable variable = newDto(Variable.class); - variable.setName(varName); - variable.setValue(varValue); - variable.setType(varType); - variable.setVariablePath(variablePath); - variable.setExistInformation(true); - variable.setPrimitive(true); - - variables.add(variable); - } - - gdbStackFrameDump.setFields(Collections.emptyList()); - gdbStackFrameDump.setLocalVariables(variables); - } catch (IOException | GdbParseException | InterruptedException e) { - throw new GdbDebuggerException("Can't dump stack frame", e); - } - - return gdbStackFrameDump; - } - - /** - * Publishes the message over WebSocket connection. - * - * @param eventList - * the data to be sent to the client - * @param channelID - * channel identifier - */ - protected void publishWebSocketMessage(DebuggerEventList eventList, String channelID) { - ChannelBroadcastMessage message = new ChannelBroadcastMessage(); - message.setChannel(channelID); - message.setType(ChannelBroadcastMessage.Type.NONE); - message.setBody(toJson(eventList)); - - try { - WSConnectionContext.sendMessage(message); - } catch (Exception e) { - LOG.error("Failed to send message over WebSocket.", e); - } - } -} diff --git a/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/GdbDebuggerService.java b/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/GdbDebuggerService.java deleted file mode 100644 index c681267ed42..00000000000 --- a/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/GdbDebuggerService.java +++ /dev/null @@ -1,174 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2012-2016 Codenvy, S.A. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Codenvy, S.A. - initial API and implementation - *******************************************************************************/ -package org.eclipse.che.ide.gdb.server; - -import org.eclipse.che.dto.server.DtoFactory; -import org.eclipse.che.ide.ext.debugger.shared.Breakpoint; -import org.eclipse.che.ide.ext.debugger.shared.BreakpointList; -import org.eclipse.che.ide.ext.debugger.shared.DebuggerInfo; -import org.eclipse.che.ide.ext.debugger.shared.StackFrameDump; -import org.eclipse.che.ide.ext.debugger.shared.UpdateVariableRequest; -import org.eclipse.che.ide.ext.debugger.shared.Value; -import org.eclipse.che.ide.ext.debugger.shared.Variable; - -import javax.ws.rs.Consumes; -import javax.ws.rs.DefaultValue; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.MediaType; -import java.nio.file.Paths; - -/** - * Provides access to {@link GdbDebugger} through HTTP. - * - * @author Anatoliy Bazko - */ -@Path("gdb/{ws-id}") -public class GdbDebuggerService { - - @GET - @Path("{id}") - @Produces(MediaType.APPLICATION_JSON) - public DebuggerInfo isConnected(@PathParam("id") String id) throws GdbDebuggerException { - GdbDebugger d = GdbDebugger.getInstance(id); - return DtoFactory.getInstance().createDto(DebuggerInfo.class) - .withHost(d.getHost()) - .withPort(d.getPort()) - .withId(d.getId()) - .withName(d.getName()) - .withFile(d.getFile()) - .withVersion(d.getVersion()); - } - - @GET - @Path("connect") - @Produces(MediaType.APPLICATION_JSON) - public DebuggerInfo create(@QueryParam("host") String host, - @QueryParam("port") @DefaultValue("0") int port, - @QueryParam("file") String file, - @QueryParam("sources") String sources) throws GdbDebuggerException { - if (sources == null) { - sources = Paths.get(file).getParent().toString(); - } - - GdbDebugger d = GdbDebugger.newInstance(host, port, file, sources); - return DtoFactory.getInstance().createDto(DebuggerInfo.class) - .withHost(d.getHost()) - .withPort(d.getPort()) - .withId(d.getId()) - .withName(d.getName()) - .withFile(d.getFile()) - .withVersion(d.getVersion()); - } - - @GET - @Path("start/{id}") - public void start(@PathParam("id") String id) throws GdbDebuggerException { - GdbDebugger.getInstance(id).start(); - } - - @GET - @Path("disconnect/{id}") - public void disconnect(@PathParam("id") String id) throws GdbDebuggerException { - try { - GdbDebugger.getInstance(id).disconnect(); - } catch (GdbDebuggerNotFoundException e) { - // ignore - } - } - - @GET - @Path("resume/{id}") - public void resume(@PathParam("id") String id) throws GdbDebuggerException { - GdbDebugger.getInstance(id).resume(); - } - - @POST - @Path("breakpoints/add/{id}") - @Consumes(MediaType.APPLICATION_JSON) - public void addBreakpoint(@PathParam("id") String id, Breakpoint breakpoint) throws GdbDebuggerException { - GdbDebugger.getInstance(id).addBreakpoint(breakpoint); - } - - @GET - @Path("breakpoints/{id}") - @Produces(MediaType.APPLICATION_JSON) - public BreakpointList getBreakpoints(@PathParam("id") String id) throws GdbDebuggerException { - return GdbDebugger.getInstance(id).getBreakpoints(); - } - - @POST - @Path("breakpoints/delete/{id}") - @Consumes(MediaType.APPLICATION_JSON) - public void deleteBreakpoint(@PathParam("id") String id, Breakpoint breakpoint) throws GdbDebuggerException { - GdbDebugger.getInstance(id).deleteBreakpoint(breakpoint); - } - - @GET - @Path("breakpoints/delete_all/{id}") - public void deleteAllBreakpoint(@PathParam("id") String id) throws GdbDebuggerException { - GdbDebugger.getInstance(id).deleteAllBreakPoints(); - } - - @GET - @Path("dump/{id}") - @Produces(MediaType.APPLICATION_JSON) - public StackFrameDump getStackFrameDump(@PathParam("id") String id) throws GdbDebuggerException { - return GdbDebugger.getInstance(id).dumpStackFrame(); - } - - @POST - @Path("value/get/{id}") - @Consumes(MediaType.APPLICATION_JSON) - @Produces(MediaType.APPLICATION_JSON) - public Value getValue(@PathParam("id") String id, Variable variable) throws GdbDebuggerException { - return GdbDebugger.getInstance(id).getValue(variable.getName()); - } - - @POST - @Path("value/set/{id}") - @Consumes(MediaType.APPLICATION_JSON) - public void setValue(@PathParam("id") String id, UpdateVariableRequest updateVariableRequest) throws GdbDebuggerException { - String variable = updateVariableRequest.getVariablePath().getPath().get(0); - String value = updateVariableRequest.getExpression(); - GdbDebugger.getInstance(id).setValue(variable, value); - } - - @GET - @Path("step/over/{id}") - public void stepOver(@PathParam("id") String id) throws GdbDebuggerException { - GdbDebugger.getInstance(id).stepOver(); - } - - @GET - @Path("step/into/{id}") - public void stepInto(@PathParam("id") String id) throws GdbDebuggerException { - GdbDebugger.getInstance(id).stepInto(); - } - - @GET - @Path("step/out/{id}") - public void stepOut(@PathParam("id") String id) throws GdbDebuggerException { - GdbDebugger.getInstance(id).stepOut(); - } - - @POST - @Path("expression/{id}") - @Consumes(MediaType.TEXT_PLAIN) - @Produces(MediaType.TEXT_PLAIN) - public String expression(@PathParam("id") String id, String expression) throws GdbDebuggerException { - return GdbDebugger.getInstance(id).expression(expression); - } -} diff --git a/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/Gdb.java b/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/Gdb.java similarity index 85% rename from plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/Gdb.java rename to plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/Gdb.java index 909afe3a1a8..eb7df019bd9 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/Gdb.java +++ b/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/Gdb.java @@ -8,26 +8,26 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.gdb.server; +package org.eclipse.che.plugin.gdb.server; import org.eclipse.che.commons.annotation.Nullable; -import org.eclipse.che.ide.gdb.server.parser.GdbBreak; -import org.eclipse.che.ide.gdb.server.parser.GdbClear; -import org.eclipse.che.ide.gdb.server.parser.GdbContinue; -import org.eclipse.che.ide.gdb.server.parser.GdbDelete; -import org.eclipse.che.ide.gdb.server.parser.GdbDirectory; -import org.eclipse.che.ide.gdb.server.parser.GdbFile; -import org.eclipse.che.ide.gdb.server.parser.GdbInfoArgs; -import org.eclipse.che.ide.gdb.server.parser.GdbInfoBreak; -import org.eclipse.che.ide.gdb.server.parser.GdbInfoLine; -import org.eclipse.che.ide.gdb.server.parser.GdbInfoLocals; -import org.eclipse.che.ide.gdb.server.parser.GdbInfoProgram; -import org.eclipse.che.ide.gdb.server.parser.GdbPType; -import org.eclipse.che.ide.gdb.server.parser.GdbParseException; -import org.eclipse.che.ide.gdb.server.parser.GdbPrint; -import org.eclipse.che.ide.gdb.server.parser.GdbRun; -import org.eclipse.che.ide.gdb.server.parser.GdbTargetRemote; -import org.eclipse.che.ide.gdb.server.parser.GdbVersion; +import org.eclipse.che.plugin.gdb.server.parser.GdbClear; +import org.eclipse.che.plugin.gdb.server.parser.GdbContinue; +import org.eclipse.che.plugin.gdb.server.parser.GdbDelete; +import org.eclipse.che.plugin.gdb.server.parser.GdbInfoLine; +import org.eclipse.che.plugin.gdb.server.parser.GdbBreak; +import org.eclipse.che.plugin.gdb.server.parser.GdbDirectory; +import org.eclipse.che.plugin.gdb.server.parser.GdbFile; +import org.eclipse.che.plugin.gdb.server.parser.GdbInfoArgs; +import org.eclipse.che.plugin.gdb.server.parser.GdbInfoBreak; +import org.eclipse.che.plugin.gdb.server.parser.GdbInfoLocals; +import org.eclipse.che.plugin.gdb.server.parser.GdbInfoProgram; +import org.eclipse.che.plugin.gdb.server.parser.GdbPType; +import org.eclipse.che.plugin.gdb.server.parser.GdbParseException; +import org.eclipse.che.plugin.gdb.server.parser.GdbPrint; +import org.eclipse.che.plugin.gdb.server.parser.GdbRun; +import org.eclipse.che.plugin.gdb.server.parser.GdbTargetRemote; +import org.eclipse.che.plugin.gdb.server.parser.GdbVersion; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -75,8 +75,8 @@ public GdbRun run() throws IOException, InterruptedException, GdbParseException /** * `set var` command. */ - public void setVar(String variable, String value) throws IOException, InterruptedException, GdbParseException { - String command = "set var " + variable + "=" + value; + public void setVar(String varName, String value) throws IOException, InterruptedException, GdbParseException { + String command = "set var " + varName + "=" + value; sendCommand(command); outputs.take(); } diff --git a/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/GdbDebugger.java b/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/GdbDebugger.java new file mode 100644 index 00000000000..b97b09aa18e --- /dev/null +++ b/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/GdbDebugger.java @@ -0,0 +1,365 @@ +/******************************************************************************* + * Copyright (c) 2012-2016 Codenvy, S.A. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Codenvy, S.A. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.plugin.gdb.server; + +import org.eclipse.che.api.debugger.server.Debugger; +import org.eclipse.che.api.debugger.server.exceptions.DebuggerException; +import org.eclipse.che.api.debugger.shared.model.Breakpoint; +import org.eclipse.che.api.debugger.shared.model.DebuggerInfo; +import org.eclipse.che.api.debugger.shared.model.Location; +import org.eclipse.che.api.debugger.shared.model.StackFrameDump; +import org.eclipse.che.api.debugger.shared.model.Value; +import org.eclipse.che.api.debugger.shared.model.Variable; +import org.eclipse.che.api.debugger.shared.model.VariablePath; +import org.eclipse.che.api.debugger.shared.model.action.ResumeAction; +import org.eclipse.che.api.debugger.shared.model.action.StartAction; +import org.eclipse.che.api.debugger.shared.model.action.StepIntoAction; +import org.eclipse.che.api.debugger.shared.model.action.StepOutAction; +import org.eclipse.che.api.debugger.shared.model.action.StepOverAction; +import org.eclipse.che.api.debugger.shared.model.impl.DebuggerInfoImpl; +import org.eclipse.che.api.debugger.shared.model.impl.StackFrameDumpImpl; +import org.eclipse.che.api.debugger.shared.model.impl.ValueImpl; +import org.eclipse.che.api.debugger.shared.model.impl.VariableImpl; +import org.eclipse.che.api.debugger.shared.model.impl.VariablePathImpl; +import org.eclipse.che.api.debugger.shared.model.impl.event.BreakpointActivatedEventImpl; +import org.eclipse.che.api.debugger.shared.model.impl.event.DisconnectEventImpl; +import org.eclipse.che.api.debugger.shared.model.impl.event.SuspendEventImpl; +import org.eclipse.che.plugin.gdb.server.parser.GdbContinue; +import org.eclipse.che.plugin.gdb.server.parser.GdbDirectory; +import org.eclipse.che.plugin.gdb.server.parser.GdbInfoBreak; +import org.eclipse.che.plugin.gdb.server.parser.GdbInfoLine; +import org.eclipse.che.plugin.gdb.server.parser.GdbInfoProgram; +import org.eclipse.che.plugin.gdb.server.parser.GdbParseException; +import org.eclipse.che.plugin.gdb.server.parser.GdbPrint; +import org.eclipse.che.plugin.gdb.server.parser.GdbRun; +import org.eclipse.che.plugin.gdb.server.parser.GdbVersion; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Map; + +import static java.util.Collections.singletonList; + +/** + * Connects to GDB. + * + * @author Anatoliy Bazko + */ +public class GdbDebugger implements Debugger { + private static final Logger LOG = LoggerFactory.getLogger(GdbDebugger.class); + + private final String host; + private final int port; + private final String name; + private final String version; + private final String file; + + private final Gdb gdb; + private final DebuggerCallback debuggerCallback; + + GdbDebugger(String host, + int port, + String name, + String version, + String file, + Gdb gdb, + DebuggerCallback debuggerCallback) { + this.host = host; + this.port = port; + this.name = name; + this.version = version; + this.file = file; + this.gdb = gdb; + this.debuggerCallback = debuggerCallback; + } + + public String getHost() { + return host; + } + + public int getPort() { + return port; + } + + public String getName() { + return name; + } + + public String getVersion() { + return version; + } + + public String getFile() { + return file; + } + + public static GdbDebugger newInstance(String host, + int port, + String file, + String srcDirectory, + DebuggerCallback debuggerCallback) throws DebuggerException { + Gdb gdb; + try { + gdb = Gdb.start(); + GdbDirectory directory = gdb.directory(srcDirectory); + LOG.debug("Source directories: " + directory.getDirectories()); + + gdb.file(file); + if (port > 0) { + gdb.targetRemote(host, port); + } + } catch (IOException | GdbParseException | InterruptedException e) { + throw new DebuggerException("Can't initialize GDB", e); + } + + GdbVersion gdbVersion = gdb.getGdbVersion(); + return new GdbDebugger(host, + port, + gdbVersion.getVersion(), + gdbVersion.getName(), + file, + gdb, + debuggerCallback); + } + + @Override + public DebuggerInfo getInfo() throws DebuggerException { + return new DebuggerInfoImpl(host, port, name, version, 0, file); + } + + @Override + public void disconnect() throws DebuggerException { + debuggerCallback.onEvent(new DisconnectEventImpl()); + + try { + gdb.quit(); + } catch (IOException e) { + throw new DebuggerException("quit failed", e); + } + } + + @Override + public void addBreakpoint(Breakpoint breakpoint) throws DebuggerException { + try { + Location location = breakpoint.getLocation(); + if (location.getTarget() == null) { + gdb.breakpoint(location.getLineNumber()); + } else { + gdb.breakpoint(location.getTarget(), location.getLineNumber()); + } + + debuggerCallback.onEvent(new BreakpointActivatedEventImpl(breakpoint)); + } catch (IOException | GdbParseException | InterruptedException e) { + throw new DebuggerException("Can't add breakpoint: " + breakpoint, e); + } + } + + @Override + public void deleteBreakpoint(Location location) throws DebuggerException { + try { + if (location.getTarget() == null) { + gdb.clear(location.getLineNumber()); + } else { + gdb.clear(location.getTarget(), location.getLineNumber()); + } + } catch (IOException | GdbParseException | InterruptedException e) { + throw new DebuggerException("Can't delete breakpoint: " + location, e); + } + } + + @Override + public void deleteAllBreakpoints() throws DebuggerException { + try { + gdb.delete(); + } catch (IOException | GdbParseException | InterruptedException e) { + throw new DebuggerException("Can't delete all breakpoints", e); + } + } + + @Override + public List getAllBreakpoints() throws DebuggerException { + try { + GdbInfoBreak gdbInfoBreak = gdb.infoBreak(); + return gdbInfoBreak.getBreakpoints(); + } catch (IOException | GdbParseException | InterruptedException e) { + throw new DebuggerException("Can't get all breakpoints", e); + } + } + + @Override + public void start(StartAction action) throws DebuggerException { + try { + Breakpoint breakpoint; + + if (isRemoteConnection()) { + GdbContinue gdbContinue = gdb.cont(); + breakpoint = gdbContinue.getBreakpoint(); + } else { + GdbRun gdbRun = gdb.run(); + breakpoint = gdbRun.getBreakpoint(); + } + + if (breakpoint != null) { + debuggerCallback.onEvent(new SuspendEventImpl(breakpoint.getLocation())); + } else { + GdbInfoProgram gdbInfoProgram = gdb.infoProgram(); + if (gdbInfoProgram.getStoppedAddress() == null) { + disconnect(); + } + } + } catch (IOException | GdbParseException | InterruptedException e) { + throw new DebuggerException("Error during running.", e); + } + } + + private boolean isRemoteConnection() { + return getPort() > 0; + } + + @Override + public void stepOver(StepOverAction action) throws DebuggerException { + try { + GdbInfoLine gdbInfoLine = gdb.next(); + if (gdbInfoLine == null) { + disconnect(); + return; + } + + debuggerCallback.onEvent(new SuspendEventImpl(gdbInfoLine.getLocation())); + } catch (IOException | GdbParseException | InterruptedException e) { + throw new DebuggerException("Step into error.", e); + } + } + + @Override + public void stepInto(StepIntoAction action) throws DebuggerException { + try { + GdbInfoLine gdbInfoLine = gdb.step(); + if (gdbInfoLine == null) { + disconnect(); + return; + } + + debuggerCallback.onEvent(new SuspendEventImpl(gdbInfoLine.getLocation())); + } catch (IOException | GdbParseException | InterruptedException e) { + throw new DebuggerException("Step into error.", e); + } + } + + @Override + public void stepOut(StepOutAction action) throws DebuggerException { + try { + GdbInfoLine gdbInfoLine = gdb.finish(); + if (gdbInfoLine == null) { + disconnect(); + return; + } + + debuggerCallback.onEvent(new SuspendEventImpl(gdbInfoLine.getLocation())); + } catch (IOException | GdbParseException | InterruptedException e) { + throw new DebuggerException("Step out error.", e); + } + } + + @Override + public void resume(ResumeAction action) throws DebuggerException { + try { + GdbContinue gdbContinue = gdb.cont(); + Breakpoint breakpoint = gdbContinue.getBreakpoint(); + + if (breakpoint != null) { + debuggerCallback.onEvent(new SuspendEventImpl(breakpoint.getLocation())); + } else { + GdbInfoProgram gdbInfoProgram = gdb.infoProgram(); + if (gdbInfoProgram.getStoppedAddress() == null) { + disconnect(); + } + } + } catch (IOException | GdbParseException | InterruptedException e) { + throw new DebuggerException("Resume error.", e); + } + } + + @Override + public void setValue(Variable variable) throws DebuggerException { + try { + List path = variable.getVariablePath().getPath(); + if (path.isEmpty()) { + throw new DebuggerException("Variable path is empty"); + } + gdb.setVar(path.get(0), variable.getValue()); + } catch (IOException | GdbParseException | InterruptedException e) { + throw new DebuggerException("Can't set value for " + variable.getName(), e); + } + } + + @Override + public Value getValue(VariablePath variablePath) throws DebuggerException { + try { + List path = variablePath.getPath(); + if (path.isEmpty()) { + throw new DebuggerException("Variable path is empty"); + } + + GdbPrint gdbPrint = gdb.print(path.get(0)); + return new ValueImpl(Collections.emptyList(), gdbPrint.getValue()); + } catch (IOException | GdbParseException | InterruptedException e) { + throw new DebuggerException("Can't get value for " + variablePath, e); + } + } + + @Override + public String evaluate(String expression) throws DebuggerException { + try { + GdbPrint gdbPrint = gdb.print(expression); + return gdbPrint.getValue(); + } catch (IOException | GdbParseException | InterruptedException e) { + throw new DebuggerException("Can't evaluate '" + expression + "'", e); + } + } + + /** + * Dump frame. + */ + @Override + public StackFrameDump dumpStackFrame() throws DebuggerException { + + try { + Map locals = gdb.infoLocals().getVariables(); + locals.putAll(gdb.infoArgs().getVariables()); + + List variables = new ArrayList<>(locals.size()); + for (Map.Entry e : locals.entrySet()) { + String varName = e.getKey(); + String varValue = e.getValue(); + String varType; + try { + varType = gdb.ptype(varName).getType(); + } catch (GdbParseException pe) { + LOG.warn(pe.getMessage(), pe); + varType = ""; + } + + VariablePath variablePath = new VariablePathImpl(singletonList(varName)); + VariableImpl variable = new VariableImpl(varType, varName, varValue, true, variablePath, Collections.emptyList(), true); + variables.add(variable); + } + + return new StackFrameDumpImpl(Collections.emptyList(), variables); + } catch (IOException | GdbParseException | InterruptedException e) { + throw new DebuggerException("Can't dump stack frame", e); + } + } +} diff --git a/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/GdbDebuggerFactory.java b/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/GdbDebuggerFactory.java new file mode 100644 index 00000000000..a5dadb4d8c2 --- /dev/null +++ b/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/GdbDebuggerFactory.java @@ -0,0 +1,62 @@ +/******************************************************************************* + * Copyright (c) 2012-2016 Codenvy, S.A. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Codenvy, S.A. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.plugin.gdb.server; + +import org.eclipse.che.api.debugger.server.Debugger; +import org.eclipse.che.api.debugger.server.DebuggerFactory; +import org.eclipse.che.api.debugger.server.exceptions.DebuggerException; + +import java.nio.file.Paths; +import java.util.Map; + +import static java.util.stream.Collectors.toMap; + +/** + * @author Anatoliy Bazko + */ +public class GdbDebuggerFactory implements DebuggerFactory { + private static final String TYPE = "gdb"; + + @Override + public String getType() { + return TYPE; + } + + @Override + public Debugger create(Map properties, Debugger.DebuggerCallback debuggerCallback) throws DebuggerException { + Map normalizedProps = properties.entrySet() + .stream() + .collect(toMap(e -> e.getKey().toLowerCase(), Map.Entry::getValue)); + + + String host = normalizedProps.get("host"); + + String portProp = normalizedProps.get("port"); + int port; + try { + port = portProp != null ? Integer.parseInt(portProp) : 0; + } catch (NumberFormatException e) { + throw new DebuggerException("Unknown port property format: " + portProp); + } + + String file = normalizedProps.get("binary"); + if (file == null) { + throw new DebuggerException("binary property is null. Debugger can't be started"); + } + + String sources = normalizedProps.get("sources"); + if (sources == null) { + sources = Paths.get(file).getParent().toString(); + } + + return GdbDebugger.newInstance(host, port, file, sources, debuggerCallback); + } +} diff --git a/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/GdbDebuggerModule.java b/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/GdbDebuggerModule.java new file mode 100644 index 00000000000..784d92586ed --- /dev/null +++ b/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/GdbDebuggerModule.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Copyright (c) 2012-2016 Codenvy, S.A. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Codenvy, S.A. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.plugin.gdb.server; + +import com.google.inject.AbstractModule; +import com.google.inject.multibindings.Multibinder; + +import org.eclipse.che.api.debugger.server.DebuggerFactory; +import org.eclipse.che.inject.DynaModule; + +/** + * @author Anatoliy Bazko + */ +@DynaModule +public class GdbDebuggerModule extends AbstractModule { + + @Override + protected void configure() { + Multibinder.newSetBinder(binder(), DebuggerFactory.class).addBinding().to(GdbDebuggerFactory.class); + } +} diff --git a/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/GdbProcess.java b/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/GdbProcess.java similarity index 97% rename from plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/GdbProcess.java rename to plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/GdbProcess.java index 99c82355bd2..a313e597fbc 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/GdbProcess.java +++ b/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/GdbProcess.java @@ -8,10 +8,10 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.gdb.server; +package org.eclipse.che.plugin.gdb.server; import org.eclipse.che.commons.annotation.Nullable; -import org.eclipse.che.ide.gdb.server.parser.GdbOutput; +import org.eclipse.che.plugin.gdb.server.parser.GdbOutput; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/parser/GdbBreak.java b/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbBreak.java similarity index 97% rename from plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/parser/GdbBreak.java rename to plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbBreak.java index 4eea98976d7..7779e57695e 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/parser/GdbBreak.java +++ b/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbBreak.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.gdb.server.parser; +package org.eclipse.che.plugin.gdb.server.parser; import java.util.regex.Matcher; import java.util.regex.Pattern; diff --git a/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/parser/GdbClear.java b/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbClear.java similarity index 95% rename from plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/parser/GdbClear.java rename to plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbClear.java index a08c24c98a4..90a136536eb 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/parser/GdbClear.java +++ b/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbClear.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.gdb.server.parser; +package org.eclipse.che.plugin.gdb.server.parser; import java.util.regex.Matcher; import java.util.regex.Pattern; diff --git a/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/parser/GdbContinue.java b/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbContinue.java similarity index 72% rename from plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/parser/GdbContinue.java rename to plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbContinue.java index 78166dd3ca3..22ba3ea8901 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/parser/GdbContinue.java +++ b/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbContinue.java @@ -8,12 +8,13 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.gdb.server.parser; +package org.eclipse.che.plugin.gdb.server.parser; +import org.eclipse.che.api.debugger.shared.model.Breakpoint; +import org.eclipse.che.api.debugger.shared.model.Location; +import org.eclipse.che.api.debugger.shared.model.impl.BreakpointImpl; +import org.eclipse.che.api.debugger.shared.model.impl.LocationImpl; import org.eclipse.che.commons.annotation.Nullable; -import org.eclipse.che.dto.server.DtoFactory; -import org.eclipse.che.ide.ext.debugger.shared.Breakpoint; -import org.eclipse.che.ide.ext.debugger.shared.Location; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -50,14 +51,8 @@ public static GdbContinue parse(GdbOutput gdbOutput) throws GdbParseException { String file = matcher.group(1); String lineNumber = matcher.group(2); - Location location = DtoFactory.newDto(Location.class); - location.setClassName(file); - location.setLineNumber(Integer.parseInt(lineNumber)); - - Breakpoint breakpoint = DtoFactory.newDto(Breakpoint.class); - breakpoint.setLocation(location); - - return new GdbContinue(breakpoint); + Location location = new LocationImpl(file, Integer.parseInt(lineNumber)); + return new GdbContinue(new BreakpointImpl(location)); } } diff --git a/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/parser/GdbDelete.java b/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbDelete.java similarity index 96% rename from plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/parser/GdbDelete.java rename to plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbDelete.java index aab196788c7..20138746974 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/parser/GdbDelete.java +++ b/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbDelete.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.gdb.server.parser; +package org.eclipse.che.plugin.gdb.server.parser; import java.util.regex.Matcher; import java.util.regex.Pattern; diff --git a/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/parser/GdbDirectory.java b/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbDirectory.java similarity index 96% rename from plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/parser/GdbDirectory.java rename to plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbDirectory.java index 40b65fca676..c3537de4f19 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/parser/GdbDirectory.java +++ b/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbDirectory.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.gdb.server.parser; +package org.eclipse.che.plugin.gdb.server.parser; import java.util.regex.Matcher; import java.util.regex.Pattern; diff --git a/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/parser/GdbFile.java b/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbFile.java similarity index 96% rename from plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/parser/GdbFile.java rename to plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbFile.java index 8c47100623c..dd4d8a63312 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/parser/GdbFile.java +++ b/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbFile.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.gdb.server.parser; +package org.eclipse.che.plugin.gdb.server.parser; import java.util.regex.Matcher; import java.util.regex.Pattern; diff --git a/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/parser/GdbInfoArgs.java b/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbInfoArgs.java similarity index 97% rename from plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/parser/GdbInfoArgs.java rename to plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbInfoArgs.java index ac0779876a7..174519728a0 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/parser/GdbInfoArgs.java +++ b/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbInfoArgs.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.gdb.server.parser; +package org.eclipse.che.plugin.gdb.server.parser; import java.util.HashMap; import java.util.Map; diff --git a/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/parser/GdbInfoBreak.java b/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbInfoBreak.java similarity index 74% rename from plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/parser/GdbInfoBreak.java rename to plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbInfoBreak.java index bf2fa88ad0a..16c59fdbbc4 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/parser/GdbInfoBreak.java +++ b/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbInfoBreak.java @@ -8,11 +8,12 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.gdb.server.parser; +package org.eclipse.che.plugin.gdb.server.parser; -import org.eclipse.che.dto.server.DtoFactory; -import org.eclipse.che.ide.ext.debugger.shared.Breakpoint; -import org.eclipse.che.ide.ext.debugger.shared.Location; +import org.eclipse.che.api.debugger.shared.model.Breakpoint; +import org.eclipse.che.api.debugger.shared.model.Location; +import org.eclipse.che.api.debugger.shared.model.impl.BreakpointImpl; +import org.eclipse.che.api.debugger.shared.model.impl.LocationImpl; import java.util.ArrayList; import java.util.List; @@ -52,14 +53,8 @@ public static GdbInfoBreak parse(GdbOutput gdbOutput) throws GdbParseException { String file = matcher.group(2); String lineNumber = matcher.group(3); - Location location = DtoFactory.newDto(Location.class); - location.setClassName(file); - location.setLineNumber(Integer.parseInt(lineNumber)); - - Breakpoint breakpoint = DtoFactory.newDto(Breakpoint.class); - breakpoint.setLocation(location); - - breakpoints.add(breakpoint); + Location location = new LocationImpl(file, Integer.parseInt(lineNumber)); + breakpoints.add(new BreakpointImpl(location)); } } diff --git a/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/parser/GdbInfoLine.java b/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbInfoLine.java similarity index 76% rename from plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/parser/GdbInfoLine.java rename to plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbInfoLine.java index 4b9c1548f23..058189b7b3f 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/parser/GdbInfoLine.java +++ b/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbInfoLine.java @@ -8,10 +8,10 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.gdb.server.parser; +package org.eclipse.che.plugin.gdb.server.parser; -import org.eclipse.che.dto.server.DtoFactory; -import org.eclipse.che.ide.ext.debugger.shared.Location; +import org.eclipse.che.api.debugger.shared.model.Location; +import org.eclipse.che.api.debugger.shared.model.impl.LocationImpl; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -23,7 +23,7 @@ */ public class GdbInfoLine { - private static final Pattern GDB_INFO_LINE = Pattern.compile("Line ([0-9]*) of \"(.*)\"\\s*starts at .*"); + private static final Pattern GDB_INFO_LINE = Pattern.compile("Line ([0-9]*) of \"(.*)\"\\s.*"); private final Location location; @@ -46,11 +46,7 @@ public static GdbInfoLine parse(GdbOutput gdbOutput) throws GdbParseException { String lineNumber = matcher.group(1); String file = matcher.group(2); - Location location = DtoFactory.newDto(Location.class); - location.setClassName(file); - location.setLineNumber(Integer.parseInt(lineNumber)); - - return new GdbInfoLine(location); + return new GdbInfoLine(new LocationImpl(file, Integer.parseInt(lineNumber))); } throw new GdbParseException(GdbInfoLine.class, output); diff --git a/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/parser/GdbInfoLocals.java b/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbInfoLocals.java similarity index 97% rename from plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/parser/GdbInfoLocals.java rename to plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbInfoLocals.java index f9045c25826..9c06fe47fcf 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/parser/GdbInfoLocals.java +++ b/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbInfoLocals.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.gdb.server.parser; +package org.eclipse.che.plugin.gdb.server.parser; import java.util.HashMap; import java.util.Map; diff --git a/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/parser/GdbInfoProgram.java b/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbInfoProgram.java similarity index 97% rename from plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/parser/GdbInfoProgram.java rename to plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbInfoProgram.java index d17fc2688bd..cf56e97a7d4 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/parser/GdbInfoProgram.java +++ b/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbInfoProgram.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.gdb.server.parser; +package org.eclipse.che.plugin.gdb.server.parser; import java.util.regex.Matcher; import java.util.regex.Pattern; diff --git a/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/parser/GdbOutput.java b/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbOutput.java similarity index 94% rename from plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/parser/GdbOutput.java rename to plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbOutput.java index a11a363ff0b..0ed647b371b 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/parser/GdbOutput.java +++ b/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbOutput.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.gdb.server.parser; +package org.eclipse.che.plugin.gdb.server.parser; /** * Wrapper for GDB output. diff --git a/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/parser/GdbPType.java b/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbPType.java similarity index 96% rename from plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/parser/GdbPType.java rename to plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbPType.java index 5f90a796bb4..a73fc9cee1e 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/parser/GdbPType.java +++ b/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbPType.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.gdb.server.parser; +package org.eclipse.che.plugin.gdb.server.parser; import java.util.regex.Matcher; import java.util.regex.Pattern; diff --git a/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/parser/GdbParseException.java b/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbParseException.java similarity index 95% rename from plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/parser/GdbParseException.java rename to plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbParseException.java index 27df49e5e25..baf13a8a3eb 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/parser/GdbParseException.java +++ b/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbParseException.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.gdb.server.parser; +package org.eclipse.che.plugin.gdb.server.parser; import static java.lang.Math.min; diff --git a/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/parser/GdbPrint.java b/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbPrint.java similarity index 96% rename from plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/parser/GdbPrint.java rename to plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbPrint.java index d7d9a43c224..cb261f4c090 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/parser/GdbPrint.java +++ b/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbPrint.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.gdb.server.parser; +package org.eclipse.che.plugin.gdb.server.parser; import java.util.regex.Matcher; import java.util.regex.Pattern; diff --git a/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/parser/GdbRun.java b/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbRun.java similarity index 72% rename from plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/parser/GdbRun.java rename to plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbRun.java index 92da9303c59..89ed1156c3d 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/parser/GdbRun.java +++ b/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbRun.java @@ -8,12 +8,13 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.gdb.server.parser; +package org.eclipse.che.plugin.gdb.server.parser; +import org.eclipse.che.api.debugger.shared.model.Breakpoint; +import org.eclipse.che.api.debugger.shared.model.Location; +import org.eclipse.che.api.debugger.shared.model.impl.BreakpointImpl; +import org.eclipse.che.api.debugger.shared.model.impl.LocationImpl; import org.eclipse.che.commons.annotation.Nullable; -import org.eclipse.che.dto.server.DtoFactory; -import org.eclipse.che.ide.ext.debugger.shared.Breakpoint; -import org.eclipse.che.ide.ext.debugger.shared.Location; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -50,14 +51,8 @@ public static GdbRun parse(GdbOutput gdbOutput) throws GdbParseException { String file = matcher.group(1); String lineNumber = matcher.group(2); - Location location = DtoFactory.newDto(Location.class); - location.setClassName(file); - location.setLineNumber(Integer.parseInt(lineNumber)); - - Breakpoint breakpoint = DtoFactory.newDto(Breakpoint.class); - breakpoint.setLocation(location); - - return new GdbRun(breakpoint); + Location location = new LocationImpl(file, Integer.parseInt(lineNumber)); + return new GdbRun(new BreakpointImpl(location)); } } diff --git a/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/parser/GdbTargetRemote.java b/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbTargetRemote.java similarity index 96% rename from plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/parser/GdbTargetRemote.java rename to plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbTargetRemote.java index c49693ce73b..6f85c56b9c5 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/parser/GdbTargetRemote.java +++ b/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbTargetRemote.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.gdb.server.parser; +package org.eclipse.che.plugin.gdb.server.parser; import java.util.regex.Matcher; import java.util.regex.Pattern; diff --git a/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/parser/GdbVersion.java b/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbVersion.java similarity index 96% rename from plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/parser/GdbVersion.java rename to plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbVersion.java index 247b399878b..87d8b73baea 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/parser/GdbVersion.java +++ b/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbVersion.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.gdb.server.parser; +package org.eclipse.che.plugin.gdb.server.parser; import java.util.regex.Matcher; import java.util.regex.Pattern; diff --git a/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/ide/gdb/server/GdbDebuggerTest.java b/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/ide/gdb/server/GdbDebuggerTest.java deleted file mode 100644 index f62296f221c..00000000000 --- a/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/ide/gdb/server/GdbDebuggerTest.java +++ /dev/null @@ -1,249 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2012-2016 Codenvy, S.A. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Codenvy, S.A. - initial API and implementation - *******************************************************************************/ -package org.eclipse.che.ide.gdb.server; - -import org.eclipse.che.dto.server.DtoFactory; -import org.eclipse.che.ide.ext.debugger.shared.Breakpoint; -import org.eclipse.che.ide.ext.debugger.shared.BreakpointActivatedEvent; -import org.eclipse.che.ide.ext.debugger.shared.BreakpointEvent; -import org.eclipse.che.ide.ext.debugger.shared.DebuggerEvent; -import org.eclipse.che.ide.ext.debugger.shared.DebuggerEventList; -import org.eclipse.che.ide.ext.debugger.shared.Location; -import org.eclipse.che.ide.ext.debugger.shared.StackFrameDump; -import org.eclipse.che.ide.ext.debugger.shared.StepEvent; -import org.eclipse.che.ide.ext.debugger.shared.Value; -import org.testng.annotations.AfterMethod; -import org.testng.annotations.BeforeClass; -import org.testng.annotations.BeforeMethod; -import org.testng.annotations.Test; - -import java.nio.file.Path; -import java.nio.file.Paths; -import java.util.List; -import java.util.concurrent.ArrayBlockingQueue; -import java.util.concurrent.BlockingQueue; - -import static org.mockito.Matchers.any; -import static org.mockito.Mockito.doAnswer; -import static org.mockito.Mockito.spy; -import static org.testng.Assert.assertEquals; -import static org.testng.Assert.assertNotNull; -import static org.testng.Assert.assertTrue; - -/** - * @author Anatoliy Bazko - */ -public class GdbDebuggerTest { - - private String file; - private Path sourceDirectory; - private GdbServer gdbServer; - private GdbDebugger gdbDebugger; - private BlockingQueue events; - - @BeforeClass - public void beforeClass() throws Exception { - file = GdbTest.class.getResource("/hello").getFile(); - sourceDirectory = Paths.get(GdbTest.class.getResource("/h.cpp").getFile()); - events = new ArrayBlockingQueue<>(10); - } - - @BeforeMethod - public void setUp() throws Exception { - gdbServer = GdbServer.start("localhost", 1111, file); - } - - @AfterMethod - public void tearDown() throws Exception { - gdbServer.stop(); - } - - @Test - public void testDebugger() throws Exception { - initializeDebugger(); - addBreakpoint(); - startDebugger(); - doSetAndGetValues(); -// stepInto(); - stepOver(); - stepOut(); - resume(); - deleteAllBreakpoints(); - disconnect(); - } - - private void deleteAllBreakpoints() throws GdbDebuggerException { - List breakpoints = gdbDebugger.getBreakpoints().getBreakpoints(); - assertEquals(breakpoints.size(), 1); - - gdbDebugger.deleteAllBreakPoints(); - - breakpoints = gdbDebugger.getBreakpoints().getBreakpoints(); - assertTrue(breakpoints.isEmpty()); - } - - private void resume() throws GdbDebuggerException, InterruptedException { - gdbDebugger.resume(); - - DebuggerEvent debuggerEvent = events.take(); - assertTrue(debuggerEvent instanceof BreakpointEvent); - - BreakpointEvent breakpointEvent = (BreakpointEvent)debuggerEvent; - assertEquals(breakpointEvent.getBreakpoint().getLocation().getClassName(), "h.cpp"); - assertEquals(breakpointEvent.getBreakpoint().getLocation().getLineNumber(), 7); - } - - private void stepOut() throws GdbDebuggerException { - try { - gdbDebugger.stepOut(); - } catch (GdbDebuggerException e) { - // ignore - } - - assertTrue(events.isEmpty()); - } - - private void stepOver() throws GdbDebuggerException, InterruptedException { - gdbDebugger.stepOver(); - - DebuggerEvent debuggerEvent = events.take(); - assertTrue(debuggerEvent instanceof StepEvent); - - StepEvent stepEvent = (StepEvent)debuggerEvent; - assertEquals(stepEvent.getLocation().getClassName(), "h.cpp"); - assertEquals(stepEvent.getLocation().getLineNumber(), 5); - - gdbDebugger.stepOver(); - - debuggerEvent = events.take(); - assertTrue(debuggerEvent instanceof StepEvent); - - stepEvent = (StepEvent)debuggerEvent; - assertEquals(stepEvent.getLocation().getClassName(), "h.cpp"); - assertEquals(stepEvent.getLocation().getLineNumber(), 6); - - gdbDebugger.stepOver(); - - debuggerEvent = events.take(); - assertTrue(debuggerEvent instanceof StepEvent); - - stepEvent = (StepEvent)debuggerEvent; - assertEquals(stepEvent.getLocation().getClassName(), "h.cpp"); - assertEquals(stepEvent.getLocation().getLineNumber(), 7); - } - - private void stepInto() throws GdbDebuggerException, InterruptedException { - gdbDebugger.stepInto(); - - DebuggerEvent debuggerEvent = events.take(); - assertTrue(debuggerEvent instanceof StepEvent); - - StepEvent stepEvent = (StepEvent)debuggerEvent; - assertNotNull(stepEvent.getLocation()); - - gdbDebugger.stepInto(); - - debuggerEvent = events.take(); - assertTrue(debuggerEvent instanceof StepEvent); - - stepEvent = (StepEvent)debuggerEvent; - assertNotNull(stepEvent.getLocation()); - - gdbDebugger.stepInto(); - - debuggerEvent = events.take(); - assertTrue(debuggerEvent instanceof StepEvent); - - stepEvent = (StepEvent)debuggerEvent; - assertNotNull(stepEvent.getLocation()); - } - - private void doSetAndGetValues() throws GdbDebuggerException { - Value value = gdbDebugger.getValue("i"); - assertEquals(value.getValue(), "0"); - - gdbDebugger.setValue("i", "2"); - value = gdbDebugger.getValue("i"); - - assertEquals(value.getValue(), "2"); - - String expression = gdbDebugger.expression("i"); - assertEquals(expression, "2"); - - expression = gdbDebugger.expression("10 + 10"); - assertEquals(expression, "20"); - - StackFrameDump stackFrameDump = gdbDebugger.dumpStackFrame(); - assertTrue(stackFrameDump.getFields().isEmpty()); - assertEquals(stackFrameDump.getLocalVariables().size(), 1); - assertEquals(stackFrameDump.getLocalVariables().get(0).getName(), "i"); - assertEquals(stackFrameDump.getLocalVariables().get(0).getValue(), "2"); - assertEquals(stackFrameDump.getLocalVariables().get(0).getType(), "int"); - } - - private void startDebugger() throws GdbDebuggerException, InterruptedException { - gdbDebugger.start(); - - assertEquals(events.size(), 1); - - DebuggerEvent debuggerEvent = events.take(); - assertTrue(debuggerEvent instanceof BreakpointEvent); - - BreakpointEvent breakpointEvent = (BreakpointEvent)debuggerEvent; - assertEquals(breakpointEvent.getBreakpoint().getLocation().getClassName(), "h.cpp"); - assertEquals(breakpointEvent.getBreakpoint().getLocation().getLineNumber(), 7); - } - - private void disconnect() throws GdbDebuggerException, InterruptedException { - gdbDebugger.disconnect(); - - assertEquals(events.size(), 1); - - DebuggerEvent debuggerEvent = events.take(); - assertTrue(debuggerEvent instanceof DebuggerEvent); - } - - private void addBreakpoint() throws GdbDebuggerException, InterruptedException { - Location location = DtoFactory.newDto(Location.class); - location.setClassName("h.cpp"); - location.setLineNumber(7); - - Breakpoint breakpoint = DtoFactory.newDto(Breakpoint.class); - breakpoint.setLocation(location); - gdbDebugger.addBreakpoint(breakpoint); - - assertEquals(events.size(), 1); - - DebuggerEvent debuggerEvent = events.take(); - assertTrue(debuggerEvent instanceof BreakpointActivatedEvent); - - BreakpointActivatedEvent breakpointActivatedEvent = (BreakpointActivatedEvent)debuggerEvent; - assertEquals(breakpointActivatedEvent.getBreakpoint().getLocation().getClassName(), "h.cpp"); - assertEquals(breakpointActivatedEvent.getBreakpoint().getLocation().getLineNumber(), 7); - } - - private void initializeDebugger() throws GdbDebuggerException { - gdbDebugger = spy(GdbDebugger.newInstance("localhost", 1111, file, sourceDirectory.getParent().toString())); - - doAnswer(invocation -> { - DebuggerEventList eventList = (DebuggerEventList)invocation.getArguments()[0]; - events.addAll(eventList.getEvents()); - return null; - }).when(gdbDebugger).publishWebSocketMessage(any(), any()); - - assertEquals(gdbDebugger.getFile(), file); - assertEquals(gdbDebugger.getHost(), "localhost"); - assertEquals(gdbDebugger.getPort(), 1111); - assertNotNull(gdbDebugger.getVersion()); - assertNotNull(gdbDebugger.getName()); - assertNotNull(gdbDebugger.getId(), "1"); - } -} \ No newline at end of file diff --git a/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/GdbDebuggerTest.java b/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/GdbDebuggerTest.java new file mode 100644 index 00000000000..d867006348e --- /dev/null +++ b/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/GdbDebuggerTest.java @@ -0,0 +1,239 @@ +/******************************************************************************* + * Copyright (c) 2012-2016 Codenvy, S.A. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Codenvy, S.A. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.plugin.gdb.server; + +import com.google.common.collect.ImmutableMap; + +import org.eclipse.che.api.debugger.server.Debugger; +import org.eclipse.che.api.debugger.server.exceptions.DebuggerException; +import org.eclipse.che.api.debugger.shared.model.Breakpoint; +import org.eclipse.che.api.debugger.shared.model.DebuggerInfo; +import org.eclipse.che.api.debugger.shared.model.Location; +import org.eclipse.che.api.debugger.shared.model.StackFrameDump; +import org.eclipse.che.api.debugger.shared.model.Value; +import org.eclipse.che.api.debugger.shared.model.Variable; +import org.eclipse.che.api.debugger.shared.model.VariablePath; +import org.eclipse.che.api.debugger.shared.model.event.BreakpointActivatedEvent; +import org.eclipse.che.api.debugger.shared.model.event.DebuggerEvent; +import org.eclipse.che.api.debugger.shared.model.event.DisconnectEvent; +import org.eclipse.che.api.debugger.shared.model.event.SuspendEvent; +import org.eclipse.che.api.debugger.shared.model.impl.BreakpointImpl; +import org.eclipse.che.api.debugger.shared.model.impl.LocationImpl; +import org.eclipse.che.api.debugger.shared.model.impl.VariableImpl; +import org.eclipse.che.api.debugger.shared.model.impl.VariablePathImpl; +import org.eclipse.che.api.debugger.shared.model.impl.action.ResumeActionImpl; +import org.eclipse.che.api.debugger.shared.model.impl.action.StartActionImpl; +import org.eclipse.che.api.debugger.shared.model.impl.action.StepOutActionImpl; +import org.eclipse.che.api.debugger.shared.model.impl.action.StepOverActionImpl; +import org.testng.annotations.AfterMethod; +import org.testng.annotations.BeforeClass; +import org.testng.annotations.BeforeMethod; +import org.testng.annotations.Test; + +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.concurrent.ArrayBlockingQueue; +import java.util.concurrent.BlockingQueue; + +import static org.testng.Assert.assertEquals; +import static org.testng.Assert.assertNotNull; +import static org.testng.Assert.assertTrue; + +/** + * @author Anatoliy Bazko + */ +public class GdbDebuggerTest { + + private String file; + private Path sourceDirectory; + private GdbServer gdbServer; + private Debugger gdbDebugger; + private BlockingQueue events; + + @BeforeClass + public void beforeClass() throws Exception { + file = GdbTest.class.getResource("/hello").getFile(); + sourceDirectory = Paths.get(GdbTest.class.getResource("/h.cpp").getFile()); + events = new ArrayBlockingQueue<>(10); + } + + @BeforeMethod + public void setUp() throws Exception { + gdbServer = GdbServer.start("localhost", 1111, file); + } + + @AfterMethod + public void tearDown() throws Exception { + gdbServer.stop(); + } + + @Test + public void testDebugger() throws Exception { + initializeDebugger(); + addBreakpoint(); + startDebugger(); + doSetAndGetValues(); +// stepInto(); + stepOver(); + stepOut(); + resume(); + deleteAllBreakpoints(); + disconnect(); + } + + private void deleteAllBreakpoints() throws DebuggerException { + List breakpoints = gdbDebugger.getAllBreakpoints(); + assertEquals(breakpoints.size(), 1); + + gdbDebugger.deleteAllBreakpoints(); + + breakpoints = gdbDebugger.getAllBreakpoints(); + assertTrue(breakpoints.isEmpty()); + } + + private void resume() throws DebuggerException, InterruptedException { + gdbDebugger.resume(new ResumeActionImpl()); + + DebuggerEvent debuggerEvent = events.take(); + assertTrue(debuggerEvent instanceof SuspendEvent); + + SuspendEvent suspendEvent = (SuspendEvent)debuggerEvent; + assertEquals(suspendEvent.getLocation().getTarget(), "h.cpp"); + assertEquals(suspendEvent.getLocation().getLineNumber(), 7); + } + + private void stepOut() throws DebuggerException, InterruptedException { + try { + gdbDebugger.stepOut(new StepOutActionImpl()); + } catch (DebuggerException e) { + // ignore + } + + DebuggerEvent debuggerEvent = events.take(); + assertTrue(debuggerEvent instanceof SuspendEvent); + } + + private void stepOver() throws DebuggerException, InterruptedException { + gdbDebugger.stepOver(new StepOverActionImpl()); + + DebuggerEvent debuggerEvent = events.take(); + assertTrue(debuggerEvent instanceof SuspendEvent); + + SuspendEvent suspendEvent = (SuspendEvent)debuggerEvent; + assertEquals(suspendEvent.getLocation().getTarget(), "h.cpp"); + assertEquals(suspendEvent.getLocation().getLineNumber(), 5); + + gdbDebugger.stepOver(new StepOverActionImpl()); + + debuggerEvent = events.take(); + assertTrue(debuggerEvent instanceof SuspendEvent); + + suspendEvent = (SuspendEvent)debuggerEvent; + assertEquals(suspendEvent.getLocation().getTarget(), "h.cpp"); + assertEquals(suspendEvent.getLocation().getLineNumber(), 6); + + gdbDebugger.stepOver(new StepOverActionImpl()); + + debuggerEvent = events.take(); + assertTrue(debuggerEvent instanceof SuspendEvent); + + suspendEvent = (SuspendEvent)debuggerEvent; + assertEquals(suspendEvent.getLocation().getTarget(), "h.cpp"); + assertEquals(suspendEvent.getLocation().getLineNumber(), 7); + } + + private void doSetAndGetValues() throws DebuggerException { + VariablePath variablePath = new VariablePathImpl("i"); + Variable variable = new VariableImpl("int", "i", "2", true, variablePath, Collections.emptyList(), false); + + Value value = gdbDebugger.getValue(variablePath); + assertEquals(value.getValue(), "0"); + + gdbDebugger.setValue(variable); + + value = gdbDebugger.getValue(variablePath); + + assertEquals(value.getValue(), "2"); + + String expression = gdbDebugger.evaluate("i"); + assertEquals(expression, "2"); + + expression = gdbDebugger.evaluate("10 + 10"); + assertEquals(expression, "20"); + + StackFrameDump stackFrameDump = gdbDebugger.dumpStackFrame(); + assertTrue(stackFrameDump.getFields().isEmpty()); + assertEquals(stackFrameDump.getVariables().size(), 1); + assertEquals(stackFrameDump.getVariables().get(0).getName(), "i"); + assertEquals(stackFrameDump.getVariables().get(0).getValue(), "2"); + assertEquals(stackFrameDump.getVariables().get(0).getType(), "int"); + } + + private void startDebugger() throws DebuggerException, InterruptedException { + gdbDebugger.start(new StartActionImpl()); + + assertEquals(events.size(), 1); + + DebuggerEvent debuggerEvent = events.take(); + assertTrue(debuggerEvent instanceof SuspendEvent); + + SuspendEvent suspendEvent = (SuspendEvent)debuggerEvent; + assertEquals(suspendEvent.getLocation().getTarget(), "h.cpp"); + assertEquals(suspendEvent.getLocation().getLineNumber(), 7); + } + + private void disconnect() throws DebuggerException, InterruptedException { + gdbDebugger.disconnect(); + + assertEquals(events.size(), 1); + + DebuggerEvent debuggerEvent = events.take(); + assertTrue(debuggerEvent instanceof DisconnectEvent); + } + + private void addBreakpoint() throws DebuggerException, InterruptedException { + Location location = new LocationImpl("h.cpp", 7); + Breakpoint breakpoint = new BreakpointImpl(location); + + gdbDebugger.addBreakpoint(breakpoint); + + assertEquals(events.size(), 1); + + DebuggerEvent debuggerEvent = events.take(); + assertTrue(debuggerEvent instanceof BreakpointActivatedEvent); + + BreakpointActivatedEvent breakpointActivatedEvent = (BreakpointActivatedEvent)debuggerEvent; + assertEquals(breakpointActivatedEvent.getBreakpoint().getLocation().getTarget(), "h.cpp"); + assertEquals(breakpointActivatedEvent.getBreakpoint().getLocation().getLineNumber(), 7); + } + + private void initializeDebugger() throws DebuggerException { + Map properties = ImmutableMap.of("host", "localhost", + "port", "1111", + "binary", file, + "sources", sourceDirectory.getParent().toString()); + + GdbDebuggerFactory gdbDebuggerFactory = new GdbDebuggerFactory(); + gdbDebugger = gdbDebuggerFactory.create(properties, events::add); + + + DebuggerInfo debuggerInfo = gdbDebugger.getInfo(); + + assertEquals(debuggerInfo.getFile(), file); + assertEquals(debuggerInfo.getHost(), "localhost"); + assertEquals(debuggerInfo.getPort(), 1111); + assertNotNull(debuggerInfo.getName()); + assertNotNull(debuggerInfo.getVersion()); + } +} diff --git a/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/ide/gdb/server/GdbServer.java b/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/GdbServer.java similarity index 93% rename from plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/ide/gdb/server/GdbServer.java rename to plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/GdbServer.java index 5ba7d596309..3170e398c3e 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/ide/gdb/server/GdbServer.java +++ b/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/GdbServer.java @@ -8,9 +8,9 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.gdb.server; +package org.eclipse.che.plugin.gdb.server; -import org.eclipse.che.ide.gdb.server.parser.GdbParseException; +import org.eclipse.che.plugin.gdb.server.parser.GdbParseException; import java.io.IOException; diff --git a/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/ide/gdb/server/GdbTest.java b/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/GdbTest.java similarity index 86% rename from plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/ide/gdb/server/GdbTest.java rename to plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/GdbTest.java index f122b41e4b1..195f40c023d 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/ide/gdb/server/GdbTest.java +++ b/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/GdbTest.java @@ -8,17 +8,17 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.gdb.server; - -import org.eclipse.che.ide.ext.debugger.shared.Breakpoint; -import org.eclipse.che.ide.gdb.server.parser.GdbContinue; -import org.eclipse.che.ide.gdb.server.parser.GdbInfoBreak; -import org.eclipse.che.ide.gdb.server.parser.GdbInfoLine; -import org.eclipse.che.ide.gdb.server.parser.GdbInfoProgram; -import org.eclipse.che.ide.gdb.server.parser.GdbPType; -import org.eclipse.che.ide.gdb.server.parser.GdbParseException; -import org.eclipse.che.ide.gdb.server.parser.GdbPrint; -import org.eclipse.che.ide.gdb.server.parser.GdbRun; +package org.eclipse.che.plugin.gdb.server; + +import org.eclipse.che.api.debugger.shared.model.Breakpoint; +import org.eclipse.che.plugin.gdb.server.parser.GdbContinue; +import org.eclipse.che.plugin.gdb.server.parser.GdbInfoBreak; +import org.eclipse.che.plugin.gdb.server.parser.GdbInfoLine; +import org.eclipse.che.plugin.gdb.server.parser.GdbInfoProgram; +import org.eclipse.che.plugin.gdb.server.parser.GdbPType; +import org.eclipse.che.plugin.gdb.server.parser.GdbParseException; +import org.eclipse.che.plugin.gdb.server.parser.GdbPrint; +import org.eclipse.che.plugin.gdb.server.parser.GdbRun; import org.testng.annotations.AfterMethod; import org.testng.annotations.BeforeClass; import org.testng.annotations.BeforeMethod; @@ -90,7 +90,7 @@ public void testTargetRemote() throws Exception { Breakpoint breakpoint = gdbContinue.getBreakpoint(); assertNotNull(breakpoint); - assertEquals(breakpoint.getLocation().getClassName(), "h.cpp"); + assertEquals(breakpoint.getLocation().getTarget(), "h.cpp"); assertEquals(breakpoint.getLocation().getLineNumber(), 7); } finally { gdbServer.stop(); @@ -149,7 +149,7 @@ public void testInfoLine() throws Exception { assertNotNull(gdbInfoLine.getLocation()); assertEquals(gdbInfoLine.getLocation().getLineNumber(), 7); - assertEquals(gdbInfoLine.getLocation().getClassName(), "h.cpp"); + assertEquals(gdbInfoLine.getLocation().getTarget(), "h.cpp"); } @Test @@ -175,13 +175,13 @@ public void testNext() throws Exception { assertNotNull(gdbInfoLine.getLocation()); assertEquals(gdbInfoLine.getLocation().getLineNumber(), 5); - assertEquals(gdbInfoLine.getLocation().getClassName(), "h.cpp"); + assertEquals(gdbInfoLine.getLocation().getTarget(), "h.cpp"); gdbInfoLine = gdb.next(); assertNotNull(gdbInfoLine.getLocation()); assertEquals(gdbInfoLine.getLocation().getLineNumber(), 6); - assertEquals(gdbInfoLine.getLocation().getClassName(), "h.cpp"); + assertEquals(gdbInfoLine.getLocation().getTarget(), "h.cpp"); } @Test diff --git a/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/ide/gdb/server/parser/GdbBreakTest.java b/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/parser/GdbBreakTest.java similarity index 96% rename from plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/ide/gdb/server/parser/GdbBreakTest.java rename to plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/parser/GdbBreakTest.java index 728d82de445..37bead08f0a 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/ide/gdb/server/parser/GdbBreakTest.java +++ b/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/parser/GdbBreakTest.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.gdb.server.parser; +package org.eclipse.che.plugin.gdb.server.parser; import org.testng.annotations.Test; @@ -37,4 +37,4 @@ public void testParseFail() throws Exception { GdbOutput gdbOutput = GdbOutput.of("some text"); GdbBreak.parse(gdbOutput); } -} \ No newline at end of file +} diff --git a/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/ide/gdb/server/parser/GdbClearTest.java b/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/parser/GdbClearTest.java similarity index 95% rename from plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/ide/gdb/server/parser/GdbClearTest.java rename to plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/parser/GdbClearTest.java index f1eb3197fdc..0d10e1931f1 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/ide/gdb/server/parser/GdbClearTest.java +++ b/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/parser/GdbClearTest.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.gdb.server.parser; +package org.eclipse.che.plugin.gdb.server.parser; import org.testng.annotations.Test; @@ -29,4 +29,4 @@ public void testParseFail() throws Exception { GdbOutput gdbOutput = GdbOutput.of("some text"); GdbClear.parse(gdbOutput); } -} \ No newline at end of file +} diff --git a/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/ide/gdb/server/parser/GdbDeleteTest.java b/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/parser/GdbDeleteTest.java similarity index 95% rename from plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/ide/gdb/server/parser/GdbDeleteTest.java rename to plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/parser/GdbDeleteTest.java index f373a0cc088..14dba0ec2cd 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/ide/gdb/server/parser/GdbDeleteTest.java +++ b/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/parser/GdbDeleteTest.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.gdb.server.parser; +package org.eclipse.che.plugin.gdb.server.parser; import org.testng.annotations.Test; @@ -30,4 +30,4 @@ public void testParseFail() throws Exception { GdbDelete.parse(gdbOutput); } -} \ No newline at end of file +} diff --git a/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/ide/gdb/server/parser/GdbDirectoryTest.java b/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/parser/GdbDirectoryTest.java similarity index 96% rename from plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/ide/gdb/server/parser/GdbDirectoryTest.java rename to plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/parser/GdbDirectoryTest.java index d6509dbee9e..df622194534 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/ide/gdb/server/parser/GdbDirectoryTest.java +++ b/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/parser/GdbDirectoryTest.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.gdb.server.parser; +package org.eclipse.che.plugin.gdb.server.parser; import org.testng.annotations.Test; @@ -34,4 +34,4 @@ public void testParseFail() throws Exception { "Source directories searched: /home/tolusha/java/gdb/343:$cdir:$cwd\n"); GdbDirectory.parse(gdbOutput); } -} \ No newline at end of file +} diff --git a/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/ide/gdb/server/parser/GdbFileTest.java b/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/parser/GdbFileTest.java similarity index 95% rename from plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/ide/gdb/server/parser/GdbFileTest.java rename to plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/parser/GdbFileTest.java index 9912b5f5723..0d7aac36860 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/ide/gdb/server/parser/GdbFileTest.java +++ b/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/parser/GdbFileTest.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.gdb.server.parser; +package org.eclipse.che.plugin.gdb.server.parser; import org.testng.annotations.Test; @@ -33,4 +33,4 @@ public void testParseFail() throws Exception { GdbOutput gdbOutput = GdbOutput.of("some text"); GdbFile.parse(gdbOutput); } -} \ No newline at end of file +} diff --git a/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/ide/gdb/server/parser/GdbInfoArgsTest.java b/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/parser/GdbInfoArgsTest.java similarity index 95% rename from plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/ide/gdb/server/parser/GdbInfoArgsTest.java rename to plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/parser/GdbInfoArgsTest.java index 63a846768f6..2ab9edcd6c0 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/ide/gdb/server/parser/GdbInfoArgsTest.java +++ b/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/parser/GdbInfoArgsTest.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.gdb.server.parser; +package org.eclipse.che.plugin.gdb.server.parser; import org.testng.annotations.Test; @@ -32,4 +32,4 @@ public void testParse() throws Exception { assertEquals(variables.get("i"), "0"); assertEquals(variables.get("j"), "34"); } -} \ No newline at end of file +} diff --git a/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/ide/gdb/server/parser/GdbInfoBreakTest.java b/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/parser/GdbInfoBreakTest.java similarity index 85% rename from plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/ide/gdb/server/parser/GdbInfoBreakTest.java rename to plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/parser/GdbInfoBreakTest.java index 1a2d1615112..ab11fdd1ec0 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/ide/gdb/server/parser/GdbInfoBreakTest.java +++ b/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/parser/GdbInfoBreakTest.java @@ -8,9 +8,9 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.gdb.server.parser; +package org.eclipse.che.plugin.gdb.server.parser; -import org.eclipse.che.ide.ext.debugger.shared.Breakpoint; +import org.eclipse.che.api.debugger.shared.model.Breakpoint; import org.testng.annotations.Test; import java.util.List; @@ -34,11 +34,11 @@ public void testParse() throws Exception { assertEquals(breakpoints.size(), 2); Breakpoint breakpoint = breakpoints.get(0); - assertEquals(breakpoint.getLocation().getClassName(), "h.cpp"); + assertEquals(breakpoint.getLocation().getTarget(), "h.cpp"); assertEquals(breakpoint.getLocation().getLineNumber(), 7); breakpoint = breakpoints.get(1); - assertEquals(breakpoint.getLocation().getClassName(), "h.cpp"); + assertEquals(breakpoint.getLocation().getTarget(), "h.cpp"); assertEquals(breakpoint.getLocation().getLineNumber(), 8); } -} \ No newline at end of file +} diff --git a/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/ide/gdb/server/parser/GdbInfoLineTest.java b/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/parser/GdbInfoLineTest.java similarity index 85% rename from plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/ide/gdb/server/parser/GdbInfoLineTest.java rename to plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/parser/GdbInfoLineTest.java index 46abc2b4a01..77e2c2d2abb 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/ide/gdb/server/parser/GdbInfoLineTest.java +++ b/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/parser/GdbInfoLineTest.java @@ -8,9 +8,9 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.gdb.server.parser; +package org.eclipse.che.plugin.gdb.server.parser; -import org.eclipse.che.ide.ext.debugger.shared.Location; +import org.eclipse.che.api.debugger.shared.model.Location; import org.testng.annotations.Test; import static org.testng.Assert.assertEquals; @@ -27,7 +27,7 @@ public void testParse1() throws Exception { GdbInfoLine gdbInfoLine = GdbInfoLine.parse(gdbOutput); Location location = gdbInfoLine.getLocation(); - assertEquals(location.getClassName(), "h.cpp"); + assertEquals(location.getTarget(), "h.cpp"); assertEquals(location.getLineNumber(), 6); } @@ -40,7 +40,7 @@ public void testParse2() throws Exception { GdbInfoLine gdbInfoLine = GdbInfoLine.parse(gdbOutput); Location location = gdbInfoLine.getLocation(); - assertEquals(location.getClassName(), "/usr/src/debug/gcc-4.8.3-20140911/obj-x86_64-redhat-linux/x86_64-redhat-linux/libstdc++-v3/include/ostream"); + assertEquals(location.getTarget(), "/usr/src/debug/gcc-4.8.3-20140911/obj-x86_64-redhat-linux/x86_64-redhat-linux/libstdc++-v3/include/ostream"); assertEquals(location.getLineNumber(), 530); } } diff --git a/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/ide/gdb/server/parser/GdbInfoLocalsTest.java b/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/parser/GdbInfoLocalsTest.java similarity index 95% rename from plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/ide/gdb/server/parser/GdbInfoLocalsTest.java rename to plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/parser/GdbInfoLocalsTest.java index 982aa9c6567..8c26bffdad6 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/ide/gdb/server/parser/GdbInfoLocalsTest.java +++ b/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/parser/GdbInfoLocalsTest.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.gdb.server.parser; +package org.eclipse.che.plugin.gdb.server.parser; import org.testng.annotations.Test; @@ -32,4 +32,4 @@ public void testParse() throws Exception { assertEquals(variables.get("i"), "0"); assertEquals(variables.get("j"), "34"); } -} \ No newline at end of file +} diff --git a/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/ide/gdb/server/parser/GdbInfoProgramTest.java b/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/parser/GdbInfoProgramTest.java similarity index 96% rename from plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/ide/gdb/server/parser/GdbInfoProgramTest.java rename to plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/parser/GdbInfoProgramTest.java index 75f0b8b8fba..f2345b08b9b 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/ide/gdb/server/parser/GdbInfoProgramTest.java +++ b/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/parser/GdbInfoProgramTest.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.gdb.server.parser; +package org.eclipse.che.plugin.gdb.server.parser; import org.testng.annotations.Test; diff --git a/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/ide/gdb/server/parser/GdbPTypeTest.java b/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/parser/GdbPTypeTest.java similarity index 94% rename from plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/ide/gdb/server/parser/GdbPTypeTest.java rename to plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/parser/GdbPTypeTest.java index fffe92f744a..59dc43525b6 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/ide/gdb/server/parser/GdbPTypeTest.java +++ b/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/parser/GdbPTypeTest.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.gdb.server.parser; +package org.eclipse.che.plugin.gdb.server.parser; import org.testng.annotations.Test; @@ -27,4 +27,4 @@ public void testParse() throws Exception { assertEquals(gdbPType.getType(), "int"); } -} \ No newline at end of file +} diff --git a/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/ide/gdb/server/parser/GdbPrintTest.java b/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/parser/GdbPrintTest.java similarity index 95% rename from plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/ide/gdb/server/parser/GdbPrintTest.java rename to plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/parser/GdbPrintTest.java index 85a83563396..fa855143153 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/ide/gdb/server/parser/GdbPrintTest.java +++ b/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/parser/GdbPrintTest.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.gdb.server.parser; +package org.eclipse.che.plugin.gdb.server.parser; import org.testng.annotations.Test; @@ -33,4 +33,4 @@ public void testParseFail() throws Exception { GdbOutput gdbOutput = GdbOutput.of("some text"); GdbPrint.parse(gdbOutput); } -} \ No newline at end of file +} diff --git a/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/ide/gdb/server/parser/GdbRunTest.java b/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/parser/GdbRunTest.java similarity index 88% rename from plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/ide/gdb/server/parser/GdbRunTest.java rename to plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/parser/GdbRunTest.java index 4f6e60a9395..195b1a8806f 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/ide/gdb/server/parser/GdbRunTest.java +++ b/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/parser/GdbRunTest.java @@ -8,9 +8,9 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.gdb.server.parser; +package org.eclipse.che.plugin.gdb.server.parser; -import org.eclipse.che.ide.ext.debugger.shared.Breakpoint; +import org.eclipse.che.api.debugger.shared.model.Breakpoint; import org.testng.annotations.Test; import static org.testng.Assert.assertEquals; @@ -34,7 +34,7 @@ public void testParse() throws Exception { Breakpoint breakpoint = gdbRun.getBreakpoint(); assertNotNull(breakpoint); - assertEquals(breakpoint.getLocation().getClassName(), "h.cpp"); + assertEquals(breakpoint.getLocation().getTarget(), "h.cpp"); assertEquals(breakpoint.getLocation().getLineNumber(), 7); } -} \ No newline at end of file +} diff --git a/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/ide/gdb/server/parser/GdbTargetRemoteTest.java b/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/parser/GdbTargetRemoteTest.java similarity index 96% rename from plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/ide/gdb/server/parser/GdbTargetRemoteTest.java rename to plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/parser/GdbTargetRemoteTest.java index 377d8127ae3..5503e6738a2 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/ide/gdb/server/parser/GdbTargetRemoteTest.java +++ b/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/parser/GdbTargetRemoteTest.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.gdb.server.parser; +package org.eclipse.che.plugin.gdb.server.parser; import org.testng.annotations.Test; @@ -37,4 +37,4 @@ public void testParseFail() throws Exception { GdbOutput gdbOutput = GdbOutput.of("some text"); GdbTargetRemote.parse(gdbOutput); } -} \ No newline at end of file +} diff --git a/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/ide/gdb/server/parser/GdbVersionTest.java b/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/parser/GdbVersionTest.java similarity index 98% rename from plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/ide/gdb/server/parser/GdbVersionTest.java rename to plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/parser/GdbVersionTest.java index 3ecf0fcd21b..a6eb0bf48ee 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/ide/gdb/server/parser/GdbVersionTest.java +++ b/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/parser/GdbVersionTest.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.gdb.server.parser; +package org.eclipse.che.plugin.gdb.server.parser; import org.testng.annotations.Test; @@ -47,4 +47,4 @@ public void testParseFail() throws Exception { GdbOutput gdbOutput = GdbOutput.of("some text"); GdbVersion.parse(gdbOutput); } -} \ No newline at end of file +} diff --git a/plugins/plugin-java-debugger/.gitignore b/plugins/plugin-java-debugger/.gitignore new file mode 100644 index 00000000000..4fe36ee9f75 --- /dev/null +++ b/plugins/plugin-java-debugger/.gitignore @@ -0,0 +1,58 @@ +# Eclipse # +################### + +.classpath +.project +.settings/ +target/ +bin/ +test-output/ + +# Idea # +################## +*.iml +*.ipr +*.iws +.idea/ + +# Compiled source # +################### +*.com +*.class +*.dll +*.exe +*.o +*.so +*.sh + +# Packages # +############ +# it's better to unpack these files and commit the raw source +# git has its own built in compression methods +*.7z +*.dmg +*.gz +*.iso +*.jar +*.rar +*.tar +*.zip +*.war +*.ear + + + +# Logs and databases # +###################### +*.log +*.sql +*.sqlite + +# OS generated files # +###################### +.DS_Store +ehthumbs.db +Icon? +Thumbs.db +*/overlays +*~ \ No newline at end of file diff --git a/plugins/plugin-java-debugger/README.md b/plugins/plugin-java-debugger/README.md new file mode 100644 index 00000000000..b3f1cd77acb --- /dev/null +++ b/plugins/plugin-java-debugger/README.md @@ -0,0 +1 @@ +# plugin-gdb \ No newline at end of file diff --git a/plugins/plugin-java/che-plugin-java-debugger-ide/pom.xml b/plugins/plugin-java-debugger/che-plugin-java-debugger-ide/pom.xml similarity index 96% rename from plugins/plugin-java/che-plugin-java-debugger-ide/pom.xml rename to plugins/plugin-java-debugger/che-plugin-java-debugger-ide/pom.xml index 71f4bbf4904..0d24e85a3c0 100644 --- a/plugins/plugin-java/che-plugin-java-debugger-ide/pom.xml +++ b/plugins/plugin-java-debugger/che-plugin-java-debugger-ide/pom.xml @@ -14,13 +14,13 @@ 4.0.0 - che-plugin-java-parent + che-plugin-java-debugger-parent org.eclipse.che.plugin 4.3.0-RC1-SNAPSHOT che-plugin-java-debugger-ide jar - Che Plugin :: Java :: Extension Debugger Java IDE + Che Plugin :: Java :: Java Debugger IDE com.google.guava @@ -50,6 +50,10 @@ org.eclipse.che.core che-core-api-workspace + + org.eclipse.che.core + che-core-client-gwt-debugger + org.eclipse.che.core che-core-client-gwt-machine @@ -78,10 +82,6 @@ org.eclipse.che.plugin che-plugin-debugger-ide - - org.eclipse.che.plugin - che-plugin-debugger-shared - org.eclipse.che.plugin che-plugin-java-ext-lang-client diff --git a/plugins/plugin-java/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/ide/ext/java/jdi/client/JavaRuntimeExtension.java b/plugins/plugin-java-debugger/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/plugin/jdb/ide/JavaDebuggerExtension.java similarity index 62% rename from plugins/plugin-java/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/ide/ext/java/jdi/client/JavaRuntimeExtension.java rename to plugins/plugin-java-debugger/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/plugin/jdb/ide/JavaDebuggerExtension.java index 573f8c840c2..1a3198de8f5 100644 --- a/plugins/plugin-java/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/ide/ext/java/jdi/client/JavaRuntimeExtension.java +++ b/plugins/plugin-java-debugger/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/plugin/jdb/ide/JavaDebuggerExtension.java @@ -8,17 +8,17 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.java.jdi.client; +package org.eclipse.che.plugin.jdb.ide; import com.google.inject.Inject; import com.google.inject.Singleton; import org.eclipse.che.ide.api.extension.Extension; import org.eclipse.che.ide.debug.DebuggerManager; -import org.eclipse.che.ide.ext.debugger.client.fqn.FqnResolverFactory; -import org.eclipse.che.ide.ext.java.jdi.client.debug.JavaDebugger; -import org.eclipse.che.ide.ext.java.jdi.client.fqn.JavaClassFqnResolver; -import org.eclipse.che.ide.ext.java.jdi.client.fqn.JavaFqnResolver; +import org.eclipse.che.plugin.debugger.ide.fqn.FqnResolverFactory; +import org.eclipse.che.plugin.jdb.ide.debug.JavaDebugger; +import org.eclipse.che.plugin.jdb.ide.fqn.JavaClassFqnResolver; +import org.eclipse.che.plugin.jdb.ide.fqn.JavaFqnResolver; /** * Extension allows debug Java web applications. @@ -31,14 +31,14 @@ */ @Singleton @Extension(title = "Java Debugger", version = "4.1.0") -public class JavaRuntimeExtension { +public class JavaDebuggerExtension { @Inject - public JavaRuntimeExtension(DebuggerManager debuggerManager, - JavaDebugger javaDebugger, - FqnResolverFactory resolverFactory, - JavaFqnResolver javaFqnResolver, - JavaClassFqnResolver javaClassFqnResolver) { + public JavaDebuggerExtension(DebuggerManager debuggerManager, + JavaDebugger javaDebugger, + FqnResolverFactory resolverFactory, + JavaFqnResolver javaFqnResolver, + JavaClassFqnResolver javaClassFqnResolver) { debuggerManager.registeredDebugger(JavaDebugger.ID, javaDebugger); resolverFactory.addResolver("java", javaFqnResolver); resolverFactory.addResolver("class", javaClassFqnResolver); diff --git a/plugins/plugin-java/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/ide/ext/java/jdi/client/JavaRuntimeLocalizationConstant.java b/plugins/plugin-java-debugger/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/plugin/jdb/ide/JavaDebuggerLocalizationConstant.java similarity index 88% rename from plugins/plugin-java/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/ide/ext/java/jdi/client/JavaRuntimeLocalizationConstant.java rename to plugins/plugin-java-debugger/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/plugin/jdb/ide/JavaDebuggerLocalizationConstant.java index f925bbc395f..fe213040977 100644 --- a/plugins/plugin-java/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/ide/ext/java/jdi/client/JavaRuntimeLocalizationConstant.java +++ b/plugins/plugin-java-debugger/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/plugin/jdb/ide/JavaDebuggerLocalizationConstant.java @@ -8,14 +8,14 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.java.jdi.client; +package org.eclipse.che.plugin.jdb.ide; /** * I18n constants for the Debugger extension. * * @author Artem Zatsarynnyi */ -public interface JavaRuntimeLocalizationConstant extends com.google.gwt.i18n.client.Messages { +public interface JavaDebuggerLocalizationConstant extends com.google.gwt.i18n.client.Messages { /* JavaDebugConfigurationPage */ @Key("view.javaDebugConfigurationPage.notice") diff --git a/plugins/plugin-java/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/ide/ext/java/jdi/client/JavaRuntimeResources.java b/plugins/plugin-java-debugger/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/plugin/jdb/ide/JavaDebuggerResources.java similarity index 88% rename from plugins/plugin-java/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/ide/ext/java/jdi/client/JavaRuntimeResources.java rename to plugins/plugin-java-debugger/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/plugin/jdb/ide/JavaDebuggerResources.java index deb06bdf176..2544b2540e5 100644 --- a/plugins/plugin-java/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/ide/ext/java/jdi/client/JavaRuntimeResources.java +++ b/plugins/plugin-java-debugger/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/plugin/jdb/ide/JavaDebuggerResources.java @@ -8,14 +8,14 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.java.jdi.client; +package org.eclipse.che.plugin.jdb.ide; import com.google.gwt.resources.client.ClientBundle; import org.vectomatic.dom.svg.ui.SVGResource; /** @author Artem Zatsarynnyi */ -public interface JavaRuntimeResources extends ClientBundle { +public interface JavaDebuggerResources extends ClientBundle { /** Returns the icon for Java debug configuration type. */ @Source("configuration/java-debug-configuration-type.svg") diff --git a/plugins/plugin-java/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/ide/ext/java/jdi/client/configuration/JavaDebugConfigurationPagePresenter.java b/plugins/plugin-java-debugger/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/plugin/jdb/ide/configuration/JavaDebugConfigurationPagePresenter.java similarity index 98% rename from plugins/plugin-java/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/ide/ext/java/jdi/client/configuration/JavaDebugConfigurationPagePresenter.java rename to plugins/plugin-java-debugger/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/plugin/jdb/ide/configuration/JavaDebugConfigurationPagePresenter.java index f221438264d..4953cfdf591 100644 --- a/plugins/plugin-java/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/ide/ext/java/jdi/client/configuration/JavaDebugConfigurationPagePresenter.java +++ b/plugins/plugin-java-debugger/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/plugin/jdb/ide/configuration/JavaDebugConfigurationPagePresenter.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.java.jdi.client.configuration; +package org.eclipse.che.plugin.jdb.ide.configuration; import com.google.gwt.user.client.ui.AcceptsOneWidget; import com.google.inject.Inject; diff --git a/plugins/plugin-java/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/ide/ext/java/jdi/client/configuration/JavaDebugConfigurationPageView.java b/plugins/plugin-java-debugger/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/plugin/jdb/ide/configuration/JavaDebugConfigurationPageView.java similarity index 96% rename from plugins/plugin-java/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/ide/ext/java/jdi/client/configuration/JavaDebugConfigurationPageView.java rename to plugins/plugin-java-debugger/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/plugin/jdb/ide/configuration/JavaDebugConfigurationPageView.java index cd7ee822009..5309f96aaf6 100644 --- a/plugins/plugin-java/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/ide/ext/java/jdi/client/configuration/JavaDebugConfigurationPageView.java +++ b/plugins/plugin-java-debugger/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/plugin/jdb/ide/configuration/JavaDebugConfigurationPageView.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.java.jdi.client.configuration; +package org.eclipse.che.plugin.jdb.ide.configuration; import org.eclipse.che.ide.api.mvp.View; import org.eclipse.che.ide.util.Pair; diff --git a/plugins/plugin-java/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/ide/ext/java/jdi/client/configuration/JavaDebugConfigurationPageViewImpl.java b/plugins/plugin-java-debugger/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/plugin/jdb/ide/configuration/JavaDebugConfigurationPageViewImpl.java similarity index 98% rename from plugins/plugin-java/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/ide/ext/java/jdi/client/configuration/JavaDebugConfigurationPageViewImpl.java rename to plugins/plugin-java-debugger/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/plugin/jdb/ide/configuration/JavaDebugConfigurationPageViewImpl.java index 0df45d3aa28..63752c68bf8 100644 --- a/plugins/plugin-java/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/ide/ext/java/jdi/client/configuration/JavaDebugConfigurationPageViewImpl.java +++ b/plugins/plugin-java-debugger/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/plugin/jdb/ide/configuration/JavaDebugConfigurationPageViewImpl.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.java.jdi.client.configuration; +package org.eclipse.che.plugin.jdb.ide.configuration; import com.google.gwt.core.client.GWT; import com.google.gwt.event.dom.client.ChangeEvent; diff --git a/plugins/plugin-java/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/ide/ext/java/jdi/client/configuration/JavaDebugConfigurationPageViewImpl.ui.xml b/plugins/plugin-java-debugger/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/plugin/jdb/ide/configuration/JavaDebugConfigurationPageViewImpl.ui.xml similarity index 91% rename from plugins/plugin-java/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/ide/ext/java/jdi/client/configuration/JavaDebugConfigurationPageViewImpl.ui.xml rename to plugins/plugin-java-debugger/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/plugin/jdb/ide/configuration/JavaDebugConfigurationPageViewImpl.ui.xml index 9c35f9184b1..805f6c145b9 100644 --- a/plugins/plugin-java/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/ide/ext/java/jdi/client/configuration/JavaDebugConfigurationPageViewImpl.ui.xml +++ b/plugins/plugin-java-debugger/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/plugin/jdb/ide/configuration/JavaDebugConfigurationPageViewImpl.ui.xml @@ -13,7 +13,7 @@ - + .label { diff --git a/plugins/plugin-java/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/ide/ext/java/jdi/client/configuration/JavaDebugConfigurationType.java b/plugins/plugin-java-debugger/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/plugin/jdb/ide/configuration/JavaDebugConfigurationType.java similarity index 79% rename from plugins/plugin-java/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/ide/ext/java/jdi/client/configuration/JavaDebugConfigurationType.java rename to plugins/plugin-java-debugger/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/plugin/jdb/ide/configuration/JavaDebugConfigurationType.java index 123d3b0a438..e4d1d9491be 100644 --- a/plugins/plugin-java/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/ide/ext/java/jdi/client/configuration/JavaDebugConfigurationType.java +++ b/plugins/plugin-java-debugger/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/plugin/jdb/ide/configuration/JavaDebugConfigurationType.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.java.jdi.client.configuration; +package org.eclipse.che.plugin.jdb.ide.configuration; import com.google.inject.Inject; import com.google.inject.Singleton; @@ -18,9 +18,8 @@ import org.eclipse.che.ide.api.debug.DebugConfigurationType; import org.eclipse.che.ide.api.icon.Icon; import org.eclipse.che.ide.api.icon.IconRegistry; -import org.eclipse.che.ide.ext.java.jdi.client.JavaRuntimeResources; - -import static org.eclipse.che.ide.ext.java.jdi.client.debug.JavaDebugger.ID; +import org.eclipse.che.plugin.jdb.ide.debug.JavaDebugger; +import org.eclipse.che.plugin.jdb.ide.JavaDebuggerResources; /** * Java debug configuration type. @@ -37,14 +36,14 @@ public class JavaDebugConfigurationType implements DebugConfigurationType { @Inject public JavaDebugConfigurationType(JavaDebugConfigurationPagePresenter page, IconRegistry iconRegistry, - JavaRuntimeResources resources) { + JavaDebuggerResources resources) { this.page = page; - iconRegistry.registerIcon(new Icon(ID + ".debug.configuration.type.icon", resources.javaDebugConfigurationType())); + iconRegistry.registerIcon(new Icon(JavaDebugger.ID + ".debug.configuration.type.icon", resources.javaDebugConfigurationType())); } @Override public String getId() { - return ID; + return JavaDebugger.ID; } @Override diff --git a/plugins/plugin-java/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/ide/ext/java/jdi/client/debug/JavaDebugger.java b/plugins/plugin-java-debugger/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/plugin/jdb/ide/debug/JavaDebugger.java similarity index 75% rename from plugins/plugin-java/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/ide/ext/java/jdi/client/debug/JavaDebugger.java rename to plugins/plugin-java-debugger/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/plugin/jdb/ide/debug/JavaDebugger.java index f9f8d23f312..b0fbe9d100a 100644 --- a/plugins/plugin-java/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/ide/ext/java/jdi/client/debug/JavaDebugger.java +++ b/plugins/plugin-java-debugger/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/plugin/jdb/ide/debug/JavaDebugger.java @@ -8,11 +8,13 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.java.jdi.client.debug; +package org.eclipse.che.plugin.jdb.ide.debug; import com.google.inject.Inject; import com.google.web.bindery.event.shared.EventBus; +import org.eclipse.che.api.debugger.gwt.client.DebuggerServiceClient; +import org.eclipse.che.api.debugger.shared.model.Location; import org.eclipse.che.ide.api.app.AppContext; import org.eclipse.che.ide.api.app.CurrentProject; import org.eclipse.che.ide.api.filetypes.FileTypeRegistry; @@ -20,13 +22,12 @@ import org.eclipse.che.ide.debug.DebuggerDescriptor; import org.eclipse.che.ide.debug.DebuggerManager; import org.eclipse.che.ide.dto.DtoFactory; -import org.eclipse.che.ide.ext.debugger.client.debug.AbstractDebugger; -import org.eclipse.che.ide.ext.debugger.client.fqn.FqnResolver; -import org.eclipse.che.ide.ext.debugger.client.fqn.FqnResolverFactory; -import org.eclipse.che.ide.ext.debugger.shared.Location; import org.eclipse.che.ide.ext.java.client.projecttree.JavaSourceFolderUtil; import org.eclipse.che.ide.util.storage.LocalStorageProvider; import org.eclipse.che.ide.websocket.MessageBusProvider; +import org.eclipse.che.plugin.debugger.ide.debug.AbstractDebugger; +import org.eclipse.che.plugin.debugger.ide.fqn.FqnResolver; +import org.eclipse.che.plugin.debugger.ide.fqn.FqnResolverFactory; import javax.validation.constraints.NotNull; import java.util.ArrayList; @@ -34,8 +35,8 @@ import java.util.List; import java.util.Map; -import static org.eclipse.che.ide.ext.java.jdi.client.debug.JavaDebugger.ConnectionProperties.HOST; -import static org.eclipse.che.ide.ext.java.jdi.client.debug.JavaDebugger.ConnectionProperties.PORT; +import static org.eclipse.che.plugin.jdb.ide.debug.JavaDebugger.ConnectionProperties.HOST; +import static org.eclipse.che.plugin.jdb.ide.debug.JavaDebugger.ConnectionProperties.PORT; /** @@ -45,13 +46,12 @@ */ public class JavaDebugger extends AbstractDebugger { - public static final String ID = "java"; - public static final String CHANNEL = "javadebugger:events:"; + public static final String ID = "jdb"; private final AppContext appContext; @Inject - public JavaDebugger(JavaDebuggerServiceClientImpl service, + public JavaDebugger(DebuggerServiceClient service, DtoFactory dtoFactory, LocalStorageProvider localStorageProvider, MessageBusProvider messageBusProvider, @@ -61,8 +61,16 @@ public JavaDebugger(JavaDebuggerServiceClientImpl service, DebuggerManager debuggerManager, FileTypeRegistry fileTypeRegistry, AppContext appContext) { - super(service, dtoFactory, localStorageProvider, messageBusProvider, eventBus, fqnResolverFactory, javaDebuggerFileHandler, - debuggerManager, fileTypeRegistry, ID, CHANNEL); + super(service, + dtoFactory, + localStorageProvider, + messageBusProvider, + eventBus, + fqnResolverFactory, + javaDebuggerFileHandler, + debuggerManager, + fileTypeRegistry, + ID); this.appContext = appContext; } @@ -74,7 +82,7 @@ protected List fqnToPath(@NotNull Location location) { return Collections.emptyList(); } - String pathSuffix = location.getClassName().replace(".", "/") + ".java"; + String pathSuffix = location.getTarget().replace(".", "/") + ".java"; List sourceFolders = JavaSourceFolderUtil.getSourceFolders(currentProject); List filePaths = new ArrayList<>(sourceFolders.size() + 1); @@ -82,7 +90,7 @@ protected List fqnToPath(@NotNull Location location) { for (String sourceFolder : sourceFolders) { filePaths.add(sourceFolder + pathSuffix); } - filePaths.add(location.getClassName()); + filePaths.add(location.getTarget()); return filePaths; } diff --git a/plugins/plugin-java/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/ide/ext/java/jdi/client/debug/JavaDebuggerFileHandler.java b/plugins/plugin-java-debugger/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/plugin/jdb/ide/debug/JavaDebuggerFileHandler.java similarity index 96% rename from plugins/plugin-java/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/ide/ext/java/jdi/client/debug/JavaDebuggerFileHandler.java rename to plugins/plugin-java-debugger/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/plugin/jdb/ide/debug/JavaDebuggerFileHandler.java index 43524448770..b44dc7a84f6 100644 --- a/plugins/plugin-java/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/ide/ext/java/jdi/client/debug/JavaDebuggerFileHandler.java +++ b/plugins/plugin-java-debugger/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/plugin/jdb/ide/debug/JavaDebuggerFileHandler.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.java.jdi.client.debug; +package org.eclipse.che.plugin.jdb.ide.debug; import com.google.gwt.user.client.Timer; import com.google.gwt.user.client.rpc.AsyncCallback; @@ -27,8 +27,7 @@ import org.eclipse.che.ide.api.project.tree.VirtualFile; import org.eclipse.che.ide.debug.DebuggerManager; import org.eclipse.che.ide.dto.DtoFactory; -import org.eclipse.che.ide.ext.debugger.client.debug.ActiveFileHandler; -import org.eclipse.che.ide.ext.debugger.client.debug.DebuggerPresenter; +import org.eclipse.che.plugin.debugger.ide.debug.ActiveFileHandler; import org.eclipse.che.ide.ext.java.client.project.node.JavaNodeManager; import org.eclipse.che.ide.ext.java.client.project.node.jar.JarFileNode; import org.eclipse.che.ide.ext.java.shared.JarEntry; @@ -37,7 +36,6 @@ import org.eclipse.che.ide.api.editor.texteditor.TextEditorPresenter; import org.eclipse.che.ide.part.explorer.project.ProjectExplorerPresenter; import org.eclipse.che.ide.project.node.FileReferenceNode; -import org.eclipse.che.ide.util.loging.Log; import javax.validation.constraints.NotNull; import java.util.List; @@ -120,7 +118,7 @@ private void openFile(@NotNull final String className, final int pathNumber, final AsyncCallback callback) { if (pathNumber == filePaths.size()) { - Log.error(DebuggerPresenter.class, "Can't open resource " + className); + callback.onFailure(new IllegalArgumentException("Can't open resource " + className)); return; } diff --git a/plugins/plugin-java/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/ide/ext/java/jdi/client/fqn/JavaClassFqnResolver.java b/plugins/plugin-java-debugger/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/plugin/jdb/ide/fqn/JavaClassFqnResolver.java similarity index 89% rename from plugins/plugin-java/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/ide/ext/java/jdi/client/fqn/JavaClassFqnResolver.java rename to plugins/plugin-java-debugger/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/plugin/jdb/ide/fqn/JavaClassFqnResolver.java index 9c63e16a024..6e6b91cded3 100644 --- a/plugins/plugin-java/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/ide/ext/java/jdi/client/fqn/JavaClassFqnResolver.java +++ b/plugins/plugin-java-debugger/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/plugin/jdb/ide/fqn/JavaClassFqnResolver.java @@ -8,12 +8,12 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.java.jdi.client.fqn; +package org.eclipse.che.plugin.jdb.ide.fqn; import com.google.inject.Singleton; import org.eclipse.che.ide.api.project.tree.VirtualFile; -import org.eclipse.che.ide.ext.debugger.client.fqn.FqnResolver; +import org.eclipse.che.plugin.debugger.ide.fqn.FqnResolver; import javax.validation.constraints.NotNull; @@ -30,4 +30,4 @@ public class JavaClassFqnResolver implements FqnResolver { public String resolveFqn(@NotNull final VirtualFile file) { return file.getPath(); } -} \ No newline at end of file +} diff --git a/plugins/plugin-java/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/ide/ext/java/jdi/client/fqn/JavaFqnResolver.java b/plugins/plugin-java-debugger/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/plugin/jdb/ide/fqn/JavaFqnResolver.java similarity index 96% rename from plugins/plugin-java/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/ide/ext/java/jdi/client/fqn/JavaFqnResolver.java rename to plugins/plugin-java-debugger/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/plugin/jdb/ide/fqn/JavaFqnResolver.java index 1a6184db7d5..fc1aa98b0d0 100644 --- a/plugins/plugin-java/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/ide/ext/java/jdi/client/fqn/JavaFqnResolver.java +++ b/plugins/plugin-java-debugger/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/plugin/jdb/ide/fqn/JavaFqnResolver.java @@ -8,13 +8,13 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.java.jdi.client.fqn; +package org.eclipse.che.plugin.jdb.ide.fqn; import com.google.inject.Singleton; import org.eclipse.che.ide.api.project.node.HasProjectConfig; import org.eclipse.che.ide.api.project.tree.VirtualFile; -import org.eclipse.che.ide.ext.debugger.client.fqn.FqnResolver; +import org.eclipse.che.plugin.debugger.ide.fqn.FqnResolver; import javax.validation.constraints.NotNull; import java.util.ArrayList; @@ -83,4 +83,4 @@ private List detectSourceFolders(HasProjectConfig projectNode) { return sourceFolders; } -} \ No newline at end of file +} diff --git a/plugins/plugin-java/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/ide/ext/java/jdi/client/inject/JavaRuntimeGinModule.java b/plugins/plugin-java-debugger/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/plugin/jdb/ide/inject/JavaRuntimeGinModule.java similarity index 78% rename from plugins/plugin-java/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/ide/ext/java/jdi/client/inject/JavaRuntimeGinModule.java rename to plugins/plugin-java-debugger/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/plugin/jdb/ide/inject/JavaRuntimeGinModule.java index b5ece3e6232..a18557b1b17 100644 --- a/plugins/plugin-java/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/ide/ext/java/jdi/client/inject/JavaRuntimeGinModule.java +++ b/plugins/plugin-java-debugger/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/plugin/jdb/ide/inject/JavaRuntimeGinModule.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.java.jdi.client.inject; +package org.eclipse.che.plugin.jdb.ide.inject; import com.google.gwt.inject.client.AbstractGinModule; import com.google.gwt.inject.client.multibindings.GinMultibinder; @@ -16,9 +16,9 @@ import org.eclipse.che.ide.api.debug.DebugConfigurationType; import org.eclipse.che.ide.api.extension.ExtensionGinModule; -import org.eclipse.che.ide.ext.java.jdi.client.configuration.JavaDebugConfigurationPageView; -import org.eclipse.che.ide.ext.java.jdi.client.configuration.JavaDebugConfigurationPageViewImpl; -import org.eclipse.che.ide.ext.java.jdi.client.configuration.JavaDebugConfigurationType; +import org.eclipse.che.plugin.jdb.ide.configuration.JavaDebugConfigurationPageView; +import org.eclipse.che.plugin.jdb.ide.configuration.JavaDebugConfigurationPageViewImpl; +import org.eclipse.che.plugin.jdb.ide.configuration.JavaDebugConfigurationType; /** * @author Andrey Plotnikov diff --git a/plugins/plugin-java/che-plugin-java-debugger-ide/src/main/resources/org/eclipse/che/ide/ext/java/jdi/JavaDebuggerExtension.gwt.xml b/plugins/plugin-java-debugger/che-plugin-java-debugger-ide/src/main/resources/org/eclipse/che/plugin/jdb/JavaDebugger.gwt.xml similarity index 90% rename from plugins/plugin-java/che-plugin-java-debugger-ide/src/main/resources/org/eclipse/che/ide/ext/java/jdi/JavaDebuggerExtension.gwt.xml rename to plugins/plugin-java-debugger/che-plugin-java-debugger-ide/src/main/resources/org/eclipse/che/plugin/jdb/JavaDebugger.gwt.xml index e02b786be5c..b76b5c447d4 100644 --- a/plugins/plugin-java/che-plugin-java-debugger-ide/src/main/resources/org/eclipse/che/ide/ext/java/jdi/JavaDebuggerExtension.gwt.xml +++ b/plugins/plugin-java-debugger/che-plugin-java-debugger-ide/src/main/resources/org/eclipse/che/plugin/jdb/JavaDebugger.gwt.xml @@ -21,7 +21,7 @@ - + - + diff --git a/plugins/plugin-java/che-plugin-java-debugger-ide/src/main/resources/org/eclipse/che/ide/ext/java/jdi/client/JavaRuntimeLocalizationConstant.properties b/plugins/plugin-java-debugger/che-plugin-java-debugger-ide/src/main/resources/org/eclipse/che/plugin/jdb/ide/JavaDebuggerLocalizationConstant.properties similarity index 100% rename from plugins/plugin-java/che-plugin-java-debugger-ide/src/main/resources/org/eclipse/che/ide/ext/java/jdi/client/JavaRuntimeLocalizationConstant.properties rename to plugins/plugin-java-debugger/che-plugin-java-debugger-ide/src/main/resources/org/eclipse/che/plugin/jdb/ide/JavaDebuggerLocalizationConstant.properties diff --git a/plugins/plugin-java/che-plugin-java-debugger-ide/src/main/resources/org/eclipse/che/ide/ext/java/jdi/client/configuration/java-debug-configuration-type.svg b/plugins/plugin-java-debugger/che-plugin-java-debugger-ide/src/main/resources/org/eclipse/che/plugin/jdb/ide/configuration/java-debug-configuration-type.svg similarity index 100% rename from plugins/plugin-java/che-plugin-java-debugger-ide/src/main/resources/org/eclipse/che/ide/ext/java/jdi/client/configuration/java-debug-configuration-type.svg rename to plugins/plugin-java-debugger/che-plugin-java-debugger-ide/src/main/resources/org/eclipse/che/plugin/jdb/ide/configuration/java-debug-configuration-type.svg diff --git a/plugins/plugin-java/che-plugin-java-debugger-ide/src/test/java/org/eclipse/che/ide/ext/java/jdi/client/configuration/JavaDebugConfigurationPagePresenterTest.java b/plugins/plugin-java-debugger/che-plugin-java-debugger-ide/src/test/java/org/eclipse/che/plugin/jdb/ide/configuration/JavaDebugConfigurationPagePresenterTest.java similarity index 98% rename from plugins/plugin-java/che-plugin-java-debugger-ide/src/test/java/org/eclipse/che/ide/ext/java/jdi/client/configuration/JavaDebugConfigurationPagePresenterTest.java rename to plugins/plugin-java-debugger/che-plugin-java-debugger-ide/src/test/java/org/eclipse/che/plugin/jdb/ide/configuration/JavaDebugConfigurationPagePresenterTest.java index 2687aa68435..31bbda75d29 100644 --- a/plugins/plugin-java/che-plugin-java-debugger-ide/src/test/java/org/eclipse/che/ide/ext/java/jdi/client/configuration/JavaDebugConfigurationPagePresenterTest.java +++ b/plugins/plugin-java-debugger/che-plugin-java-debugger-ide/src/test/java/org/eclipse/che/plugin/jdb/ide/configuration/JavaDebugConfigurationPagePresenterTest.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.java.jdi.client.configuration; +package org.eclipse.che.plugin.jdb.ide.configuration; import com.google.gwt.user.client.ui.AcceptsOneWidget; diff --git a/plugins/plugin-java/che-plugin-java-debugger-ide/src/test/java/org/eclipse/che/ide/ext/java/jdi/client/configuration/JavaDebugConfigurationTypeTest.java b/plugins/plugin-java-debugger/che-plugin-java-debugger-ide/src/test/java/org/eclipse/che/plugin/jdb/ide/configuration/JavaDebugConfigurationTypeTest.java similarity index 88% rename from plugins/plugin-java/che-plugin-java-debugger-ide/src/test/java/org/eclipse/che/ide/ext/java/jdi/client/configuration/JavaDebugConfigurationTypeTest.java rename to plugins/plugin-java-debugger/che-plugin-java-debugger-ide/src/test/java/org/eclipse/che/plugin/jdb/ide/configuration/JavaDebugConfigurationTypeTest.java index 76539f1fde6..c6fd229b997 100644 --- a/plugins/plugin-java/che-plugin-java-debugger-ide/src/test/java/org/eclipse/che/ide/ext/java/jdi/client/configuration/JavaDebugConfigurationTypeTest.java +++ b/plugins/plugin-java-debugger/che-plugin-java-debugger-ide/src/test/java/org/eclipse/che/plugin/jdb/ide/configuration/JavaDebugConfigurationTypeTest.java @@ -8,15 +8,15 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.java.jdi.client.configuration; +package org.eclipse.che.plugin.jdb.ide.configuration; import com.google.gwtmockito.GwtMockitoTestRunner; import org.eclipse.che.ide.api.debug.DebugConfiguration; import org.eclipse.che.ide.api.debug.DebugConfigurationPage; import org.eclipse.che.ide.api.icon.IconRegistry; -import org.eclipse.che.ide.ext.java.jdi.client.JavaRuntimeResources; -import org.eclipse.che.ide.ext.java.jdi.client.debug.JavaDebugger; +import org.eclipse.che.plugin.jdb.ide.JavaDebuggerResources; +import org.eclipse.che.plugin.jdb.ide.debug.JavaDebugger; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.InjectMocks; @@ -29,7 +29,7 @@ public class JavaDebugConfigurationTypeTest { @Mock - private JavaRuntimeResources resources; + private JavaDebuggerResources resources; @Mock private JavaDebugConfigurationPagePresenter javaDebugConfigurationPagePresenter; @Mock diff --git a/plugins/plugin-java/che-plugin-java-debugger-ide/src/test/resources/logback-test.xml b/plugins/plugin-java-debugger/che-plugin-java-debugger-ide/src/test/resources/logback-test.xml similarity index 100% rename from plugins/plugin-java/che-plugin-java-debugger-ide/src/test/resources/logback-test.xml rename to plugins/plugin-java-debugger/che-plugin-java-debugger-ide/src/test/resources/logback-test.xml diff --git a/plugins/plugin-java/che-plugin-java-debugger-server/pom.xml b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/pom.xml similarity index 80% rename from plugins/plugin-java/che-plugin-java-debugger-server/pom.xml rename to plugins/plugin-java-debugger/che-plugin-java-debugger-server/pom.xml index 66cbe954fb4..bd03bb835b5 100644 --- a/plugins/plugin-java/che-plugin-java-debugger-server/pom.xml +++ b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/pom.xml @@ -14,20 +14,24 @@ 4.0.0 - che-plugin-java-parent + che-plugin-java-debugger-parent org.eclipse.che.plugin 4.3.0-RC1-SNAPSHOT che-plugin-java-debugger-server jar - Che Plugin :: Java :: Extension Debugger Java Server + Che Plugin :: Java :: Java Debugger Server ${project.build.testSourceDirectory}/../resources/findbugs-exclude.xml - javax.ws.rs - javax.ws.rs-api + com.google.inject + guice + + + com.google.inject.extensions + guice-multibindings org.antlr @@ -35,33 +39,24 @@ org.eclipse.che.core - che-core-api-core + che-core-api-debugger org.eclipse.che.core - che-core-api-dto + che-core-api-debugger-shared org.eclipse.che.core - che-core-commons-json - - - org.eclipse.che.plugin - che-plugin-debugger-shared + che-core-api-dto - org.everrest - everrest-websockets + org.eclipse.che.core + che-core-commons-inject org.slf4j slf4j-api - - javax.websocket - javax.websocket-api - provided - sun.jdt tools diff --git a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/Java.tokens b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/Java.tokens similarity index 100% rename from plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/Java.tokens rename to plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/Java.tokens diff --git a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/JavaTreeParser.tokens b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/JavaTreeParser.tokens similarity index 100% rename from plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/JavaTreeParser.tokens rename to plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/JavaTreeParser.tokens diff --git a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/BreakPointComparator.java b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/BreakPointComparator.java similarity index 84% rename from plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/BreakPointComparator.java rename to plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/BreakPointComparator.java index dde5bdd74c8..f7d0dd8291b 100644 --- a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/BreakPointComparator.java +++ b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/BreakPointComparator.java @@ -8,9 +8,10 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.java.jdi.server; +package org.eclipse.che.plugin.jdb.server; -import org.eclipse.che.ide.ext.debugger.shared.Breakpoint; + +import org.eclipse.che.api.debugger.shared.model.Breakpoint; import java.util.Comparator; @@ -22,8 +23,8 @@ final class BreakPointComparator implements Comparator { @Override public int compare(Breakpoint o1, Breakpoint o2) { - String className1 = o1.getLocation().getClassName(); - String className2 = o2.getLocation().getClassName(); + String className1 = o1.getLocation().getTarget(); + String className2 = o2.getLocation().getTarget(); if (className1 == null && className2 == null) { return 0; } diff --git a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/EventsCollector.java b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/EventsCollector.java similarity index 94% rename from plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/EventsCollector.java rename to plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/EventsCollector.java index 9f274748920..4b5f964074a 100644 --- a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/EventsCollector.java +++ b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/EventsCollector.java @@ -8,11 +8,12 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.java.jdi.server; +package org.eclipse.che.plugin.jdb.server; import com.sun.jdi.VMDisconnectedException; import com.sun.jdi.event.EventQueue; +import org.eclipse.che.api.debugger.server.exceptions.DebuggerException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/EventsHandler.java b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/EventsHandler.java similarity index 86% rename from plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/EventsHandler.java rename to plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/EventsHandler.java index b2050df2128..994f7491dbc 100644 --- a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/EventsHandler.java +++ b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/EventsHandler.java @@ -8,10 +8,12 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.java.jdi.server; +package org.eclipse.che.plugin.jdb.server; import com.sun.jdi.event.EventSet; +import org.eclipse.che.api.debugger.server.exceptions.DebuggerException; + /** * Handle events from {@link EventsCollector}. * diff --git a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/Debugger.java b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/JavaDebugger.java similarity index 59% rename from plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/Debugger.java rename to plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/JavaDebugger.java index 27274a93c3e..695792e3404 100644 --- a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/Debugger.java +++ b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/JavaDebugger.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.java.jdi.server; +package org.eclipse.che.plugin.jdb.server; import com.sun.jdi.AbsentInformationException; import com.sun.jdi.Bootstrap; @@ -29,24 +29,38 @@ import com.sun.jdi.request.InvalidRequestStateException; import com.sun.jdi.request.StepRequest; -import org.eclipse.che.ide.ext.debugger.shared.Breakpoint; -import org.eclipse.che.ide.ext.debugger.shared.BreakpointActivatedEvent; -import org.eclipse.che.ide.ext.debugger.shared.BreakpointEvent; -import org.eclipse.che.ide.ext.debugger.shared.DebuggerEvent; -import org.eclipse.che.ide.ext.debugger.shared.DebuggerEventList; -import org.eclipse.che.ide.ext.debugger.shared.DisconnectEvent; -import org.eclipse.che.ide.ext.debugger.shared.Field; -import org.eclipse.che.ide.ext.debugger.shared.Location; -import org.eclipse.che.ide.ext.debugger.shared.StackFrameDump; -import org.eclipse.che.ide.ext.debugger.shared.StepEvent; -import org.eclipse.che.ide.ext.debugger.shared.Value; -import org.eclipse.che.ide.ext.debugger.shared.Variable; -import org.eclipse.che.ide.ext.debugger.shared.VariablePath; -import org.eclipse.che.ide.ext.java.jdi.server.expression.Evaluator; -import org.eclipse.che.ide.ext.java.jdi.server.expression.ExpressionException; -import org.eclipse.che.ide.ext.java.jdi.server.expression.ExpressionParser; -import org.everrest.websockets.WSConnectionContext; -import org.everrest.websockets.message.ChannelBroadcastMessage; +import org.eclipse.che.api.debugger.server.Debugger; +import org.eclipse.che.api.debugger.server.exceptions.DebuggerException; +import org.eclipse.che.api.debugger.shared.dto.BreakpointDto; +import org.eclipse.che.api.debugger.shared.dto.FieldDto; +import org.eclipse.che.api.debugger.shared.dto.LocationDto; +import org.eclipse.che.api.debugger.shared.dto.StackFrameDumpDto; +import org.eclipse.che.api.debugger.shared.dto.VariableDto; +import org.eclipse.che.api.debugger.shared.dto.VariablePathDto; +import org.eclipse.che.api.debugger.shared.dto.action.ResumeActionDto; +import org.eclipse.che.api.debugger.shared.model.Breakpoint; +import org.eclipse.che.api.debugger.shared.model.DebuggerInfo; +import org.eclipse.che.api.debugger.shared.model.Location; +import org.eclipse.che.api.debugger.shared.model.Value; +import org.eclipse.che.api.debugger.shared.model.Variable; +import org.eclipse.che.api.debugger.shared.model.VariablePath; +import org.eclipse.che.api.debugger.shared.model.action.ResumeAction; +import org.eclipse.che.api.debugger.shared.model.action.StartAction; +import org.eclipse.che.api.debugger.shared.model.action.StepIntoAction; +import org.eclipse.che.api.debugger.shared.model.action.StepOutAction; +import org.eclipse.che.api.debugger.shared.model.action.StepOverAction; +import org.eclipse.che.api.debugger.shared.model.impl.DebuggerInfoImpl; +import org.eclipse.che.api.debugger.shared.model.impl.FieldImpl; +import org.eclipse.che.api.debugger.shared.model.impl.LocationImpl; +import org.eclipse.che.api.debugger.shared.model.impl.ValueImpl; +import org.eclipse.che.api.debugger.shared.model.impl.VariableImpl; +import org.eclipse.che.api.debugger.shared.model.impl.event.BreakpointActivatedEventImpl; +import org.eclipse.che.api.debugger.shared.model.impl.event.DisconnectEventImpl; +import org.eclipse.che.api.debugger.shared.model.impl.event.SuspendEventImpl; +import org.eclipse.che.plugin.jdb.server.exceptions.DebuggerAbsentInformationException; +import org.eclipse.che.plugin.jdb.server.expression.Evaluator; +import org.eclipse.che.plugin.jdb.server.expression.ExpressionException; +import org.eclipse.che.plugin.jdb.server.expression.ExpressionParser; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -59,13 +73,11 @@ import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; -import java.util.concurrent.atomic.AtomicLong; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; import static java.util.Arrays.asList; import static java.util.Collections.singletonList; -import static org.eclipse.che.commons.json.JsonHelper.toJson; import static org.eclipse.che.dto.server.DtoFactory.newDto; /** @@ -77,36 +89,19 @@ * @author Artem Zatsarynnyi * @author Valeriy Svydenko */ -public class Debugger implements EventsHandler { - private static final Logger LOG = LoggerFactory.getLogger(Debugger.class); - private static final AtomicLong counter = new AtomicLong(1); - private static final ConcurrentMap instances = new ConcurrentHashMap<>(); - private static final String EVENTS_CHANNEL = "javadebugger:events:"; +public class JavaDebugger implements EventsHandler, Debugger { + private static final Logger LOG = LoggerFactory.getLogger(JavaDebugger.class); - public static Debugger newInstance(String host, int port) throws VMConnectException { - Debugger d = new Debugger(host, port); - instances.put(d.id, d); - return d; - } - - public static Debugger getInstance(String name) { - Debugger d = instances.get(name); - if (d == null) { - throw new IllegalArgumentException("Debugger " + name + " not found. "); - } - return d; - } - - final String id = Long.toString(counter.getAndIncrement()); - private final String host; - private final int port; - private final List events = new ArrayList<>(); + private final String host; + private final int port; + private final DebuggerCallback debuggerCallback; /** * A mapping of source file names to breakpoints. This mapping is used to set * breakpoints in files that haven't been loaded yet by a target Java VM. */ - private final ConcurrentMap> deferredBreakpoints = new ConcurrentHashMap<>(); + private final ConcurrentMap> deferredBreakpoints = new ConcurrentHashMap<>(); + /** Stores ClassPrepareRequests to prevent making duplicate class prepare requests. */ private final ConcurrentMap classPrepareRequests = new ConcurrentHashMap<>(); @@ -128,26 +123,27 @@ public static Debugger getInstance(String name) { * the host where JVM running * @param port * the Java Debug Wire Protocol (JDWP) port - * @throws VMConnectException + * @throws DebuggerException * when connection to Java VM is not established */ - private Debugger(String host, int port) throws VMConnectException { + JavaDebugger(String host, int port, DebuggerCallback debuggerCallback) throws DebuggerException { this.host = host; this.port = port; + this.debuggerCallback = debuggerCallback; connect(); } /** * Attach to a JVM that is already running at specified host. * - * @throws VMConnectException + * @throws DebuggerException * when connection to Java VM is not established */ - private void connect() throws VMConnectException { + private void connect() throws DebuggerException { final String connectorName = "com.sun.jdi.SocketAttach"; AttachingConnector connector = connector(connectorName); if (connector == null) { - throw new VMConnectException( + throw new DebuggerException( String.format("Unable connect to target Java VM. Requested connector '%s' not found. ", connectorName)); } Map arguments = connector.defaultArguments(); @@ -160,11 +156,11 @@ private void connect() throws VMConnectException { vm = connector.attach(arguments); break; } catch (UnknownHostException | IllegalConnectorArgumentsException e) { - throw new VMConnectException(e.getMessage(), e); + throw new DebuggerException(e.getMessage(), e); } catch (IOException e) { LOG.error(e.getMessage(), e); if (++attempt > 10) { - throw new VMConnectException(e.getMessage(), e); + throw new DebuggerException(e.getMessage(), e); } try { Thread.sleep(2000); @@ -186,30 +182,25 @@ private AttachingConnector connector(String connectorName) { return null; } - /** - * Close connection to the target JVM. - * - * @throws DebuggerException - * when failed to close connection - */ + @Override + public DebuggerInfo getInfo() throws DebuggerException { + return new DebuggerInfoImpl(host, port, vm.name(), vm.version(), 0, null); + } + + @Override + public void start(StartAction action) throws DebuggerException { + } + + @Override public void disconnect() throws DebuggerException { - resume(); + resume(newDto(ResumeActionDto.class)); vm.dispose(); LOG.debug("Close connection to {}:{}", host, port); } - /** - * Add new breakpoint. - * - * @param breakpoint - * break point description - * @throws InvalidBreakPointException - * if description of break point is invalid (specified line number or class name is invalid) - * @throws DebuggerException - * when other JDI error occurs - */ - public void addBreakpoint(Breakpoint breakpoint) throws InvalidBreakPointException, DebuggerException { - final String className = breakpoint.getLocation().getClassName(); + @Override + public void addBreakpoint(Breakpoint breakpoint) throws DebuggerException { + final String className = breakpoint.getLocation().getTarget(); final int lineNumber = breakpoint.getLocation().getLineNumber(); List classes = vm.classesByName(className); // it may mean that class doesn't loaded by a target JVM yet @@ -227,13 +218,13 @@ public void addBreakpoint(Breakpoint breakpoint) throws InvalidBreakPointExcepti } if (locations.isEmpty()) { - throw new InvalidBreakPointException("Line " + lineNumber + " not found in class " + className); + throw new DebuggerException("Line " + lineNumber + " not found in class " + className); } com.sun.jdi.Location location = locations.get(0); if (location.method() == null) { // Line is out of method. - throw new InvalidBreakPointException("Invalid line " + lineNumber + " in class " + className); + throw new DebuggerException("Invalid line " + lineNumber + " in class " + className); } // Ignore new breakpoint if already have breakpoint at the same location. @@ -261,7 +252,7 @@ public void addBreakpoint(Breakpoint breakpoint) throws InvalidBreakPointExcepti } private void deferBreakpoint(Breakpoint breakpoint) throws DebuggerException { - final String className = breakpoint.getLocation().getClassName(); + final String className = breakpoint.getLocation().getTarget(); List newList = new ArrayList<>(); List list = deferredBreakpoints.putIfAbsent(className, newList); if (list == null) { @@ -281,14 +272,8 @@ private void deferBreakpoint(Breakpoint breakpoint) throws DebuggerException { LOG.debug("Deferred breakpoint: {}", breakpoint.getLocation()); } - /** - * Get all break points which set for current debugger. - * - * @return list of break points - * @throws DebuggerException - * when any JDI errors occurs when try to access current break points - */ - public List getBreakPoints() throws DebuggerException { + @Override + public List getAllBreakpoints() throws DebuggerException { List breakpointRequests; try { breakpointRequests = getEventManager().breakpointRequests(); @@ -304,8 +289,8 @@ public List getBreakPoints() throws DebuggerException { for (BreakpointRequest breakpointRequest : breakpointRequests) { com.sun.jdi.Location location = breakpointRequest.location(); // Breakpoint always enabled at the moment. Managing states of breakpoint is not supported for now. - breakPoints.add(newDto(Breakpoint.class).withEnabled(true) - .withLocation(newDto(Location.class).withClassName(location.declaringType().name()) + breakPoints.add(newDto(BreakpointDto.class).withEnabled(true) + .withLocation(newDto(LocationDto.class).withTarget(location.declaringType().name()) .withLineNumber(location.lineNumber()))); } Collections.sort(breakPoints, BREAKPOINT_COMPARATOR); @@ -314,61 +299,28 @@ public List getBreakPoints() throws DebuggerException { private static final Comparator BREAKPOINT_COMPARATOR = new BreakPointComparator(); - /** - * Delete break point. - * - * @param breakPoint - * break point to be removed - * @throws DebuggerException - * when any JDI errors occurs when try to delete break point - */ - public void deleteBreakPoint(Breakpoint breakPoint) throws DebuggerException { - final String className = breakPoint.getLocation().getClassName(); - final int lineNumber = breakPoint.getLocation().getLineNumber(); + @Override + public void deleteBreakpoint(Location location) throws DebuggerException { + final String className = location.getTarget(); + final int lineNumber = location.getLineNumber(); EventRequestManager requestManager = getEventManager(); List snapshot = new ArrayList<>(requestManager.breakpointRequests()); for (BreakpointRequest breakpointRequest : snapshot) { - com.sun.jdi.Location location = breakpointRequest.location(); - if (location.declaringType().name().equals(className) && location.lineNumber() == lineNumber) { + com.sun.jdi.Location jdiLocation = breakpointRequest.location(); + if (jdiLocation.declaringType().name().equals(className) && jdiLocation.lineNumber() == lineNumber) { requestManager.deleteEventRequest(breakpointRequest); LOG.debug("Delete breakpoint: {}", location); } } } - /** - * Delete all break point. - * - * @throws DebuggerException - * when any JDI errors occurs when try to delete break point - */ - public void deleteAllBreakPoints() throws DebuggerException { + @Override + public void deleteAllBreakpoints() throws DebuggerException { getEventManager().deleteAllBreakpoints(); } - /** - * Get next list of debugger events. - * - * @return set of the debugger's events which occurred after last visit this method - * @throws DebuggerException - * when any JDI errors occurs when try to get events - */ - public List getEvents() throws DebuggerException { - List eventsSnapshot; - synchronized (events) { - eventsSnapshot = new ArrayList<>(events); - events.clear(); - } - return eventsSnapshot; - } - - /** - * Resume suspended JVM. - * - * @throws DebuggerException - * when failed to resume target JVM - */ - public void resume() throws DebuggerException { + @Override + public void resume(ResumeAction action) throws DebuggerException { try { vm.resume(); LOG.debug("Resume VM"); @@ -379,20 +331,12 @@ public void resume() throws DebuggerException { } } - /** - * Get dump of fields and local variable of current object and current frame. - * - * @return dump of current stack frame - * @throws DebuggerStateException - * when target JVM is not suspended - * @throws DebuggerException - * when any other errors occur when try to access the current state of target JVM - */ - public StackFrameDump dumpStackFrame() throws DebuggerStateException, DebuggerException { + @Override + public StackFrameDumpDto dumpStackFrame() throws DebuggerException { lock.lock(); try { final JdiStackFrame currentFrame = getCurrentFrame(); - StackFrameDump dump = newDto(StackFrameDump.class); + StackFrameDumpDto dump = newDto(StackFrameDumpDto.class); boolean existInformation = true; JdiLocalVariable[] variables = new JdiLocalVariable[0]; try { @@ -402,7 +346,7 @@ public StackFrameDump dumpStackFrame() throws DebuggerStateException, DebuggerEx } for (JdiField f : currentFrame.getFields()) { List variablePath = asList(f.isStatic() ? "static" : "this", f.getName()); - dump.getFields().add((Field)newDto(Field.class).withIsFinal(f.isFinal()) + dump.getFields().add((FieldDto)newDto(FieldDto.class).withIsFinal(f.isFinal()) .withIsStatic(f.isStatic()) .withIsTransient(f.isTransient()) .withIsVolatile(f.isVolatile()) @@ -410,17 +354,18 @@ public StackFrameDump dumpStackFrame() throws DebuggerStateException, DebuggerEx .withExistInformation(existInformation) .withValue(f.getValue().getAsString()) .withType(f.getTypeName()) - .withVariablePath(newDto(VariablePath.class).withPath(variablePath)) + .withVariablePath(newDto(VariablePathDto.class).withPath(variablePath)) .withPrimitive(f.isPrimitive())); } for (JdiLocalVariable var : variables) { - dump.getLocalVariables().add(newDto(Variable.class).withName(var.getName()) + dump.getVariables().add(newDto(VariableDto.class).withName(var.getName()) .withExistInformation(existInformation) .withValue(var.getValue().getAsString()) .withType(var.getTypeName()) .withVariablePath( - newDto(VariablePath.class).withPath(singletonList(var.getName())) - ) + newDto(VariablePathDto.class) + .withPath(singletonList(var.getName())) + ) .withPrimitive(var.isPrimitive())); } return dump; @@ -469,12 +414,11 @@ public StackFrameDump dumpStackFrame() throws DebuggerStateException, DebuggerEx * @param variablePath * path to variable * @return variable or null if variable not found - * @throws DebuggerStateException - * when target JVM is not suspended * @throws DebuggerException * when any other errors occur when try to access the variable */ - public Value getValue(VariablePath variablePath) throws DebuggerStateException, DebuggerException { + @Override + public Value getValue(VariablePath variablePath) throws DebuggerException { List path = variablePath.getPath(); if (path.size() == 0) { throw new IllegalArgumentException("Path to value may not be empty. "); @@ -504,48 +448,41 @@ public Value getValue(VariablePath variablePath) throws DebuggerStateException, return null; } - Value value = newDto(Value.class).withValue(variable.getValue().getAsString()); + List variables = new ArrayList<>(); for (JdiVariable ch : variable.getValue().getVariables()) { - VariablePath chPath = newDto(VariablePath.class).withPath(new ArrayList<>(path)); + VariablePathDto chPath = newDto(VariablePathDto.class).withPath(new ArrayList<>(path)); chPath.getPath().add(ch.getName()); if (ch instanceof JdiField) { JdiField f = (JdiField)ch; - value.getVariables().add(newDto(Field.class).withIsFinal(f.isFinal()) - .withIsStatic(f.isStatic()) - .withIsTransient(f.isTransient()) - .withIsVolatile(f.isVolatile()) - .withName(f.getName()) - .withExistInformation(true) - .withValue(f.getValue().getAsString()) - .withType(f.getTypeName()) - .withVariablePath(chPath) - .withPrimitive(f.isPrimitive())); + variables.add(new FieldImpl(f.getName(), + true, + f.getValue().getAsString(), + f.getTypeName(), + f.isPrimitive(), + Collections.emptyList(), + chPath, + f.isFinal(), + f.isStatic(), + f.isTransient(), + f.isVolatile())); } else { // Array element. - value.getVariables().add(newDto(Variable.class).withName(ch.getName()) - .withExistInformation(true) - .withValue(ch.getValue().getAsString()) - .withType(ch.getTypeName()) - .withVariablePath(chPath) - .withPrimitive(ch.isPrimitive())); + variables.add(new VariableImpl(ch.getTypeName(), + ch.getName(), + ch.getValue().getAsString(), + ch.isPrimitive(), + chPath, + Collections.emptyList(), + true)); } } - return value; + return new ValueImpl(variables, variable.getValue().getAsString()); } - /** - * Update the value of variable with the value of an evaluated expression. - * - * @param variablePath - * path to updated variable - * @param valueExpression - * expression - * @throws DebuggerException - * when any other errors occur when try to update the variable - */ - public void setValue(VariablePath variablePath, String valueExpression) throws DebuggerException { + @Override + public void setValue(Variable variable) throws DebuggerException { StringBuilder expression = new StringBuilder(); - for (String s : variablePath.getPath()) { + for (String s : variable.getVariablePath().getPath()) { if ("static".equals(s)) { continue; } @@ -558,38 +495,8 @@ public void setValue(VariablePath variablePath, String valueExpression) throws D expression.append(s); } expression.append('='); - expression.append(valueExpression); - expression(expression.toString()); - } - - /** - * Returns the name of the target Java VM. - * - * @return JVM name - * @throws DebuggerException - * when any JDI errors occur - */ - public String getVmName() throws DebuggerException { - return vm.name(); - } - - /** - * Returns the version of the target Java VM. - * - * @return JVM version - * @throws DebuggerException - * when any JDI errors occur - */ - public String getVmVersion() throws DebuggerException { - return vm.version(); - } - - public String getHost() { - return host; - } - - public int getPort() { - return port; + expression.append(variable.getValue()); + evaluate(expression.toString()); } @Override @@ -613,7 +520,7 @@ public void handleEvents(com.sun.jdi.event.EventSet eventSet) throws DebuggerExc lock.unlock(); } } else if (event instanceof com.sun.jdi.event.VMDisconnectEvent) { - resume = processDisconnectEvent((com.sun.jdi.event.VMDisconnectEvent)event); + resume = processDisconnectEvent(); } else if (event instanceof com.sun.jdi.event.ClassPrepareEvent) { resume = processClassPrepareEvent((com.sun.jdi.event.ClassPrepareEvent)event); } @@ -639,22 +546,10 @@ private boolean processBreakPointEvent(com.sun.jdi.event.BreakpointEvent event) } if (hitBreakpoint) { - com.sun.jdi.Location location = event.location(); - BreakpointEvent breakPointEvent; - synchronized (events) { - Location locationDto = newDto(Location.class).withClassName(location.declaringType().name()) - .withLineNumber(location.lineNumber()); - // Breakpoint always enabled at the moment. Managing states of breakpoint is not supported for now. - breakPointEvent = - (BreakpointEvent)newDto(BreakpointEvent.class).withBreakpoint(newDto(Breakpoint.class).withEnabled(true) - .withLocation(locationDto)) - .withType(DebuggerEvent.BREAKPOINT); - events.add(breakPointEvent); - } + com.sun.jdi.Location jdiLocation = event.location(); - List eventsList = new ArrayList<>(); - eventsList.add(breakPointEvent); - publishWebSocketMessage(newDto(DebuggerEventList.class).withEvents(eventsList), EVENTS_CHANNEL + id); + Location location = new LocationImpl(jdiLocation.declaringType().name(), jdiLocation.lineNumber()); + debuggerCallback.onEvent(new SuspendEventImpl(location)); } // Left target JVM in suspended state if result of evaluation of expression is boolean value and true @@ -664,38 +559,16 @@ private boolean processBreakPointEvent(com.sun.jdi.event.BreakpointEvent event) private boolean processStepEvent(com.sun.jdi.event.StepEvent event) throws DebuggerException { setCurrentThread(event.thread()); - com.sun.jdi.Location location = event.location(); - StepEvent stepEvent; - synchronized (events) { - stepEvent = - (StepEvent)newDto(StepEvent.class).withLocation(newDto(Location.class).withClassName(location.declaringType().name()) - .withLineNumber(location.lineNumber())) - .withType(DebuggerEvent.STEP); - events.add(stepEvent); - } - - List eventsList = new ArrayList<>(); - eventsList.add(stepEvent); - publishWebSocketMessage(newDto(DebuggerEventList.class).withEvents(eventsList), EVENTS_CHANNEL + id); - // Lets target JVM to be in suspend state. + com.sun.jdi.Location jdiLocation = event.location(); + + Location location = new LocationImpl(jdiLocation.declaringType().name(), jdiLocation.lineNumber()); + debuggerCallback.onEvent(new SuspendEventImpl(location)); return false; } - private boolean processDisconnectEvent(com.sun.jdi.event.VMDisconnectEvent event) { - DisconnectEvent disconnectEvent; - - synchronized (events) { - disconnectEvent = newDto(DisconnectEvent.class); - disconnectEvent.setType(DebuggerEvent.DISCONNECTED); - events.add(disconnectEvent); - } - - List eventsList = new ArrayList<>(); - eventsList.add(disconnectEvent); - publishWebSocketMessage(newDto(DebuggerEventList.class).withEvents(eventsList), EVENTS_CHANNEL + id); - + private boolean processDisconnectEvent() { + debuggerCallback.onEvent(new DisconnectEventImpl()); eventsCollector.stop(); - instances.remove(id); return true; } @@ -706,19 +579,10 @@ private boolean processClassPrepareEvent(com.sun.jdi.event.ClassPrepareEvent eve // add deferred breakpoints List breakpointsToAdd = deferredBreakpoints.get(className); if (breakpointsToAdd != null) { - List eventsList = new ArrayList<>(); for (Breakpoint b : breakpointsToAdd) { addBreakpoint(b); - - BreakpointActivatedEvent breakpointActivatedEvent; - synchronized (events) { - breakpointActivatedEvent = newDto(BreakpointActivatedEvent.class); - breakpointActivatedEvent.setType(DebuggerEvent.BREAKPOINT_ACTIVATED); - breakpointActivatedEvent.setBreakpoint(b); - events.add(breakpointActivatedEvent); - } - eventsList.add(breakpointActivatedEvent); + debuggerCallback.onEvent(new BreakpointActivatedEventImpl(b)); } deferredBreakpoints.remove(className); @@ -728,45 +592,22 @@ private boolean processClassPrepareEvent(com.sun.jdi.event.ClassPrepareEvent eve if (request != null) { getEventManager().deleteEventRequest(request); } - - publishWebSocketMessage(newDto(DebuggerEventList.class).withEvents(eventsList), EVENTS_CHANNEL + id); } return true; } - /** - * Step to the next line. - * - * @throws DebuggerStateException - * when target JVM is not suspended - * @throws DebuggerException - * when any other JDI errors occur - */ - public void stepOver() throws DebuggerException { + @Override + public void stepOver(StepOverAction action) throws DebuggerException { doStep(StepRequest.STEP_OVER); } - /** - * Step to the next frame. - * - * @throws DebuggerStateException - * when target JVM is not suspended - * @throws DebuggerException - * when any other JDI errors occur - */ - public void stepInto() throws DebuggerException { + @Override + public void stepInto(StepIntoAction action) throws DebuggerException { doStep(StepRequest.STEP_INTO); } - /** - * Step out of the current frame. - * - * @throws DebuggerStateException - * when target JVM is not suspended - * @throws DebuggerException - * when any other JDI errors occur - */ - public void stepOut() throws DebuggerException { + @Override + public void stepOut(StepOutAction action) throws DebuggerException { doStep(StepRequest.STEP_OUT); } @@ -779,7 +620,7 @@ private void doStep(int depth) throws DebuggerException { request.addCountFilter(1); request.enable(); - resume(); + resume(newDto(ResumeActionDto.class)); } finally { lock.unlock(); } @@ -794,17 +635,18 @@ private void clearSteps() throws DebuggerException { } } - public String expression(String expression) throws DebuggerStateException { + @Override + public String evaluate(String expression) throws DebuggerException { com.sun.jdi.Value result = evaluate(ExpressionParser.newInstance(expression)); return result == null ? "null" : result.toString(); } - private com.sun.jdi.Value evaluate(ExpressionParser parser) throws DebuggerStateException { + private com.sun.jdi.Value evaluate(ExpressionParser parser) throws DebuggerException { final long startTime = System.currentTimeMillis(); try { return parser.evaluate(new Evaluator(vm, getCurrentThread())); } catch (ExpressionException e) { - throw new DebuggerStateException(e.getMessage()); + throw new DebuggerException(e.getMessage()); } finally { final long endTime = System.currentTimeMillis(); LOG.debug("==>> Evaluate time: {} ms", (endTime - startTime)); @@ -813,9 +655,9 @@ private com.sun.jdi.Value evaluate(ExpressionParser parser) throws DebuggerState } } - private ThreadReference getCurrentThread() throws DebuggerStateException { + private ThreadReference getCurrentThread() throws DebuggerException { if (thread == null) { - throw new DebuggerStateException("Target Java VM is not suspended. "); + throw new DebuggerException("Target Java VM is not suspended. "); } return thread; } @@ -846,8 +688,6 @@ private void resetCurrentThread() { this.thread = null; } - // - private EventRequestManager getEventManager() throws DebuggerException { try { return vm.eventRequestManager(); @@ -855,29 +695,4 @@ private EventRequestManager getEventManager() throws DebuggerException { throw new DebuggerException(e.getMessage(), e); } } - - /** - * Publishes the message over WebSocket connection. - * - * @param data - * the data to be sent to the client - * @param channelID - * channel identifier - */ - private static void publishWebSocketMessage(Object data, String channelID) { - ChannelBroadcastMessage message = new ChannelBroadcastMessage(); - message.setChannel(channelID); - message.setType(ChannelBroadcastMessage.Type.NONE); - if (data instanceof String) { - message.setBody((String)data); - } else if (data != null) { - message.setBody(toJson(data)); - } - - try { - WSConnectionContext.sendMessage(message); - } catch (Exception e) { - LOG.error("Failed to send message over WebSocket.", e); - } - } } diff --git a/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/JavaDebuggerFactory.java b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/JavaDebuggerFactory.java new file mode 100644 index 00000000000..b0d1365b721 --- /dev/null +++ b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/JavaDebuggerFactory.java @@ -0,0 +1,58 @@ +/******************************************************************************* + * Copyright (c) 2012-2016 Codenvy, S.A. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Codenvy, S.A. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.plugin.jdb.server; + +import org.eclipse.che.api.debugger.server.Debugger; +import org.eclipse.che.api.debugger.server.DebuggerFactory; +import org.eclipse.che.api.debugger.server.exceptions.DebuggerException; + +import java.util.Map; + +import static java.util.stream.Collectors.toMap; + +/** + * @author Anatoliy Bazko + */ +public class JavaDebuggerFactory implements DebuggerFactory { + + private static final String TYPE = "jdb"; + + @Override + public String getType() { + return TYPE; + } + + @Override + public Debugger create(Map properties, Debugger.DebuggerCallback debuggerCallback) throws DebuggerException { + Map normalizedProps = properties.entrySet() + .stream() + .collect(toMap(e -> e.getKey().toLowerCase(), Map.Entry::getValue)); + + String host = normalizedProps.get("host"); + if (host == null) { + throw new DebuggerException("Can't establish connection: host property is unknown."); + } + + String portProp = normalizedProps.get("port"); + if (portProp == null) { + throw new DebuggerException("Can't establish connection: port property is unknown."); + } + + int port; + try { + port = Integer.parseInt(portProp); + } catch (NumberFormatException e) { + throw new DebuggerException("Unknown port property format: " + portProp); + } + + return new JavaDebugger(host, port, debuggerCallback); + } +} diff --git a/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/JavaDebuggerModule.java b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/JavaDebuggerModule.java new file mode 100644 index 00000000000..bd12f09f313 --- /dev/null +++ b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/JavaDebuggerModule.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Copyright (c) 2012-2016 Codenvy, S.A. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Codenvy, S.A. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.plugin.jdb.server; + +import com.google.inject.AbstractModule; +import com.google.inject.multibindings.Multibinder; + +import org.eclipse.che.api.debugger.server.DebuggerFactory; +import org.eclipse.che.inject.DynaModule; + +/** + * @author Anatoliy Bazko + */ +@DynaModule +public class JavaDebuggerModule extends AbstractModule { + + @Override + protected void configure() { + Multibinder.newSetBinder(binder(), DebuggerFactory.class).addBinding().to(JavaDebuggerFactory.class); + } +} diff --git a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/JdiArrayElement.java b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/JdiArrayElement.java similarity index 88% rename from plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/JdiArrayElement.java rename to plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/JdiArrayElement.java index e299a9f4d88..a906a175dee 100644 --- a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/JdiArrayElement.java +++ b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/JdiArrayElement.java @@ -8,7 +8,9 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.java.jdi.server; +package org.eclipse.che.plugin.jdb.server; + +import org.eclipse.che.api.debugger.server.exceptions.DebuggerException; /** * Element of array in debuggee JVM. diff --git a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/JdiArrayElementImpl.java b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/JdiArrayElementImpl.java similarity index 97% rename from plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/JdiArrayElementImpl.java rename to plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/JdiArrayElementImpl.java index 0aab3a93055..e5491ecca65 100644 --- a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/JdiArrayElementImpl.java +++ b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/JdiArrayElementImpl.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.java.jdi.server; +package org.eclipse.che.plugin.jdb.server; import com.sun.jdi.ArrayReference; import com.sun.jdi.PrimitiveValue; diff --git a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/JdiField.java b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/JdiField.java similarity index 93% rename from plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/JdiField.java rename to plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/JdiField.java index 7411707533a..8afc87da98f 100644 --- a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/JdiField.java +++ b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/JdiField.java @@ -8,7 +8,9 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.java.jdi.server; +package org.eclipse.che.plugin.jdb.server; + +import org.eclipse.che.api.debugger.server.exceptions.DebuggerException; /** * Instance of class member in debugger JVM. diff --git a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/JdiFieldImpl.java b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/JdiFieldImpl.java similarity index 95% rename from plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/JdiFieldImpl.java rename to plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/JdiFieldImpl.java index 53a542266e6..61cbe0981d1 100644 --- a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/JdiFieldImpl.java +++ b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/JdiFieldImpl.java @@ -8,13 +8,15 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.java.jdi.server; +package org.eclipse.che.plugin.jdb.server; import com.sun.jdi.Field; import com.sun.jdi.ObjectReference; import com.sun.jdi.ReferenceType; import com.sun.jdi.Value; +import org.eclipse.che.api.debugger.server.exceptions.DebuggerException; + /** @author andrew00x */ public class JdiFieldImpl implements JdiField, Comparable { private final Field field; diff --git a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/JdiLocalVariable.java b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/JdiLocalVariable.java similarity index 92% rename from plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/JdiLocalVariable.java rename to plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/JdiLocalVariable.java index fa339f64d2f..a04f1dacfd4 100644 --- a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/JdiLocalVariable.java +++ b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/JdiLocalVariable.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.java.jdi.server; +package org.eclipse.che.plugin.jdb.server; /** * Local variable in debuggee JVM. diff --git a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/JdiLocalVariableImpl.java b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/JdiLocalVariableImpl.java similarity index 93% rename from plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/JdiLocalVariableImpl.java rename to plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/JdiLocalVariableImpl.java index 3b82023e9d9..7993c230e1a 100644 --- a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/JdiLocalVariableImpl.java +++ b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/JdiLocalVariableImpl.java @@ -8,12 +8,14 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.java.jdi.server; +package org.eclipse.che.plugin.jdb.server; import com.sun.jdi.LocalVariable; import com.sun.jdi.StackFrame; import com.sun.jdi.Value; +import org.eclipse.che.api.debugger.server.exceptions.DebuggerException; + /** @author andrew00x */ public class JdiLocalVariableImpl implements JdiLocalVariable { private final LocalVariable variable; diff --git a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/JdiNullValue.java b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/JdiNullValue.java similarity index 89% rename from plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/JdiNullValue.java rename to plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/JdiNullValue.java index 51ca8f4419d..fba2b0ad8a5 100644 --- a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/JdiNullValue.java +++ b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/JdiNullValue.java @@ -8,7 +8,9 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.java.jdi.server; +package org.eclipse.che.plugin.jdb.server; + +import org.eclipse.che.api.debugger.server.exceptions.DebuggerException; /** @author andrew00x */ public final class JdiNullValue implements JdiValue { diff --git a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/JdiStackFrame.java b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/JdiStackFrame.java similarity index 89% rename from plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/JdiStackFrame.java rename to plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/JdiStackFrame.java index 5cbf014fb61..80f50330cb8 100644 --- a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/JdiStackFrame.java +++ b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/JdiStackFrame.java @@ -8,7 +8,10 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.java.jdi.server; +package org.eclipse.che.plugin.jdb.server; + +import org.eclipse.che.api.debugger.server.exceptions.DebuggerException; +import org.eclipse.che.plugin.jdb.server.exceptions.DebuggerAbsentInformationException; /** * State of method invocation. @@ -47,7 +50,7 @@ public interface JdiStackFrame { * @throws DebuggerAbsentInformationException * if an error occurs */ - JdiLocalVariable[] getLocalVariables() throws DebuggerException, DebuggerAbsentInformationException; + JdiLocalVariable[] getLocalVariables() throws DebuggerException; /** * Get local variable by name. @@ -58,5 +61,5 @@ public interface JdiStackFrame { * @throws DebuggerAbsentInformationException * if an error occurs */ - JdiLocalVariable getLocalVariableByName(String name) throws DebuggerException, DebuggerAbsentInformationException; + JdiLocalVariable getLocalVariableByName(String name) throws DebuggerException; } diff --git a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/JdiStackFrameImpl.java b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/JdiStackFrameImpl.java similarity index 94% rename from plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/JdiStackFrameImpl.java rename to plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/JdiStackFrameImpl.java index 68f4b24b968..95bf559631a 100644 --- a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/JdiStackFrameImpl.java +++ b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/JdiStackFrameImpl.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.java.jdi.server; +package org.eclipse.che.plugin.jdb.server; import com.sun.jdi.AbsentInformationException; import com.sun.jdi.Field; @@ -19,6 +19,9 @@ import com.sun.jdi.ReferenceType; import com.sun.jdi.StackFrame; +import org.eclipse.che.api.debugger.server.exceptions.DebuggerException; +import org.eclipse.che.plugin.jdb.server.exceptions.DebuggerAbsentInformationException; + import java.util.Arrays; import java.util.List; @@ -76,7 +79,7 @@ public JdiField getFieldByName(String name) throws DebuggerException { } @Override - public JdiLocalVariable[] getLocalVariables() throws DebuggerException, DebuggerAbsentInformationException { + public JdiLocalVariable[] getLocalVariables() throws DebuggerException { if (localVariables == null) { try { List targetVariables = stackFrame.visibleVariables(); @@ -95,7 +98,7 @@ public JdiLocalVariable[] getLocalVariables() throws DebuggerException, Debugger } @Override - public JdiLocalVariable getLocalVariableByName(String name) throws DebuggerException, DebuggerAbsentInformationException { + public JdiLocalVariable getLocalVariableByName(String name) throws DebuggerException { if (name == null) { throw new IllegalArgumentException("Field name may not be null. "); } diff --git a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/JdiType.java b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/JdiType.java similarity index 97% rename from plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/JdiType.java rename to plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/JdiType.java index 55127d3ff30..2af145ad96a 100644 --- a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/JdiType.java +++ b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/JdiType.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.java.jdi.server; +package org.eclipse.che.plugin.jdb.server; /** @author andrew00x */ public class JdiType { diff --git a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/JdiValue.java b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/JdiValue.java similarity index 93% rename from plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/JdiValue.java rename to plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/JdiValue.java index 16a983836c3..25e53de00eb 100644 --- a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/JdiValue.java +++ b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/JdiValue.java @@ -8,7 +8,9 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.java.jdi.server; +package org.eclipse.che.plugin.jdb.server; + +import org.eclipse.che.api.debugger.server.exceptions.DebuggerException; /** * Value of JdiVariable. diff --git a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/JdiValueImpl.java b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/JdiValueImpl.java similarity index 96% rename from plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/JdiValueImpl.java rename to plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/JdiValueImpl.java index 9c52441d646..4672dd3f053 100644 --- a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/JdiValueImpl.java +++ b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/JdiValueImpl.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.java.jdi.server; +package org.eclipse.che.plugin.jdb.server; import com.sun.jdi.ArrayReference; import com.sun.jdi.Field; @@ -17,6 +17,8 @@ import com.sun.jdi.ReferenceType; import com.sun.jdi.Value; +import org.eclipse.che.api.debugger.server.exceptions.DebuggerException; + import java.util.Arrays; import java.util.List; diff --git a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/JdiVariable.java b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/JdiVariable.java similarity index 94% rename from plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/JdiVariable.java rename to plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/JdiVariable.java index 556c823802b..edea97688e6 100644 --- a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/JdiVariable.java +++ b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/JdiVariable.java @@ -8,7 +8,9 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.java.jdi.server; +package org.eclipse.che.plugin.jdb.server; + +import org.eclipse.che.api.debugger.server.exceptions.DebuggerException; /** * Variable at debuggee JVM. diff --git a/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/GdbDebuggerException.java b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/exceptions/DebuggerAbsentInformationException.java similarity index 64% rename from plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/GdbDebuggerException.java rename to plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/exceptions/DebuggerAbsentInformationException.java index 5622b915368..3e7a8e771b4 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/GdbDebuggerException.java +++ b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/exceptions/DebuggerAbsentInformationException.java @@ -8,20 +8,15 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.gdb.server; +package org.eclipse.che.plugin.jdb.server.exceptions; -import org.eclipse.che.api.core.ServerException; +import org.eclipse.che.api.debugger.server.exceptions.DebuggerException; /** * @author Anatoliy Bazko */ -@SuppressWarnings("serial") -public class GdbDebuggerException extends ServerException { - public GdbDebuggerException(String message) { - super(message); - } - - public GdbDebuggerException(String message, Throwable cause) { +public class DebuggerAbsentInformationException extends DebuggerException { + public DebuggerAbsentInformationException(String message, Exception cause) { super(message, cause); } } diff --git a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/expression/ANTLRExpressionParser.java b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/expression/ANTLRExpressionParser.java similarity index 96% rename from plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/expression/ANTLRExpressionParser.java rename to plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/expression/ANTLRExpressionParser.java index 7c46d4f4955..95f72e2bf21 100644 --- a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/expression/ANTLRExpressionParser.java +++ b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/expression/ANTLRExpressionParser.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.java.jdi.server.expression; +package org.eclipse.che.plugin.jdb.server.expression; import com.sun.jdi.Value; diff --git a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/expression/ArrayElement.java b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/expression/ArrayElement.java similarity index 96% rename from plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/expression/ArrayElement.java rename to plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/expression/ArrayElement.java index b28e2b3ee2b..3a7b12cced0 100644 --- a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/expression/ArrayElement.java +++ b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/expression/ArrayElement.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.java.jdi.server.expression; +package org.eclipse.che.plugin.jdb.server.expression; import com.sun.jdi.ArrayReference; import com.sun.jdi.ClassNotLoadedException; diff --git a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/expression/Evaluator.java b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/expression/Evaluator.java similarity index 99% rename from plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/expression/Evaluator.java rename to plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/expression/Evaluator.java index 63e0fb49cbf..fadd946b97f 100644 --- a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/expression/Evaluator.java +++ b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/expression/Evaluator.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.java.jdi.server.expression; +package org.eclipse.che.plugin.jdb.server.expression; import com.sun.jdi.AbsentInformationException; import com.sun.jdi.ArrayReference; diff --git a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/expression/ExpressionException.java b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/expression/ExpressionException.java similarity index 92% rename from plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/expression/ExpressionException.java rename to plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/expression/ExpressionException.java index ca4265d5ab5..da19ecce63b 100644 --- a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/expression/ExpressionException.java +++ b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/expression/ExpressionException.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.java.jdi.server.expression; +package org.eclipse.che.plugin.jdb.server.expression; /** @author andrew00x */ public class ExpressionException extends RuntimeException { diff --git a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/expression/ExpressionParser.java b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/expression/ExpressionParser.java similarity index 96% rename from plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/expression/ExpressionParser.java rename to plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/expression/ExpressionParser.java index 64a8082e20a..ff487967152 100644 --- a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/expression/ExpressionParser.java +++ b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/expression/ExpressionParser.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.java.jdi.server.expression; +package org.eclipse.che.plugin.jdb.server.expression; /** @author andrew00x */ public abstract class ExpressionParser { diff --git a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/expression/ExpressionValue.java b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/expression/ExpressionValue.java similarity index 91% rename from plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/expression/ExpressionValue.java rename to plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/expression/ExpressionValue.java index 2a30a6b46c1..6697fc4fa44 100644 --- a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/expression/ExpressionValue.java +++ b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/expression/ExpressionValue.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.java.jdi.server.expression; +package org.eclipse.che.plugin.jdb.server.expression; import com.sun.jdi.Value; diff --git a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/expression/InstanceValue.java b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/expression/InstanceValue.java similarity index 96% rename from plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/expression/InstanceValue.java rename to plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/expression/InstanceValue.java index 8b6ea35f001..92b0a894c5a 100644 --- a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/expression/InstanceValue.java +++ b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/expression/InstanceValue.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.java.jdi.server.expression; +package org.eclipse.che.plugin.jdb.server.expression; import com.sun.jdi.ClassNotLoadedException; import com.sun.jdi.Field; diff --git a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/expression/JavaLexer.java b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/expression/JavaLexer.java similarity index 99% rename from plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/expression/JavaLexer.java rename to plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/expression/JavaLexer.java index a5beccd030d..7abea5ef516 100644 --- a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/expression/JavaLexer.java +++ b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/expression/JavaLexer.java @@ -10,7 +10,7 @@ *******************************************************************************/ // $ANTLR 3.3 Nov 30, 2010 12:50:56 org/eclipse/che/ide/ext/java/jdi/server/expression/Java.g 2013-02-07 15:54:12 -package org.eclipse.che.ide.ext.java.jdi.server.expression; +package org.eclipse.che.plugin.jdb.server.expression; import org.antlr.runtime.*; @@ -226,7 +226,7 @@ public JavaLexer(CharStream input, RecognizerSharedState state) { } public String getGrammarFileName() { - return "org/eclipse/che/ide/ext/java/jdi/server/expression/Java.g"; + return "org/eclipse/che/plugin/jdb/server/expression/Java.g"; } // $ANTLR start "AND" @@ -4966,4 +4966,4 @@ public String getDescription() { } -} \ No newline at end of file +} diff --git a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/expression/JavaParser.java b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/expression/JavaParser.java similarity index 99% rename from plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/expression/JavaParser.java rename to plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/expression/JavaParser.java index ad3aa4750f3..fded43027d2 100644 --- a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/expression/JavaParser.java +++ b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/expression/JavaParser.java @@ -10,7 +10,7 @@ *******************************************************************************/ // $ANTLR 3.3 Nov 30, 2010 12:50:56 org/eclipse/che/ide/ext/java/jdi/server/expression/Java.g 2013-02-07 15:54:12 -package org.eclipse.che.ide.ext.java.jdi.server.expression; +package org.eclipse.che.plugin.jdb.server.expression; import org.antlr.runtime.*; @@ -311,7 +311,7 @@ public String[] getTokenNames() { } public String getGrammarFileName() { - return "org/eclipse/che/ide/ext/java/jdi/server/expression/Java.g"; + return "org/eclipse/che/plugin/jdb/server/expression/Java.g"; } @@ -26322,4 +26322,4 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc public static final BitSet FOLLOW_RBRACK_in_synpred234_Java14706 = new BitSet(new long[]{0x0000000000000002L}); -} \ No newline at end of file +} diff --git a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/expression/JavaTreeParser.java b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/expression/JavaTreeParser.java similarity index 99% rename from plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/expression/JavaTreeParser.java rename to plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/expression/JavaTreeParser.java index 376a86f4676..90c11f6215e 100644 --- a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/expression/JavaTreeParser.java +++ b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/expression/JavaTreeParser.java @@ -10,7 +10,7 @@ *******************************************************************************/ // $ANTLR 3.3 Nov 30, 2010 12:50:56 org/eclipse/che/ide/ext/java/jdi/server/expression/JavaTreeParser.g 2013-02-07 15:54:13 -package org.eclipse.che.ide.ext.java.jdi.server.expression; +package org.eclipse.che.plugin.jdb.server.expression; import org.antlr.runtime.*; @@ -287,7 +287,7 @@ public String[] getTokenNames() { } public String getGrammarFileName() { - return "org/eclipse/che/ide/ext/java/jdi/server/expression/JavaTreeParser.g"; + return "org/eclipse/che/plugin/jdb/server/expression/JavaTreeParser.g"; } @@ -10418,4 +10418,4 @@ public final boolean synpred125_JavaTreeParser() { public static final BitSet FOLLOW_expression_in_synpred132_JavaTreeParser1974 = new BitSet(new long[]{0x0000000000000002L, 0x4010000000000000L}); -} \ No newline at end of file +} diff --git a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/expression/LocalValue.java b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/expression/LocalValue.java similarity index 96% rename from plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/expression/LocalValue.java rename to plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/expression/LocalValue.java index 005071033fe..bd08a427b3f 100644 --- a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/expression/LocalValue.java +++ b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/expression/LocalValue.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.java.jdi.server.expression; +package org.eclipse.che.plugin.jdb.server.expression; import com.sun.jdi.ClassNotLoadedException; import com.sun.jdi.IncompatibleThreadStateException; diff --git a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/expression/ReadOnlyValue.java b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/expression/ReadOnlyValue.java similarity index 93% rename from plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/expression/ReadOnlyValue.java rename to plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/expression/ReadOnlyValue.java index 60547c35a08..448cf8c33e8 100644 --- a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/expression/ReadOnlyValue.java +++ b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/expression/ReadOnlyValue.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.java.jdi.server.expression; +package org.eclipse.che.plugin.jdb.server.expression; import com.sun.jdi.Value; diff --git a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/expression/StaticValue.java b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/expression/StaticValue.java similarity index 96% rename from plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/expression/StaticValue.java rename to plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/expression/StaticValue.java index 3325fa05572..6c26a5d1027 100644 --- a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/expression/StaticValue.java +++ b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/expression/StaticValue.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.java.jdi.server.expression; +package org.eclipse.che.plugin.jdb.server.expression; import com.sun.jdi.ClassNotLoadedException; import com.sun.jdi.ClassType; diff --git a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/resources/README.txt b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/resources/README.txt similarity index 100% rename from plugins/plugin-java/che-plugin-java-debugger-server/src/main/resources/README.txt rename to plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/resources/README.txt diff --git a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/resources/org/eclipse/che/ide/ext/java/jdi/server/expression/Java.g b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/resources/org/eclipse/che/plugin/jdb/server/expression/Java.g similarity index 100% rename from plugins/plugin-java/che-plugin-java-debugger-server/src/main/resources/org/eclipse/che/ide/ext/java/jdi/server/expression/Java.g rename to plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/resources/org/eclipse/che/plugin/jdb/server/expression/Java.g diff --git a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/resources/org/eclipse/che/ide/ext/java/jdi/server/expression/JavaTreeParser.g b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/resources/org/eclipse/che/plugin/jdb/server/expression/JavaTreeParser.g similarity index 100% rename from plugins/plugin-java/che-plugin-java-debugger-server/src/main/resources/org/eclipse/che/ide/ext/java/jdi/server/expression/JavaTreeParser.g rename to plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/resources/org/eclipse/che/plugin/jdb/server/expression/JavaTreeParser.g diff --git a/plugins/plugin-java/che-plugin-java-debugger-server/src/test/java/.gitignore b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/test/java/.gitignore similarity index 100% rename from plugins/plugin-java/che-plugin-java-debugger-server/src/test/java/.gitignore rename to plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/test/java/.gitignore diff --git a/plugins/plugin-java/che-plugin-java-debugger-server/src/test/resources/findbugs-exclude.xml b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/test/resources/findbugs-exclude.xml similarity index 100% rename from plugins/plugin-java/che-plugin-java-debugger-server/src/test/resources/findbugs-exclude.xml rename to plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/test/resources/findbugs-exclude.xml diff --git a/plugins/plugin-java/che-plugin-java-debugger-server/src/test/resources/logback-test.xml b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/test/resources/logback-test.xml similarity index 100% rename from plugins/plugin-java/che-plugin-java-debugger-server/src/test/resources/logback-test.xml rename to plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/test/resources/logback-test.xml diff --git a/plugins/plugin-java-debugger/pom.xml b/plugins/plugin-java-debugger/pom.xml new file mode 100644 index 00000000000..be55e00d3cb --- /dev/null +++ b/plugins/plugin-java-debugger/pom.xml @@ -0,0 +1,42 @@ + + + + 4.0.0 + + che-plugin-parent + org.eclipse.che.plugin + 4.3.0-RC1-SNAPSHOT + + che-plugin-java-debugger-parent + pom + Che Plugin :: Java Debugger :: Parent + + che-plugin-java-debugger-server + che-plugin-java-debugger-ide + + + + + windows + + + Windows + + + + true + + + + diff --git a/plugins/plugin-java/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/ide/ext/java/jdi/client/debug/JavaDebuggerServiceClientImpl.java b/plugins/plugin-java/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/ide/ext/java/jdi/client/debug/JavaDebuggerServiceClientImpl.java deleted file mode 100644 index 7d0775f0be5..00000000000 --- a/plugins/plugin-java/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/ide/ext/java/jdi/client/debug/JavaDebuggerServiceClientImpl.java +++ /dev/null @@ -1,184 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2012-2016 Codenvy, S.A. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Codenvy, S.A. - initial API and implementation - *******************************************************************************/ -package org.eclipse.che.ide.ext.java.jdi.client.debug; - -import com.google.inject.Inject; -import com.google.inject.Singleton; - -import org.eclipse.che.api.promises.client.Promise; -import org.eclipse.che.api.promises.client.js.Promises; -import org.eclipse.che.ide.api.app.AppContext; -import org.eclipse.che.ide.ext.debugger.client.debug.DebuggerServiceClient; -import org.eclipse.che.ide.ext.debugger.shared.Breakpoint; -import org.eclipse.che.ide.ext.debugger.shared.BreakpointList; -import org.eclipse.che.ide.ext.debugger.shared.DebuggerInfo; -import org.eclipse.che.ide.ext.debugger.shared.StackFrameDump; -import org.eclipse.che.ide.ext.debugger.shared.UpdateVariableRequest; -import org.eclipse.che.ide.ext.debugger.shared.Value; -import org.eclipse.che.ide.ext.debugger.shared.Variable; -import org.eclipse.che.ide.rest.AsyncRequestFactory; -import org.eclipse.che.ide.rest.DtoUnmarshallerFactory; -import org.eclipse.che.ide.rest.StringUnmarshaller; -import org.eclipse.che.ide.ui.loaders.request.LoaderFactory; - -import javax.validation.constraints.NotNull; -import java.util.Map; - -import static org.eclipse.che.ide.MimeType.TEXT_PLAIN; -import static org.eclipse.che.ide.ext.java.jdi.client.debug.JavaDebugger.ConnectionProperties.HOST; -import static org.eclipse.che.ide.ext.java.jdi.client.debug.JavaDebugger.ConnectionProperties.PORT; -import static org.eclipse.che.ide.rest.HTTPHeader.ACCEPT; -import static org.eclipse.che.ide.rest.HTTPHeader.CONTENTTYPE; - -/** - * The implementation of {@link DebuggerServiceClient}. - * - * @author Vitaly Parfonov - * @author Artem Zatsarynnyi - * @author Anatoliy Bazko - */ -@Singleton -public class JavaDebuggerServiceClientImpl implements DebuggerServiceClient { - private final AppContext appContext; - private final LoaderFactory loaderFactory; - private final AsyncRequestFactory asyncRequestFactory; - private final DtoUnmarshallerFactory dtoUnmarshallerFactory; - - @Inject - protected JavaDebuggerServiceClientImpl(AppContext appContext, - LoaderFactory loaderFactory, - AsyncRequestFactory asyncRequestFactory, - DtoUnmarshallerFactory dtoUnmarshallerFactory) { - this.appContext = appContext; - this.loaderFactory = loaderFactory; - this.asyncRequestFactory = asyncRequestFactory; - this.dtoUnmarshallerFactory = dtoUnmarshallerFactory; - } - - private String baseUrl() { - return appContext.getDevMachine().getWsAgentBaseUrl() + "/debug-java/" + appContext.getWorkspaceId(); - } - - @Override - public Promise connect(Map connectionProperties) { - final String requestUrl = baseUrl() + "/connect"; - final String params = "?host=" + connectionProperties.get(HOST.toString()) + "&port=" + connectionProperties.get(PORT.toString()); - - return asyncRequestFactory.createGetRequest(requestUrl + params) - .send(dtoUnmarshallerFactory.newUnmarshaller(DebuggerInfo.class)); - } - - @Override - public Promise start(@NotNull String id) { - return Promises.resolve(null); - } - - @Override - public Promise disconnect(@NotNull String id) { - final String requestUrl = baseUrl() + "/disconnect/" + id; - return asyncRequestFactory.createGetRequest(requestUrl) - .loader(loaderFactory.newLoader()) - .send(); - } - - @Override - public Promise getInfo(@NotNull String id) { - final String requestUrl = baseUrl() + "/" + id; - return asyncRequestFactory.createGetRequest(requestUrl) - .send(dtoUnmarshallerFactory.newUnmarshaller(DebuggerInfo.class)); - } - - @Override - public Promise addBreakpoint(@NotNull String id, @NotNull Breakpoint breakPoint) { - final String requestUrl = baseUrl() + "/breakpoints/add/" + id; - return asyncRequestFactory.createPostRequest(requestUrl, breakPoint) - .loader(loaderFactory.newLoader()) - .send(); - } - - @Override - public Promise deleteBreakpoint(@NotNull String id, @NotNull Breakpoint breakPoint) { - final String requestUrl = baseUrl() + "/breakpoints/delete/" + id; - return asyncRequestFactory.createPostRequest(requestUrl, breakPoint) - .send(); - } - - @Override - public Promise getAllBreakpoints(@NotNull String id) { - final String requestUrl = baseUrl() + "/breakpoints/" + id; - return asyncRequestFactory.createGetRequest(requestUrl) - .loader(loaderFactory.newLoader()) - .send(dtoUnmarshallerFactory.newUnmarshaller(BreakpointList.class)); - } - - @Override - public Promise deleteAllBreakpoints(@NotNull String id) { - final String requestUrl = baseUrl() + "/breakpoints/delete_all/" + id; - return asyncRequestFactory.createGetRequest(requestUrl).loader(loaderFactory.newLoader()).send(); - } - - - @Override - public Promise getStackFrameDump(@NotNull String id) { - final String requestUrl = baseUrl() + "/dump/" + id; - return asyncRequestFactory.createGetRequest(requestUrl) - .loader(loaderFactory.newLoader()) - .send(dtoUnmarshallerFactory.newUnmarshaller(StackFrameDump.class)); - } - - @Override - public Promise resume(@NotNull String id) { - final String requestUrl = baseUrl() + "/resume/" + id; - return asyncRequestFactory.createGetRequest(requestUrl).loader(loaderFactory.newLoader()).send(); - } - - @Override - public Promise getValue(@NotNull String id, @NotNull Variable var) { - final String requestUrl = baseUrl() + "/value/get/" + id; - return asyncRequestFactory.createPostRequest(requestUrl, var.getVariablePath()) - .loader(loaderFactory.newLoader()) - .send(dtoUnmarshallerFactory.newUnmarshaller(Value.class)); - } - - @Override - public Promise setValue(@NotNull String id, @NotNull UpdateVariableRequest request) { - final String requestUrl = baseUrl() + "/value/set/" + id; - return asyncRequestFactory.createPostRequest(requestUrl, request).loader(loaderFactory.newLoader()).send(); - } - - @Override - public Promise stepInto(@NotNull String id) { - final String requestUrl = baseUrl() + "/step/into/" + id; - return asyncRequestFactory.createGetRequest(requestUrl).loader(loaderFactory.newLoader()).send(); - } - - @Override - public Promise stepOver(@NotNull String id) { - final String requestUrl = baseUrl() + "/step/over/" + id; - return asyncRequestFactory.createGetRequest(requestUrl).loader(loaderFactory.newLoader()).send(); - } - - @Override - public Promise stepOut(@NotNull String id) { - final String requestUrl = baseUrl() + "/step/out/" + id; - return asyncRequestFactory.createGetRequest(requestUrl).loader(loaderFactory.newLoader()).send(); - } - - @Override - public Promise evaluateExpression(@NotNull String id, @NotNull String expression) { - final String requestUrl = baseUrl() + "/expression/" + id; - return asyncRequestFactory.createPostRequest(requestUrl, null) - .data(expression) - .header(ACCEPT, TEXT_PLAIN) - .header(CONTENTTYPE, TEXT_PLAIN) - .send(new StringUnmarshaller()); - } -} diff --git a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/DebuggerAbsentInformationException.java b/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/DebuggerAbsentInformationException.java deleted file mode 100644 index 5a9a6d8b32e..00000000000 --- a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/DebuggerAbsentInformationException.java +++ /dev/null @@ -1,31 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2012-2016 Codenvy, S.A. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Codenvy, S.A. - initial API and implementation - *******************************************************************************/ -package org.eclipse.che.ide.ext.java.jdi.server; - -/** - * Absent Information exception. Used for prepare and transmit problem to the client side. - * - * @author Oleksii Orel - */ - -public class DebuggerAbsentInformationException extends Exception { - public DebuggerAbsentInformationException() { - super(); - } - - public DebuggerAbsentInformationException(String message) { - super(message); - } - - public DebuggerAbsentInformationException(String message, Throwable cause) { - super(message, cause); - } -} diff --git a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/InvalidBreakPointException.java b/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/InvalidBreakPointException.java deleted file mode 100644 index 31d8574a3ca..00000000000 --- a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/InvalidBreakPointException.java +++ /dev/null @@ -1,29 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2012-2016 Codenvy, S.A. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Codenvy, S.A. - initial API and implementation - *******************************************************************************/ -package org.eclipse.che.ide.ext.java.jdi.server; - -/** - * Thrown by {@link Debugger} when request to add a new breakpoint is invalid. - * Typically it means the location (class name or line number) is invalid. - * - * @author andrew00x - * @see Debugger#addBreakpoint(org.eclipse.che.ide.ext.java.jdi.shared.BreakPoint) - */ -@SuppressWarnings("serial") -public final class InvalidBreakPointException extends DebuggerException { - public InvalidBreakPointException(String message) { - super(message); - } - - public InvalidBreakPointException(String message, Throwable cause) { - super(message, cause); - } -} diff --git a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/JavaDebuggerService.java b/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/JavaDebuggerService.java deleted file mode 100644 index 1de533f21ed..00000000000 --- a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/JavaDebuggerService.java +++ /dev/null @@ -1,153 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2012-2016 Codenvy, S.A. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Codenvy, S.A. - initial API and implementation - *******************************************************************************/ -package org.eclipse.che.ide.ext.java.jdi.server; - -import org.eclipse.che.dto.server.DtoFactory; -import org.eclipse.che.ide.ext.debugger.shared.Breakpoint; -import org.eclipse.che.ide.ext.debugger.shared.BreakpointList; -import org.eclipse.che.ide.ext.debugger.shared.DebuggerInfo; -import org.eclipse.che.ide.ext.debugger.shared.StackFrameDump; -import org.eclipse.che.ide.ext.debugger.shared.UpdateVariableRequest; -import org.eclipse.che.ide.ext.debugger.shared.Value; -import org.eclipse.che.ide.ext.debugger.shared.VariablePath; - -import javax.ws.rs.Consumes; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.MediaType; - -/** - * Provide access to {@link Debugger} through HTTP. - * - * @author andrew00x - */ -@Path("debug-java/{ws-id}") -public class JavaDebuggerService { - - @GET - @Path("{id}") - @Produces(MediaType.APPLICATION_JSON) - public DebuggerInfo isConnected(@PathParam("id") String id) throws DebuggerException { - Debugger d = Debugger.getInstance(id); - return DtoFactory.getInstance().createDto(DebuggerInfo.class) - .withHost(d.getHost()) - .withPort(d.getPort()) - .withId(d.id) - .withName(d.getVmName()) - .withVersion(d.getVmVersion()); - } - - @GET - @Path("connect") - @Produces(MediaType.APPLICATION_JSON) - public DebuggerInfo create(@QueryParam("host") String host, - @QueryParam("port") int port) throws DebuggerException { - Debugger d = Debugger.newInstance(host, port); - return DtoFactory.getInstance().createDto(DebuggerInfo.class) - .withHost(d.getHost()) - .withPort(d.getPort()) - .withId(d.id) - .withName(d.getVmName()) - .withVersion(d.getVmVersion()); - } - - @GET - @Path("disconnect/{id}") - public void disconnect(@PathParam("id") String id) throws DebuggerException { - Debugger.getInstance(id).disconnect(); - } - - @GET - @Path("resume/{id}") - public void resume(@PathParam("id") String id) throws DebuggerException { - Debugger.getInstance(id).resume(); - } - - @POST - @Path("breakpoints/add/{id}") - @Consumes(MediaType.APPLICATION_JSON) - public void addBreakpoint(@PathParam("id") String id, Breakpoint breakPoint) throws DebuggerException { - Debugger.getInstance(id).addBreakpoint(breakPoint); - } - - @GET - @Path("breakpoints/{id}") - @Produces(MediaType.APPLICATION_JSON) - public BreakpointList getBreakpoints(@PathParam("id") String id) throws DebuggerException { - return DtoFactory.getInstance().createDto(BreakpointList.class) - .withBreakpoints(Debugger.getInstance(id).getBreakPoints()); - } - - @POST - @Path("breakpoints/delete/{id}") - @Consumes(MediaType.APPLICATION_JSON) - public void deleteBreakpoint(@PathParam("id") String id, Breakpoint breakPoint) throws DebuggerException { - Debugger.getInstance(id).deleteBreakPoint(breakPoint); - } - - @GET - @Path("breakpoints/delete_all/{id}") - public void deleteAllBreakpoint(@PathParam("id") String id) throws DebuggerException { - Debugger.getInstance(id).deleteAllBreakPoints(); - } - - @GET - @Path("dump/{id}") - @Produces(MediaType.APPLICATION_JSON) - public StackFrameDump getStackFrameDump(@PathParam("id") String id) throws DebuggerException { - return Debugger.getInstance(id).dumpStackFrame(); - } - - @POST - @Path("value/get/{id}") - @Consumes(MediaType.APPLICATION_JSON) - @Produces(MediaType.APPLICATION_JSON) - public Value getValue(@PathParam("id") String id, VariablePath path) throws DebuggerException { - return Debugger.getInstance(id).getValue(path); - } - - @POST - @Path("value/set/{id}") - @Consumes(MediaType.APPLICATION_JSON) - public void setValue(@PathParam("id") String id, UpdateVariableRequest request) throws DebuggerException { - Debugger.getInstance(id).setValue(request.getVariablePath(), request.getExpression()); - } - - @GET - @Path("step/over/{id}") - public void stepOver(@PathParam("id") String id) throws DebuggerException { - Debugger.getInstance(id).stepOver(); - } - - @GET - @Path("step/into/{id}") - public void stepInto(@PathParam("id") String id) throws DebuggerException { - Debugger.getInstance(id).stepInto(); - } - - @GET - @Path("step/out/{id}") - public void stepOut(@PathParam("id") String id) throws DebuggerException { - Debugger.getInstance(id).stepOut(); - } - - @POST - @Path("expression/{id}") - @Consumes(MediaType.TEXT_PLAIN) - @Produces(MediaType.TEXT_PLAIN) - public String expression(@PathParam("id") String id, String expression) throws DebuggerException { - return Debugger.getInstance(id).expression(expression); - } -} diff --git a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/VMConnectException.java b/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/VMConnectException.java deleted file mode 100644 index 9887e768c3d..00000000000 --- a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/VMConnectException.java +++ /dev/null @@ -1,27 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2012-2016 Codenvy, S.A. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Codenvy, S.A. - initial API and implementation - *******************************************************************************/ -package org.eclipse.che.ide.ext.java.jdi.server; - -/** - * Thrown if connection to JVM is not established or lost. - * - * @author andrew00x - */ -@SuppressWarnings("serial") -public final class VMConnectException extends DebuggerException { - public VMConnectException(String message) { - super(message); - } - - public VMConnectException(String message, Throwable cause) { - super(message, cause); - } -} diff --git a/plugins/plugin-java/pom.xml b/plugins/plugin-java/pom.xml index a4f819ca899..f098a498de2 100644 --- a/plugins/plugin-java/pom.xml +++ b/plugins/plugin-java/pom.xml @@ -28,8 +28,6 @@ che-plugin-java-ext-lang-server che-plugin-java-ext-lang-client che-plugin-java-plain - che-plugin-java-debugger-server - che-plugin-java-debugger-ide diff --git a/plugins/pom.xml b/plugins/pom.xml index 4a1e5371e91..9db12eb5d18 100644 --- a/plugins/pom.xml +++ b/plugins/pom.xml @@ -31,8 +31,9 @@ plugin-web plugin-machine plugin-debugger - plugin-java plugin-maven + plugin-java + plugin-java-debugger plugin-gdb plugin-sdk plugin-orion diff --git a/pom.xml b/pom.xml index a396c04e1e2..0eaa6767201 100644 --- a/pom.xml +++ b/pom.xml @@ -84,6 +84,16 @@ che-core-api-core ${project.version} + + org.eclipse.che.core + che-core-api-debugger + ${project.version} + + + org.eclipse.che.core + che-core-api-debugger-shared + ${project.version} + org.eclipse.che.core che-core-api-dto @@ -195,6 +205,11 @@ che-core-client-gwt-core ${project.version} + + org.eclipse.che.core + che-core-client-gwt-debugger + ${project.version} + org.eclipse.che.core che-core-client-gwt-factory @@ -377,11 +392,6 @@ che-plugin-debugger-ide ${project.version} - - org.eclipse.che.plugin - che-plugin-debugger-shared - ${project.version} - org.eclipse.che.plugin che-plugin-docker-client @@ -693,6 +703,11 @@ org.eclipse.ui.ide ${project.version} + + org.eclipse.che.plugin + shared + ${project.version} + org.eclipse.che.core che-core-commons-test diff --git a/wsagent/che-core-api-debugger-shared/pom.xml b/wsagent/che-core-api-debugger-shared/pom.xml new file mode 100644 index 00000000000..c69918eb296 --- /dev/null +++ b/wsagent/che-core-api-debugger-shared/pom.xml @@ -0,0 +1,41 @@ + + + + 4.0.0 + + che-agent-parent + org.eclipse.che.core + 4.3.0-RC1-SNAPSHOT + + che-core-api-debugger-shared + jar + Che Core :: API :: Debugger :: Shared + + + org.eclipse.che.core + che-core-api-dto + + + org.eclipse.che.core + che-core-commons-annotations + + + + + + src/main/java + + + + diff --git a/plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/Breakpoint.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/BreakpointDto.java similarity index 65% rename from plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/Breakpoint.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/BreakpointDto.java index 6880530bdf6..51dbccc2ab7 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/Breakpoint.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/BreakpointDto.java @@ -8,32 +8,31 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.shared; +package org.eclipse.che.api.debugger.shared.dto; +import org.eclipse.che.api.debugger.shared.model.Breakpoint; import org.eclipse.che.dto.shared.DTO; /** - * Description of debug breakpoint. - * * @author andrew00x */ @DTO -public interface Breakpoint { - Location getLocation(); +public interface BreakpointDto extends Breakpoint{ + LocationDto getLocation(); - void setLocation(Location location); + void setLocation(LocationDto location); - Breakpoint withLocation(Location location); + BreakpointDto withLocation(LocationDto location); boolean isEnabled(); void setEnabled(boolean enabled); - Breakpoint withEnabled(boolean enabled); + BreakpointDto withEnabled(boolean enabled); String getCondition(); void setCondition(String condition); - Breakpoint withCondition(String condition); -} \ No newline at end of file + BreakpointDto withCondition(String condition); +} diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/DebugSessionDto.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/DebugSessionDto.java new file mode 100644 index 00000000000..77e9c6f6968 --- /dev/null +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/DebugSessionDto.java @@ -0,0 +1,38 @@ +/******************************************************************************* + * Copyright (c) 2012-2016 Codenvy, S.A. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Codenvy, S.A. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.api.debugger.shared.dto; + +import org.eclipse.che.api.debugger.shared.model.DebugSession; +import org.eclipse.che.dto.shared.DTO; + +/** + * @author Anatoliy Bazko + */ +@DTO +public interface DebugSessionDto extends DebugSession { + DebuggerInfoDto getDebuggerInfo(); + + void setDebuggerInfo(DebuggerInfoDto debuggerInfo); + + DebugSessionDto withDebuggerInfo(DebuggerInfoDto debuggerInfo); + + String getId(); + + void setId(String id); + + DebugSessionDto withId(String id); + + String getType(); + + void setType(String type); + + DebugSessionDto withType(String type); +} diff --git a/plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/DebuggerInfo.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/DebuggerInfoDto.java similarity index 66% rename from plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/DebuggerInfo.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/DebuggerInfoDto.java index 193d076a395..a24c8674909 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/DebuggerInfo.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/DebuggerInfoDto.java @@ -8,56 +8,49 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.shared; +package org.eclipse.che.api.debugger.shared.dto; +import org.eclipse.che.api.debugger.shared.model.DebuggerInfo; import org.eclipse.che.dto.shared.DTO; /** - * Summary of debugger information. - * - * @author andrew00x + * @author Anatoliy Bazko */ @DTO -public interface DebuggerInfo { +public interface DebuggerInfoDto extends DebuggerInfo { String getHost(); void setHost(String host); - DebuggerInfo withHost(String host); + DebuggerInfoDto withHost(String host); int getPort(); void setPort(int port); - DebuggerInfo withPort(int port); - - String getId(); - - void setId(String id); - - DebuggerInfo withId(String id); + DebuggerInfoDto withPort(int port); String getName(); void setName(String name); - DebuggerInfo withName(String name); + DebuggerInfoDto withName(String name); String getVersion(); void setVersion(String version); - DebuggerInfo withVersion(String version); + DebuggerInfoDto withVersion(String version); int getPid(); void setPid(int pid); - DebuggerInfo withPid(int pid); + DebuggerInfoDto withPid(int pid); String getFile(); void setFile(String file); - DebuggerInfo withFile(String file); + DebuggerInfoDto withFile(String file); } diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/FieldDto.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/FieldDto.java new file mode 100644 index 00000000000..b9812fa903c --- /dev/null +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/FieldDto.java @@ -0,0 +1,87 @@ +/******************************************************************************* + * Copyright (c) 2012-2016 Codenvy, S.A. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Codenvy, S.A. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.api.debugger.shared.dto; + +import org.eclipse.che.api.debugger.shared.model.Field; +import org.eclipse.che.api.debugger.shared.model.Variable; +import org.eclipse.che.dto.shared.DTO; + +import java.util.List; + +/** @author andrew00x */ +@DTO +public interface FieldDto extends Field { + boolean isIsFinal(); + + void setIsFinal(boolean value); + + FieldDto withIsFinal(boolean value); + + boolean isIsStatic(); + + void setIsStatic(boolean value); + + FieldDto withIsStatic(boolean value); + + boolean isIsTransient(); + + void setIsTransient(boolean value); + + FieldDto withIsTransient(boolean value); + + boolean isIsVolatile(); + + void setIsVolatile(boolean value); + + FieldDto withIsVolatile(boolean value); + + String getName(); + + void setName(String name); + + FieldDto withName(String name); + + boolean isExistInformation(); + + void setExistInformation(boolean existInformation); + + FieldDto withExistInformation(boolean existInformation); + + String getValue(); + + void setValue(String value); + + FieldDto withValue(String value); + + String getType(); + + void setType(String type); + + FieldDto withType(String type); + + VariablePathDto getVariablePath(); + + void setVariablePath(VariablePathDto variablePath); + + FieldDto withVariablePath(VariablePathDto variablePath); + + boolean isPrimitive(); + + void setPrimitive(boolean primitive); + + FieldDto withPrimitive(boolean primitive); + + List getVariables(); + + void setVariables(List variables); + + FieldDto withVariables(List variables); +} diff --git a/plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/Location.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/LocationDto.java similarity index 68% rename from plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/Location.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/LocationDto.java index 3ff9c11586a..865b48fea0f 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/Location.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/LocationDto.java @@ -8,22 +8,23 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.shared; +package org.eclipse.che.api.debugger.shared.dto; +import org.eclipse.che.api.debugger.shared.model.Location; import org.eclipse.che.dto.shared.DTO; /** @author andrew00x */ @DTO -public interface Location { - String getClassName(); +public interface LocationDto extends Location { + String getTarget(); - void setClassName(String className); + void setTarget(String target); - Location withClassName(String className); + LocationDto withTarget(String target); int getLineNumber(); void setLineNumber(int lineNumber); - Location withLineNumber(int lineNumber); -} \ No newline at end of file + LocationDto withLineNumber(int lineNumber); +} diff --git a/plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/StackFrameDump.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/StackFrameDumpDto.java similarity index 57% rename from plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/StackFrameDump.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/StackFrameDumpDto.java index b689e71ca20..72d1901b9d8 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/StackFrameDump.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/StackFrameDumpDto.java @@ -8,24 +8,25 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.shared; +package org.eclipse.che.api.debugger.shared.dto; +import org.eclipse.che.api.debugger.shared.model.StackFrameDump; import org.eclipse.che.dto.shared.DTO; import java.util.List; /** @author andrew00x */ @DTO -public interface StackFrameDump { - List getFields(); +public interface StackFrameDumpDto extends StackFrameDump { + List getFields(); - void setFields(List fields); + void setFields(List fields); - StackFrameDump withFields(List fields); + StackFrameDumpDto withFields(List fields); - List getLocalVariables(); + List getVariables(); - void setLocalVariables(List localVariables); + void setVariables(List variables); - StackFrameDump withLocalVariables(List localVariables); -} \ No newline at end of file + StackFrameDumpDto withVariables(List variables); +} diff --git a/plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/Value.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/ValueDto.java similarity index 66% rename from plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/Value.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/ValueDto.java index 3aed1a1c484..dd9c104863b 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/Value.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/ValueDto.java @@ -8,24 +8,25 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.shared; +package org.eclipse.che.api.debugger.shared.dto; +import org.eclipse.che.api.debugger.shared.model.Value; import org.eclipse.che.dto.shared.DTO; import java.util.List; /** @author andrew00x */ @DTO -public interface Value { - List getVariables(); +public interface ValueDto extends Value { + List getVariables(); - void setVariables(List variables); + void setVariables(List variables); - Value withVariables(List variables); + ValueDto withVariables(List variables); String getValue(); void setValue(String value); - Value withValue(String value); -} \ No newline at end of file + ValueDto withValue(String value); +} diff --git a/plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/Variable.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/VariableDto.java similarity index 57% rename from plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/Variable.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/VariableDto.java index 36deeb5bd67..26b55287d52 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/Variable.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/VariableDto.java @@ -8,54 +8,55 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.shared; +package org.eclipse.che.api.debugger.shared.dto; +import org.eclipse.che.api.debugger.shared.model.Variable; import org.eclipse.che.dto.shared.DTO; import java.util.List; /** @author andrew00x */ @DTO -public interface Variable { +public interface VariableDto extends Variable { String getName(); void setName(String name); - Variable withName(String name); + VariableDto withName(String name); boolean isExistInformation(); void setExistInformation(boolean existInformation); - Variable withExistInformation(boolean existInformation); + VariableDto withExistInformation(boolean existInformation); String getValue(); void setValue(String value); - Variable withValue(String value); + VariableDto withValue(String value); String getType(); void setType(String type); - Variable withType(String type); + VariableDto withType(String type); - VariablePath getVariablePath(); + VariablePathDto getVariablePath(); - void setVariablePath(VariablePath variablePath); + void setVariablePath(VariablePathDto variablePath); - Variable withVariablePath(VariablePath variablePath); + VariableDto withVariablePath(VariablePathDto variablePath); boolean isPrimitive(); void setPrimitive(boolean primitive); - Variable withPrimitive(boolean primitive); + VariableDto withPrimitive(boolean primitive); - List getVariables(); + List getVariables(); - void setVariables(List variables); + void setVariables(List variables); - Variable withVariables(List variables); -} \ No newline at end of file + VariableDto withVariables(List variables); +} diff --git a/plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/VariablePath.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/VariablePathDto.java similarity index 75% rename from plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/VariablePath.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/VariablePathDto.java index 68dd6328c30..cb6f6e8435b 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/VariablePath.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/VariablePathDto.java @@ -8,18 +8,19 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.shared; +package org.eclipse.che.api.debugger.shared.dto; +import org.eclipse.che.api.debugger.shared.model.VariablePath; import org.eclipse.che.dto.shared.DTO; import java.util.List; /** @author andrew00x */ @DTO -public interface VariablePath { +public interface VariablePathDto extends VariablePath { List getPath(); void setPath(List path); - VariablePath withPath(List path); -} \ No newline at end of file + VariablePathDto withPath(List path); +} diff --git a/plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/BreakpointList.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/action/ActionDto.java similarity index 65% rename from plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/BreakpointList.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/action/ActionDto.java index aa1a390a425..7ff19d4e81e 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/BreakpointList.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/action/ActionDto.java @@ -8,18 +8,19 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.shared; +package org.eclipse.che.api.debugger.shared.dto.action; +import org.eclipse.che.api.debugger.shared.model.action.Action; import org.eclipse.che.dto.shared.DTO; -import java.util.List; - -/** @author andrew00x */ +/** + * @author Anatoliy Bazko + */ @DTO -public interface BreakpointList { - List getBreakpoints(); +public interface ActionDto extends Action { + Action.TYPE getType(); - void setBreakpoints(List breakpoints); + void setType(Action.TYPE type); - BreakpointList withBreakpoints(List breakpoints); -} \ No newline at end of file + ActionDto withType(Action.TYPE type); +} diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/action/ResumeActionDto.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/action/ResumeActionDto.java new file mode 100644 index 00000000000..c97a8cd72f1 --- /dev/null +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/action/ResumeActionDto.java @@ -0,0 +1,27 @@ +/******************************************************************************* + * Copyright (c) 2012-2016 Codenvy, S.A. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Codenvy, S.A. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.api.debugger.shared.dto.action; + +import org.eclipse.che.api.debugger.shared.model.action.Action; +import org.eclipse.che.api.debugger.shared.model.action.ResumeAction; +import org.eclipse.che.dto.shared.DTO; + +/** + * @author Anatoliy Bazko + */ +@DTO +public interface ResumeActionDto extends ActionDto, ResumeAction { + Action.TYPE getType(); + + void setType(Action.TYPE type); + + ResumeActionDto withType(Action.TYPE type); +} diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/action/StartActionDto.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/action/StartActionDto.java new file mode 100644 index 00000000000..427bbf94a0e --- /dev/null +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/action/StartActionDto.java @@ -0,0 +1,27 @@ +/******************************************************************************* + * Copyright (c) 2012-2016 Codenvy, S.A. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Codenvy, S.A. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.api.debugger.shared.dto.action; + +import org.eclipse.che.api.debugger.shared.model.action.Action; +import org.eclipse.che.api.debugger.shared.model.action.StartAction; +import org.eclipse.che.dto.shared.DTO; + +/** + * @author Anatoliy Bazko + */ +@DTO +public interface StartActionDto extends ActionDto, StartAction { + Action.TYPE getType(); + + void setType(Action.TYPE type); + + StartActionDto withType(Action.TYPE type); +} diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/action/StepIntoActionDto.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/action/StepIntoActionDto.java new file mode 100644 index 00000000000..0f829b0d9c0 --- /dev/null +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/action/StepIntoActionDto.java @@ -0,0 +1,27 @@ +/******************************************************************************* + * Copyright (c) 2012-2016 Codenvy, S.A. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Codenvy, S.A. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.api.debugger.shared.dto.action; + +import org.eclipse.che.api.debugger.shared.model.action.Action; +import org.eclipse.che.api.debugger.shared.model.action.StepIntoAction; +import org.eclipse.che.dto.shared.DTO; + +/** + * @author Anatoliy Bazko + */ +@DTO +public interface StepIntoActionDto extends ActionDto, StepIntoAction { + Action.TYPE getType(); + + void setType(Action.TYPE type); + + StepIntoActionDto withType(Action.TYPE type); +} diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/action/StepOutActionDto.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/action/StepOutActionDto.java new file mode 100644 index 00000000000..c1a18afad61 --- /dev/null +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/action/StepOutActionDto.java @@ -0,0 +1,27 @@ +/******************************************************************************* + * Copyright (c) 2012-2016 Codenvy, S.A. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Codenvy, S.A. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.api.debugger.shared.dto.action; + +import org.eclipse.che.api.debugger.shared.model.action.Action; +import org.eclipse.che.api.debugger.shared.model.action.StepOutAction; +import org.eclipse.che.dto.shared.DTO; + +/** + * @author Anatoliy Bazko + */ +@DTO +public interface StepOutActionDto extends ActionDto, StepOutAction { + Action.TYPE getType(); + + void setType(Action.TYPE type); + + StepOutActionDto withType(Action.TYPE type); +} diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/action/StepOverActionDto.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/action/StepOverActionDto.java new file mode 100644 index 00000000000..fe605036179 --- /dev/null +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/action/StepOverActionDto.java @@ -0,0 +1,27 @@ +/******************************************************************************* + * Copyright (c) 2012-2016 Codenvy, S.A. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Codenvy, S.A. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.api.debugger.shared.dto.action; + +import org.eclipse.che.api.debugger.shared.model.action.Action; +import org.eclipse.che.api.debugger.shared.model.action.StepOverAction; +import org.eclipse.che.dto.shared.DTO; + +/** + * @author Anatoliy Bazko + */ +@DTO +public interface StepOverActionDto extends ActionDto, StepOverAction { + Action.TYPE getType(); + + void setType(Action.TYPE type); + + StepOverActionDto withType(Action.TYPE type); +} diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/action/SuspendActionDto.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/action/SuspendActionDto.java new file mode 100644 index 00000000000..44e6b645996 --- /dev/null +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/action/SuspendActionDto.java @@ -0,0 +1,27 @@ +/******************************************************************************* + * Copyright (c) 2012-2016 Codenvy, S.A. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Codenvy, S.A. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.api.debugger.shared.dto.action; + +import org.eclipse.che.api.debugger.shared.model.action.Action; +import org.eclipse.che.api.debugger.shared.model.action.SuspendAction; +import org.eclipse.che.dto.shared.DTO; + +/** + * @author Anatoliy Bazko + */ +@DTO +public interface SuspendActionDto extends ActionDto, SuspendAction { + Action.TYPE getType(); + + void setType(Action.TYPE type); + + SuspendActionDto withType(Action.TYPE type); +} diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/event/BreakpointActivatedEventDto.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/event/BreakpointActivatedEventDto.java new file mode 100644 index 00000000000..3e72cae2ddf --- /dev/null +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/event/BreakpointActivatedEventDto.java @@ -0,0 +1,35 @@ +/******************************************************************************* + * Copyright (c) 2012-2016 Codenvy, S.A. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Codenvy, S.A. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.api.debugger.shared.dto.event; + +import org.eclipse.che.api.debugger.shared.dto.BreakpointDto; +import org.eclipse.che.api.debugger.shared.model.event.DebuggerEvent; +import org.eclipse.che.dto.shared.DTO; + +/** + * Event will be generated when breakpoint become active. + * + * @author Anatoliy Bazko + */ +@DTO +public interface BreakpointActivatedEventDto extends DebuggerEventDto { + DebuggerEvent.TYPE getType(); + + void setType(DebuggerEvent.TYPE type); + + BreakpointActivatedEventDto withType(DebuggerEvent.TYPE type); + + BreakpointDto getBreakpoint(); + + void setBreakpoint(BreakpointDto breakpoint); + + BreakpointActivatedEventDto withBreakpoint(BreakpointDto breakpoint); +} diff --git a/plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/BreakpointEvent.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/event/DebuggerEventDto.java similarity index 61% rename from plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/BreakpointEvent.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/event/DebuggerEventDto.java index 96ec2b76585..f00b71e2ee2 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/BreakpointEvent.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/event/DebuggerEventDto.java @@ -8,16 +8,19 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.shared; +package org.eclipse.che.api.debugger.shared.dto.event; +import org.eclipse.che.api.debugger.shared.model.event.DebuggerEvent; import org.eclipse.che.dto.shared.DTO; -/** @author andrew00x */ +/** + * @author Anatoliy Bazko + */ @DTO -public interface BreakpointEvent extends DebuggerEvent { - Breakpoint getBreakpoint(); +public interface DebuggerEventDto extends DebuggerEvent { + DebuggerEvent.TYPE getType(); - void setBreakpoint(Breakpoint breakpoint); + void setType(DebuggerEvent.TYPE type); - BreakpointEvent withBreakpoint(Breakpoint breakpoint); -} \ No newline at end of file + DebuggerEventDto withType(DebuggerEvent.TYPE type); +} diff --git a/plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/DebuggerEvent.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/event/DisconnectEventDto.java similarity index 61% rename from plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/DebuggerEvent.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/event/DisconnectEventDto.java index 974a0ae0e58..3a8899be73f 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/DebuggerEvent.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/event/DisconnectEventDto.java @@ -8,21 +8,19 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.shared; +package org.eclipse.che.api.debugger.shared.dto.event; +import org.eclipse.che.api.debugger.shared.model.event.DebuggerEvent; import org.eclipse.che.dto.shared.DTO; -/** @author andrew00x */ +/** + * @author Anatoliy Bazko + */ @DTO -public interface DebuggerEvent { - int BREAKPOINT = 1; - int STEP = 2; - int BREAKPOINT_ACTIVATED = 3; - int DISCONNECTED = 4; +public interface DisconnectEventDto extends DebuggerEventDto { + DebuggerEvent.TYPE getType(); - int getType(); + void setType(DebuggerEvent.TYPE type); - void setType(int type); - - DebuggerEvent withType(int type); -} \ No newline at end of file + DisconnectEventDto withType(DebuggerEvent.TYPE type); +} diff --git a/plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/UpdateVariableRequest.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/event/SuspendEventDto.java similarity index 53% rename from plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/UpdateVariableRequest.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/event/SuspendEventDto.java index a7b31ca9d7a..5ac875e344d 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/UpdateVariableRequest.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/event/SuspendEventDto.java @@ -8,22 +8,24 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.shared; +package org.eclipse.che.api.debugger.shared.dto.event; +import org.eclipse.che.api.debugger.shared.dto.LocationDto; +import org.eclipse.che.api.debugger.shared.model.event.DebuggerEvent; import org.eclipse.che.dto.shared.DTO; /** @author andrew00x */ @DTO -public interface UpdateVariableRequest { - VariablePath getVariablePath(); +public interface SuspendEventDto extends DebuggerEventDto { + DebuggerEvent.TYPE getType(); - void setVariablePath(VariablePath variablePath); + void setType(DebuggerEvent.TYPE type); - UpdateVariableRequest withVariablePath(VariablePath variablePath); + SuspendEventDto withType(DebuggerEvent.TYPE type); - String getExpression(); + LocationDto getLocation(); - void setExpression(String expression); + void setLocation(LocationDto location); - UpdateVariableRequest withExpression(String expression); -} \ No newline at end of file + SuspendEventDto withLocation(LocationDto location); +} diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/Breakpoint.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/Breakpoint.java new file mode 100644 index 00000000000..0282fe9bf00 --- /dev/null +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/Breakpoint.java @@ -0,0 +1,31 @@ +/******************************************************************************* + * Copyright (c) 2012-2016 Codenvy, S.A. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Codenvy, S.A. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.api.debugger.shared.model; + +/** + * @author Anatoliy Bazko + */ +public interface Breakpoint { + /** + * The location of the breakpoint. + */ + Location getLocation(); + + /** + * Indicates if it is enabled or not. + */ + boolean isEnabled(); + + /** + * The condition. + */ + String getCondition(); +} diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/DebugSession.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/DebugSession.java new file mode 100644 index 00000000000..3b6d572b135 --- /dev/null +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/DebugSession.java @@ -0,0 +1,33 @@ +/******************************************************************************* + * Copyright (c) 2012-2016 Codenvy, S.A. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Codenvy, S.A. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.api.debugger.shared.model; + +/** + * Debug session. + * + * @author Anatoliy Bazko + */ +public interface DebugSession { + /** + * The info about debugger is being used. + */ + DebuggerInfo getDebuggerInfo(); + + /** + * Session id. + */ + String getId(); + + /** + * Debugger type. + */ + String getType(); +} diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/DebuggerInfo.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/DebuggerInfo.java new file mode 100644 index 00000000000..6fe63f0a7bb --- /dev/null +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/DebuggerInfo.java @@ -0,0 +1,52 @@ +/******************************************************************************* + * Copyright (c) 2012-2016 Codenvy, S.A. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Codenvy, S.A. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.api.debugger.shared.model; + +import org.eclipse.che.commons.annotation.Nullable; + +/** + * Summary of debugger information. + * + * @author Anatoliy Bazko + */ +public interface DebuggerInfo { + /** + * The host where debugger is connected to. + */ + @Nullable + String getHost(); + + /** + * The port where debugger is connected to. + */ + int getPort(); + + /** + * The debugger name. + */ + String getName(); + + /** + * The debugger version. + */ + String getVersion(); + + /** + * The pid where debugger is connected to. + */ + int getPid(); + + /** + * The binary file used by debugger. + */ + @Nullable + String getFile(); +} diff --git a/plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/Field.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/Field.java similarity index 60% rename from plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/Field.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/Field.java index 7f534dbf13f..815ba24f37d 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/Field.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/Field.java @@ -8,34 +8,29 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.shared; +package org.eclipse.che.api.debugger.shared.model; -import org.eclipse.che.dto.shared.DTO; - -/** @author andrew00x */ -@DTO +/** + * @author Anatoliy Bazko + */ public interface Field extends Variable { + /** + * Indicates if field is final. + */ boolean isIsFinal(); - void setIsFinal(boolean value); - - Field withIsFinal(boolean value); - + /** + * Indicates if field is static. + */ boolean isIsStatic(); - void setIsStatic(boolean value); - - Field withIsStatic(boolean value); - + /** + * Indicates if field is transient. + */ boolean isIsTransient(); - void setIsTransient(boolean value); - - Field withIsTransient(boolean value); - + /** + * Indicates if field is volatile. + */ boolean isIsVolatile(); - - void setIsVolatile(boolean value); - - Field withIsVolatile(boolean value); -} \ No newline at end of file +} diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/Location.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/Location.java new file mode 100644 index 00000000000..600e5a85852 --- /dev/null +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/Location.java @@ -0,0 +1,26 @@ +/******************************************************************************* + * Copyright (c) 2012-2016 Codenvy, S.A. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Codenvy, S.A. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.api.debugger.shared.model; + +/** + * @author Anatoliy Bazko + */ +public interface Location { + /** + * The target, e.g.: file, fqn, memory address etc. + */ + String getTarget(); + + /** + * The line number in a file or in a class. + */ + int getLineNumber(); +} diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/MutableVariable.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/MutableVariable.java new file mode 100644 index 00000000000..ee1c98cf517 --- /dev/null +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/MutableVariable.java @@ -0,0 +1,34 @@ +/******************************************************************************* + * Copyright (c) 2012-2016 Codenvy, S.A. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Codenvy, S.A. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.api.debugger.shared.model; + +import java.util.List; + +/** + * @author Anatoliy Bazko + */ +public interface MutableVariable extends Variable { + + /** + * The nested variables. + */ + List getVariables(); + + /** + * Sets the new variable value. + */ + void setValue(String value); + + /** + * Sets the new list of nested variables. + */ + void setVariables(List variables); +} diff --git a/plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/DebuggerEventList.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/StackFrameDump.java similarity index 64% rename from plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/DebuggerEventList.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/StackFrameDump.java index 12a196f62b6..876b79545a2 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/DebuggerEventList.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/StackFrameDump.java @@ -8,18 +8,21 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.shared; - -import org.eclipse.che.dto.shared.DTO; +package org.eclipse.che.api.debugger.shared.model; import java.util.List; -/** @author andrew00x */ -@DTO -public interface DebuggerEventList { - List getEvents(); - - void setEvents(List events); +/** + * @author Anatoliy Bazko + */ +public interface StackFrameDump { + /** + * The list of fields. + */ + List getFields(); - DebuggerEventList withEvents(List events); -} \ No newline at end of file + /** + * The list of local variables. + */ + List getVariables(); +} diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/Value.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/Value.java new file mode 100644 index 00000000000..1ff52ebfbf0 --- /dev/null +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/Value.java @@ -0,0 +1,28 @@ +/******************************************************************************* + * Copyright (c) 2012-2016 Codenvy, S.A. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Codenvy, S.A. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.api.debugger.shared.model; + +import java.util.List; + +/** + * @author Anatoliy Bazko + */ +public interface Value { + /** + * The nested variables. + */ + List getVariables(); + + /** + * The value. + */ + String getValue(); +} diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/Variable.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/Variable.java new file mode 100644 index 00000000000..a9f163d4055 --- /dev/null +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/Variable.java @@ -0,0 +1,50 @@ +/******************************************************************************* + * Copyright (c) 2012-2016 Codenvy, S.A. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Codenvy, S.A. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.api.debugger.shared.model; + +import java.util.List; + +/** + * @author Anatoliy Bazko + */ +public interface Variable { + /** + * The variable name. + */ + String getName(); + + boolean isExistInformation(); + + /** + * The variable value. + */ + String getValue(); + + /** + * The variable type. E.g.: String, int etc. + */ + String getType(); + + /** + * The path to the variable. + */ + VariablePath getVariablePath(); + + /** + * Indicates if variable is primitive. + */ + boolean isPrimitive(); + + /** + * The nested variables. + */ + List getVariables(); +} diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/VariablePath.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/VariablePath.java new file mode 100644 index 00000000000..04120976f27 --- /dev/null +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/VariablePath.java @@ -0,0 +1,24 @@ +/******************************************************************************* + * Copyright (c) 2012-2016 Codenvy, S.A. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Codenvy, S.A. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.api.debugger.shared.model; + +import java.util.List; + +/** + * Path to the variable. + * If it is primitive then it only consists of its name: ["varName"]. + * If it is structured then it consists of all subsequent names: ["structure1Name", "structure2Name", ..., "varName"] + * + * @author Anatoliy Bazko + */ +public interface VariablePath { + List getPath(); +} diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/action/Action.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/action/Action.java new file mode 100644 index 00000000000..33b3c8d4b28 --- /dev/null +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/action/Action.java @@ -0,0 +1,26 @@ +/******************************************************************************* + * Copyright (c) 2012-2016 Codenvy, S.A. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Codenvy, S.A. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.api.debugger.shared.model.action; + +/** + * @author Anatoliy Bazko + */ +public interface Action { + TYPE getType(); + + enum TYPE { + STEP_INTO, + STEP_OUT, + STEP_OVER, + START, + RESUME + } +} diff --git a/plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/BreakpointEventList.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/action/ResumeAction.java similarity index 70% rename from plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/BreakpointEventList.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/action/ResumeAction.java index 427e9e5203e..d5b46d198a2 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/BreakpointEventList.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/action/ResumeAction.java @@ -8,14 +8,10 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.shared; +package org.eclipse.che.api.debugger.shared.model.action; -import org.eclipse.che.dto.shared.DTO; - -import java.util.List; - -/** @author andrew00x */ -@DTO -public interface BreakpointEventList { - List getEvents(); -} \ No newline at end of file +/** + * @author Anatoliy Bazko + */ +public interface ResumeAction extends Action { +} diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/action/StartAction.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/action/StartAction.java new file mode 100644 index 00000000000..261e6ae4bce --- /dev/null +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/action/StartAction.java @@ -0,0 +1,17 @@ +/******************************************************************************* + * Copyright (c) 2012-2016 Codenvy, S.A. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Codenvy, S.A. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.api.debugger.shared.model.action; + +/** + * @author Anatoliy Bazko + */ +public interface StartAction extends Action { +} diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/action/StepIntoAction.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/action/StepIntoAction.java new file mode 100644 index 00000000000..03cad206a90 --- /dev/null +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/action/StepIntoAction.java @@ -0,0 +1,17 @@ +/******************************************************************************* + * Copyright (c) 2012-2016 Codenvy, S.A. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Codenvy, S.A. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.api.debugger.shared.model.action; + +/** + * @author Anatoliy Bazko + */ +public interface StepIntoAction extends Action { +} diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/action/StepOutAction.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/action/StepOutAction.java new file mode 100644 index 00000000000..f6275134362 --- /dev/null +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/action/StepOutAction.java @@ -0,0 +1,17 @@ +/******************************************************************************* + * Copyright (c) 2012-2016 Codenvy, S.A. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Codenvy, S.A. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.api.debugger.shared.model.action; + +/** + * @author Anatoliy Bazko + */ +public interface StepOutAction extends Action { +} diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/action/StepOverAction.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/action/StepOverAction.java new file mode 100644 index 00000000000..201caf966c9 --- /dev/null +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/action/StepOverAction.java @@ -0,0 +1,17 @@ +/******************************************************************************* + * Copyright (c) 2012-2016 Codenvy, S.A. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Codenvy, S.A. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.api.debugger.shared.model.action; + +/** + * @author Anatoliy Bazko + */ +public interface StepOverAction extends Action { +} diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/action/SuspendAction.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/action/SuspendAction.java new file mode 100644 index 00000000000..3497f0819b9 --- /dev/null +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/action/SuspendAction.java @@ -0,0 +1,17 @@ +/******************************************************************************* + * Copyright (c) 2012-2016 Codenvy, S.A. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Codenvy, S.A. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.api.debugger.shared.model.action; + +/** + * @author Anatoliy Bazko + */ +public interface SuspendAction extends Action { +} diff --git a/plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/BreakpointActivatedEvent.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/event/BreakpointActivatedEvent.java similarity index 71% rename from plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/BreakpointActivatedEvent.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/event/BreakpointActivatedEvent.java index ac5e74000a1..3bd92e023a1 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/BreakpointActivatedEvent.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/event/BreakpointActivatedEvent.java @@ -8,20 +8,15 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.shared; +package org.eclipse.che.api.debugger.shared.model.event; -import org.eclipse.che.dto.shared.DTO; +import org.eclipse.che.api.debugger.shared.model.Breakpoint; /** - * Event will be generated when breakpoint become active. + * Event is generated when breakpoint became active. * * @author Anatoliy Bazko */ -@DTO public interface BreakpointActivatedEvent extends DebuggerEvent { Breakpoint getBreakpoint(); - - void setBreakpoint(Breakpoint breakpoint); - - BreakpointActivatedEvent withBreakpoint(Breakpoint breakpoint); -} \ No newline at end of file +} diff --git a/core/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/debug/Breakpoints.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/event/DebuggerEvent.java similarity index 70% rename from core/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/debug/Breakpoints.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/event/DebuggerEvent.java index 57cf90441ac..585ea1ccd10 100644 --- a/core/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/debug/Breakpoints.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/event/DebuggerEvent.java @@ -8,13 +8,17 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.debug; +package org.eclipse.che.api.debugger.shared.model.event; -public final class Breakpoints { +/** + * @author Anatoliy Bazko + */ +public interface DebuggerEvent { + TYPE getType(); - private Breakpoints() { + enum TYPE { + SUSPEND, + DISCONNECT, + BREAKPOINT_ACTIVATED } - - /** Logical identifier for the breakpoints gutter. */ - public static final String BREAKPOINTS_GUTTER = "breakpoints"; } diff --git a/plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/DisconnectEvent.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/event/DisconnectEvent.java similarity index 85% rename from plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/DisconnectEvent.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/event/DisconnectEvent.java index c59a30d1cc1..97fcfb0f8c6 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/DisconnectEvent.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/event/DisconnectEvent.java @@ -8,13 +8,11 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.shared; - -import org.eclipse.che.dto.shared.DTO; +package org.eclipse.che.api.debugger.shared.model.event; /** + * Event is generated when debugger disconnected * @author Anatoliy Bazko */ -@DTO public interface DisconnectEvent extends DebuggerEvent { -} \ No newline at end of file +} diff --git a/plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/StepEvent.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/event/SuspendEvent.java similarity index 66% rename from plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/StepEvent.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/event/SuspendEvent.java index 9e764cbfe65..ec5388dce43 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-shared/src/main/java/org/eclipse/che/ide/ext/debugger/shared/StepEvent.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/event/SuspendEvent.java @@ -8,16 +8,15 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.debugger.shared; +package org.eclipse.che.api.debugger.shared.model.event; -import org.eclipse.che.dto.shared.DTO; +import org.eclipse.che.api.debugger.shared.model.Location; -/** @author andrew00x */ -@DTO -public interface StepEvent extends DebuggerEvent { +/** + * Event is generated when debugger suspended at some location. + * + * @author Anatoliy Bazko + */ +public interface SuspendEvent extends DebuggerEvent { Location getLocation(); - - void setLocation(Location location); - - StepEvent withLocation(Location location); -} \ No newline at end of file +} diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/BreakpointImpl.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/BreakpointImpl.java new file mode 100644 index 00000000000..1bbcc8163c8 --- /dev/null +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/BreakpointImpl.java @@ -0,0 +1,68 @@ +/******************************************************************************* + * Copyright (c) 2012-2016 Codenvy, S.A. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Codenvy, S.A. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.api.debugger.shared.model.impl; + +import org.eclipse.che.api.debugger.shared.model.Breakpoint; +import org.eclipse.che.api.debugger.shared.model.Location; + +/** + * @author Anatoliy Bazko + */ +public class BreakpointImpl implements Breakpoint { + private final Location location; + private final boolean enabled; + private final String condition; + + public BreakpointImpl(Location location, boolean enabled, String condition) { + this.location = location; + this.enabled = enabled; + this.condition = condition; + } + + public BreakpointImpl(Location location) { + this(location, false, null); + } + + @Override + public Location getLocation() { + return location; + } + + @Override + public boolean isEnabled() { + return enabled; + } + + @Override + public String getCondition() { + return condition; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (!(o instanceof BreakpointImpl)) return false; + + BreakpointImpl that = (BreakpointImpl)o; + + if (enabled != that.enabled) return false; + if (location != null ? !location.equals(that.location) : that.location != null) return false; + return !(condition != null ? !condition.equals(that.condition) : that.condition != null); + } + + @Override + public int hashCode() { + int result = location != null ? location.hashCode() : 0; + result = 31 * result + (enabled ? 1 : 0); + result = 31 * result + (condition != null ? condition.hashCode() : 0); + return result; + } +} diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/DebugSessionImpl.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/DebugSessionImpl.java new file mode 100644 index 00000000000..6180b404221 --- /dev/null +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/DebugSessionImpl.java @@ -0,0 +1,64 @@ +/******************************************************************************* + * Copyright (c) 2012-2016 Codenvy, S.A. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Codenvy, S.A. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.api.debugger.shared.model.impl; + +import org.eclipse.che.api.debugger.shared.model.DebugSession; +import org.eclipse.che.api.debugger.shared.model.DebuggerInfo; + +/** + * @author Anatoliy Bazko + */ +public class DebugSessionImpl implements DebugSession { + private final DebuggerInfo debuggerInfo; + private final String id; + private final String type; + + public DebugSessionImpl(DebuggerInfo debuggerInfo, String id, String type) { + this.debuggerInfo = debuggerInfo; + this.id = id; + this.type = type; + } + + @Override + public DebuggerInfo getDebuggerInfo() { + return debuggerInfo; + } + + @Override + public String getId() { + return id; + } + + @Override + public String getType() { + return type; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (!(o instanceof DebugSessionImpl)) return false; + + DebugSessionImpl that = (DebugSessionImpl)o; + + if (debuggerInfo != null ? !debuggerInfo.equals(that.debuggerInfo) : that.debuggerInfo != null) return false; + if (id != null ? !id.equals(that.id) : that.id != null) return false; + return !(type != null ? !type.equals(that.type) : that.type != null); + } + + @Override + public int hashCode() { + int result = debuggerInfo != null ? debuggerInfo.hashCode() : 0; + result = 31 * result + (id != null ? id.hashCode() : 0); + result = 31 * result + (type != null ? type.hashCode() : 0); + return result; + } +} diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/DebuggerInfoImpl.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/DebuggerInfoImpl.java new file mode 100644 index 00000000000..66d5ab0a366 --- /dev/null +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/DebuggerInfoImpl.java @@ -0,0 +1,93 @@ +/******************************************************************************* + * Copyright (c) 2012-2016 Codenvy, S.A. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Codenvy, S.A. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.api.debugger.shared.model.impl; + +import org.eclipse.che.api.debugger.shared.model.DebuggerInfo; + +/** + * Summary of debugger information. + * + * @author Anatoliy Bazko + */ +public class DebuggerInfoImpl implements DebuggerInfo { + private final String host; + private final int port; + private final String name; + private final String version; + private final int pid; + private final String file; + + public DebuggerInfoImpl(String host, int port, String name, String version, int pid, String file) { + this.host = host; + this.port = port; + this.name = name; + this.version = version; + this.pid = pid; + this.file = file; + } + + @Override + public String getHost() { + return host; + } + + @Override + public int getPort() { + return port; + } + + @Override + public String getName() { + return name; + } + + @Override + public String getVersion() { + return version; + } + + @Override + public int getPid() { + return pid; + } + + @Override + public String getFile() { + return file; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (!(o instanceof DebuggerInfoImpl)) return false; + + DebuggerInfoImpl that = (DebuggerInfoImpl)o; + + if (port != that.port) return false; + if (pid != that.pid) return false; + if (host != null ? !host.equals(that.host) : that.host != null) return false; + if (name != null ? !name.equals(that.name) : that.name != null) return false; + if (version != null ? !version.equals(that.version) : that.version != null) return false; + return !(file != null ? !file.equals(that.file) : that.file != null); + + } + + @Override + public int hashCode() { + int result = host != null ? host.hashCode() : 0; + result = 31 * result + port; + result = 31 * result + (name != null ? name.hashCode() : 0); + result = 31 * result + (version != null ? version.hashCode() : 0); + result = 31 * result + pid; + result = 31 * result + (file != null ? file.hashCode() : 0); + return result; + } +} diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/FieldImpl.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/FieldImpl.java new file mode 100644 index 00000000000..cde6eff9500 --- /dev/null +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/FieldImpl.java @@ -0,0 +1,84 @@ +/******************************************************************************* + * Copyright (c) 2012-2016 Codenvy, S.A. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Codenvy, S.A. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.api.debugger.shared.model.impl; + +import org.eclipse.che.api.debugger.shared.model.Variable; +import org.eclipse.che.api.debugger.shared.model.VariablePath; + +import java.util.List; + +/** + * @author Anatoliy Bazko + */ +public class FieldImpl extends VariableImpl { + private boolean isFinal; + private boolean isStatic; + private boolean isTransient; + private boolean isVolatile; + + public FieldImpl(String name, + boolean isExistInformation, + String value, + String type, + boolean isPrimitive, + List variables, + VariablePath variablePath, + boolean isFinal, + boolean isStatic, + boolean isTransient, + boolean isVolatile) { + super(type, name, value, isPrimitive, variablePath, variables, isExistInformation); + this.isFinal = isFinal; + this.isStatic = isStatic; + this.isTransient = isTransient; + this.isVolatile = isVolatile; + } + + public boolean isFinal() { + return isFinal; + } + + public boolean isStatic() { + return isStatic; + } + + public boolean isTransient() { + return isTransient; + } + + public boolean isVolatile() { + return isVolatile; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (!(o instanceof FieldImpl)) return false; + if (!super.equals(o)) return false; + + FieldImpl field = (FieldImpl)o; + + if (isFinal != field.isFinal) return false; + if (isStatic != field.isStatic) return false; + if (isTransient != field.isTransient) return false; + return isVolatile == field.isVolatile; + } + + @Override + public int hashCode() { + int result = super.hashCode(); + result = 31 * result + (isFinal ? 1 : 0); + result = 31 * result + (isStatic ? 1 : 0); + result = 31 * result + (isTransient ? 1 : 0); + result = 31 * result + (isVolatile ? 1 : 0); + return result; + } +} diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/LocationImpl.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/LocationImpl.java new file mode 100644 index 00000000000..c1ed4df71de --- /dev/null +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/LocationImpl.java @@ -0,0 +1,59 @@ +/******************************************************************************* + * Copyright (c) 2012-2016 Codenvy, S.A. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Codenvy, S.A. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.api.debugger.shared.model.impl; + +import org.eclipse.che.api.debugger.shared.model.Location; + +/** + * @author Anatoliy Bazko + */ +public class LocationImpl implements Location { + private final String target; + private final int lineNumber; + + public LocationImpl(String target, int lineNumber) { + this.target = target; + this.lineNumber = lineNumber; + } + + public LocationImpl(String target) { + this(target, 0); + } + + @Override + public String getTarget() { + return target; + } + + @Override + public int getLineNumber() { + return lineNumber; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (!(o instanceof LocationImpl)) return false; + + LocationImpl location = (LocationImpl)o; + + if (lineNumber != location.lineNumber) return false; + return !(target != null ? !target.equals(location.target) : location.target != null); + + } + + @Override + public int hashCode() { + int result = target != null ? target.hashCode() : 0; + result = 31 * result + lineNumber; + return result; + } +} diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/MutableVariableImpl.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/MutableVariableImpl.java new file mode 100644 index 00000000000..1c95285faaa --- /dev/null +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/MutableVariableImpl.java @@ -0,0 +1,143 @@ +/******************************************************************************* + * Copyright (c) 2012-2016 Codenvy, S.A. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Codenvy, S.A. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.api.debugger.shared.model.impl; + +import org.eclipse.che.api.debugger.shared.model.MutableVariable; +import org.eclipse.che.api.debugger.shared.model.Variable; +import org.eclipse.che.api.debugger.shared.model.VariablePath; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +/** + * @author Anatoliy Bazko + */ +public class MutableVariableImpl implements MutableVariable { + private final String name; + private final boolean isExistInformation; + private final String type; + private final boolean isPrimitive; + private final VariablePath variablePath; + + private String value; + private List variables; + + public MutableVariableImpl(String type, + String name, + String value, + VariablePath variablePath, + boolean isPrimitive, + List variables, + boolean isExistInformation) { + this.name = name; + this.isExistInformation = isExistInformation; + this.value = value; + this.type = type; + this.isPrimitive = isPrimitive; + this.variables = variables == null || variables.isEmpty() ? Collections.emptyList() : toMutable(variables); + this.variablePath = variablePath; + } + + public MutableVariableImpl() { + this(null, null, null, null, false, null, false); + } + + @Override + public String getName() { + return name; + } + + public boolean isExistInformation() { + return isExistInformation; + } + + @Override + public String getValue() { + return value; + } + + @Override + public String getType() { + return type; + } + + @Override + public boolean isPrimitive() { + return isPrimitive; + } + + @Override + public List getVariables() { + return variables; + } + + @Override + public void setValue(String value) { + this.value = value; + } + + @Override + public void setVariables(List variables) { + this.variables = toMutable(variables); + } + + @Override + public VariablePath getVariablePath() { + return variablePath; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (!(o instanceof MutableVariableImpl)) return false; + + MutableVariableImpl variable = (MutableVariableImpl)o; + + if (isExistInformation != variable.isExistInformation) return false; + if (isPrimitive != variable.isPrimitive) return false; + if (name != null ? !name.equals(variable.name) : variable.name != null) return false; + if (value != null ? !value.equals(variable.value) : variable.value != null) return false; + if (type != null ? !type.equals(variable.type) : variable.type != null) return false; + if (variables != null ? !variables.equals(variable.variables) : variable.variables != null) return false; + return !(variablePath != null ? !variablePath.equals(variable.variablePath) : variable.variablePath != null); + } + + @Override + public int hashCode() { + int result = name != null ? name.hashCode() : 0; + result = 31 * result + (isExistInformation ? 1 : 0); + result = 31 * result + (value != null ? value.hashCode() : 0); + result = 31 * result + (type != null ? type.hashCode() : 0); + result = 31 * result + (isPrimitive ? 1 : 0); + result = 31 * result + (variables != null ? variables.hashCode() : 0); + result = 31 * result + (variablePath != null ? variablePath.hashCode() : 0); + return result; + } + + private static MutableVariable toMutable(Variable variable) { + return new MutableVariableImpl(variable.getType(), + variable.getName(), + variable.getValue(), + variable.getVariablePath(), + variable.isPrimitive(), + variable.getVariables(), + variable.isExistInformation()); + } + + private static List toMutable(List variables) { + List mv = new ArrayList<>(variables.size()); + for (Variable v : variables) { + mv.add(toMutable(v)); + } + return mv; + } +} diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/StackFrameDumpImpl.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/StackFrameDumpImpl.java new file mode 100644 index 00000000000..d0caaccf924 --- /dev/null +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/StackFrameDumpImpl.java @@ -0,0 +1,65 @@ +/******************************************************************************* + * Copyright (c) 2012-2016 Codenvy, S.A. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Codenvy, S.A. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.api.debugger.shared.model.impl; + +import org.eclipse.che.api.debugger.shared.dto.StackFrameDumpDto; +import org.eclipse.che.api.debugger.shared.model.Field; +import org.eclipse.che.api.debugger.shared.model.StackFrameDump; +import org.eclipse.che.api.debugger.shared.model.Variable; + +import java.util.Collections; +import java.util.List; + +/** + * @author Anatoliy Bazko + */ +public class StackFrameDumpImpl implements StackFrameDump { + private final List fields; + private final List variables; + + public StackFrameDumpImpl(List fields, List variables) { + this.fields = fields; + this.variables = variables; + } + + public StackFrameDumpImpl(StackFrameDumpDto dto) { + this(dto.getFields(), dto.getVariables()); + } + + @Override + public List getFields() { + return Collections.unmodifiableList(fields); + } + + @Override + public List getVariables() { + return Collections.unmodifiableList(variables); + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (!(o instanceof StackFrameDumpImpl)) return false; + + StackFrameDumpImpl that = (StackFrameDumpImpl)o; + + if (fields != null ? !fields.equals(that.fields) : that.fields != null) return false; + return !(variables != null ? !variables.equals(that.variables) : that.variables != null); + + } + + @Override + public int hashCode() { + int result = fields != null ? fields.hashCode() : 0; + result = 31 * result + (variables != null ? variables.hashCode() : 0); + return result; + } +} diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/ValueImpl.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/ValueImpl.java new file mode 100644 index 00000000000..dd783750e62 --- /dev/null +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/ValueImpl.java @@ -0,0 +1,64 @@ +/******************************************************************************* + * Copyright (c) 2012-2016 Codenvy, S.A. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Codenvy, S.A. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.api.debugger.shared.model.impl; + +import org.eclipse.che.api.debugger.shared.dto.ValueDto; +import org.eclipse.che.api.debugger.shared.model.Value; +import org.eclipse.che.api.debugger.shared.model.Variable; + +import java.util.Collections; +import java.util.List; + +/** + * @author Anatoliy Bazko + */ +public class ValueImpl implements Value { + private final List variables; + private final String value; + + public ValueImpl(List variables, String value) { + this.variables = variables; + this.value = value; + } + + public ValueImpl(ValueDto dto) { + this(dto.getVariables(), dto.getValue()); + } + + @Override + public List getVariables() { + return Collections.unmodifiableList(variables); + } + + @Override + public String getValue() { + return value; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (!(o instanceof ValueImpl)) return false; + + ValueImpl value1 = (ValueImpl)o; + + if (variables != null ? !variables.equals(value1.variables) : value1.variables != null) return false; + return !(value != null ? !value.equals(value1.value) : value1.value != null); + + } + + @Override + public int hashCode() { + int result = variables != null ? variables.hashCode() : 0; + result = 31 * result + (value != null ? value.hashCode() : 0); + return result; + } +} diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/VariableImpl.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/VariableImpl.java new file mode 100644 index 00000000000..dcb409f2be5 --- /dev/null +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/VariableImpl.java @@ -0,0 +1,112 @@ +/******************************************************************************* + * Copyright (c) 2012-2016 Codenvy, S.A. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Codenvy, S.A. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.api.debugger.shared.model.impl; + +import org.eclipse.che.api.debugger.shared.model.Variable; +import org.eclipse.che.api.debugger.shared.model.VariablePath; + +import java.util.Collections; +import java.util.List; + +/** + * @author Anatoliy Bazko + */ +public class VariableImpl implements Variable { + private final String name; + private final boolean isExistInformation; + private final String value; + private final String type; + private final boolean isPrimitive; + private final List variables; + private final VariablePath variablePath; + + public VariableImpl(String type, + String name, + String value, + boolean isPrimitive, + VariablePath variablePath, + List variables, + boolean isExistInformation) { + this.name = name; + this.isExistInformation = isExistInformation; + this.value = value; + this.type = type; + this.isPrimitive = isPrimitive; + this.variables = variables; + this.variablePath = variablePath; + } + + public VariableImpl(String value, VariablePath variablePath) { + this(null, null, value, false, variablePath, Collections.emptyList(), false); + } + + @Override + public String getName() { + return name; + } + + public boolean isExistInformation() { + return isExistInformation; + } + + @Override + public String getValue() { + return value; + } + + @Override + public String getType() { + return type; + } + + @Override + public boolean isPrimitive() { + return isPrimitive; + } + + @Override + public List getVariables() { + return Collections.unmodifiableList(variables); + } + + @Override + public VariablePath getVariablePath() { + return variablePath; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (!(o instanceof VariableImpl)) return false; + + VariableImpl variable = (VariableImpl)o; + + if (isExistInformation != variable.isExistInformation) return false; + if (isPrimitive != variable.isPrimitive) return false; + if (name != null ? !name.equals(variable.name) : variable.name != null) return false; + if (value != null ? !value.equals(variable.value) : variable.value != null) return false; + if (type != null ? !type.equals(variable.type) : variable.type != null) return false; + if (variables != null ? !variables.equals(variable.variables) : variable.variables != null) return false; + return !(variablePath != null ? !variablePath.equals(variable.variablePath) : variable.variablePath != null); + } + + @Override + public int hashCode() { + int result = name != null ? name.hashCode() : 0; + result = 31 * result + (isExistInformation ? 1 : 0); + result = 31 * result + (value != null ? value.hashCode() : 0); + result = 31 * result + (type != null ? type.hashCode() : 0); + result = 31 * result + (isPrimitive ? 1 : 0); + result = 31 * result + (variables != null ? variables.hashCode() : 0); + result = 31 * result + (variablePath != null ? variablePath.hashCode() : 0); + return result; + } +} diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/VariablePathImpl.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/VariablePathImpl.java new file mode 100644 index 00000000000..9ef9d59970a --- /dev/null +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/VariablePathImpl.java @@ -0,0 +1,51 @@ +/******************************************************************************* + * Copyright (c) 2012-2016 Codenvy, S.A. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Codenvy, S.A. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.api.debugger.shared.model.impl; + +import org.eclipse.che.api.debugger.shared.model.VariablePath; + +import java.util.Collections; +import java.util.List; + +/** + * @author Anatoliy Bazko + */ +public class VariablePathImpl implements VariablePath { + private final List path; + + public VariablePathImpl(List path) { + this.path = path; + } + + public VariablePathImpl(String name) { + this(Collections.singletonList(name)); + } + + @Override + public List getPath() { + return Collections.unmodifiableList(path); + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (!(o instanceof VariablePathImpl)) return false; + + VariablePathImpl that = (VariablePathImpl)o; + + return !(path != null ? !path.equals(that.path) : that.path != null); + } + + @Override + public int hashCode() { + return path != null ? path.hashCode() : 0; + } +} diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/action/ActionImpl.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/action/ActionImpl.java new file mode 100644 index 00000000000..a3834d7f330 --- /dev/null +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/action/ActionImpl.java @@ -0,0 +1,44 @@ +/******************************************************************************* + * Copyright (c) 2012-2016 Codenvy, S.A. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Codenvy, S.A. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.api.debugger.shared.model.impl.action; + +import org.eclipse.che.api.debugger.shared.model.action.Action; + +/** + * @author Anatoliy Bazko + */ +public class ActionImpl implements Action { + private final TYPE type; + + public ActionImpl(TYPE type) { + this.type = type; + } + + @Override + public TYPE getType() { + return type; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (!(o instanceof ActionImpl)) return false; + + ActionImpl action = (ActionImpl)o; + + return type == action.type; + } + + @Override + public int hashCode() { + return type != null ? type.hashCode() : 0; + } +} diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/action/ResumeActionImpl.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/action/ResumeActionImpl.java new file mode 100644 index 00000000000..38cc385a62c --- /dev/null +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/action/ResumeActionImpl.java @@ -0,0 +1,23 @@ +/******************************************************************************* + * Copyright (c) 2012-2016 Codenvy, S.A. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Codenvy, S.A. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.api.debugger.shared.model.impl.action; + +import org.eclipse.che.api.debugger.shared.model.action.Action; +import org.eclipse.che.api.debugger.shared.model.action.ResumeAction; + +/** + * @author Anatoliy Bazko + */ +public class ResumeActionImpl extends ActionImpl implements ResumeAction { + public ResumeActionImpl() { + super(Action.TYPE.RESUME); + } +} diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/action/StartActionImpl.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/action/StartActionImpl.java new file mode 100644 index 00000000000..2bf9e774722 --- /dev/null +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/action/StartActionImpl.java @@ -0,0 +1,23 @@ +/******************************************************************************* + * Copyright (c) 2012-2016 Codenvy, S.A. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Codenvy, S.A. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.api.debugger.shared.model.impl.action; + +import org.eclipse.che.api.debugger.shared.model.action.Action; +import org.eclipse.che.api.debugger.shared.model.action.StartAction; + +/** + * @author Anatoliy Bazko + */ +public class StartActionImpl extends ActionImpl implements StartAction { + public StartActionImpl() { + super(Action.TYPE.START); + } +} diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/action/StepIntoActionImpl.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/action/StepIntoActionImpl.java new file mode 100644 index 00000000000..ca2676b05fa --- /dev/null +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/action/StepIntoActionImpl.java @@ -0,0 +1,23 @@ +/******************************************************************************* + * Copyright (c) 2012-2016 Codenvy, S.A. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Codenvy, S.A. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.api.debugger.shared.model.impl.action; + +import org.eclipse.che.api.debugger.shared.model.action.Action; +import org.eclipse.che.api.debugger.shared.model.action.StepIntoAction; + +/** + * @author Anatoliy Bazko + */ +public class StepIntoActionImpl extends ActionImpl implements StepIntoAction { + public StepIntoActionImpl() { + super(Action.TYPE.STEP_INTO); + } +} diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/action/StepOutActionImpl.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/action/StepOutActionImpl.java new file mode 100644 index 00000000000..86c5e28208f --- /dev/null +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/action/StepOutActionImpl.java @@ -0,0 +1,23 @@ +/******************************************************************************* + * Copyright (c) 2012-2016 Codenvy, S.A. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Codenvy, S.A. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.api.debugger.shared.model.impl.action; + +import org.eclipse.che.api.debugger.shared.model.action.Action; +import org.eclipse.che.api.debugger.shared.model.action.StepOutAction; + +/** + * @author Anatoliy Bazko + */ +public class StepOutActionImpl extends ActionImpl implements StepOutAction { + public StepOutActionImpl() { + super(Action.TYPE.STEP_OUT); + } +} diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/action/StepOverActionImpl.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/action/StepOverActionImpl.java new file mode 100644 index 00000000000..a2b8e1865f8 --- /dev/null +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/action/StepOverActionImpl.java @@ -0,0 +1,23 @@ +/******************************************************************************* + * Copyright (c) 2012-2016 Codenvy, S.A. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Codenvy, S.A. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.api.debugger.shared.model.impl.action; + +import org.eclipse.che.api.debugger.shared.model.action.Action; +import org.eclipse.che.api.debugger.shared.model.action.StepOverAction; + +/** + * @author Anatoliy Bazko + */ +public class StepOverActionImpl extends ActionImpl implements StepOverAction { + public StepOverActionImpl() { + super(Action.TYPE.STEP_OVER); + } +} diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/event/BreakpointActivatedEventImpl.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/event/BreakpointActivatedEventImpl.java new file mode 100644 index 00000000000..7ea88318833 --- /dev/null +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/event/BreakpointActivatedEventImpl.java @@ -0,0 +1,52 @@ +/******************************************************************************* + * Copyright (c) 2012-2016 Codenvy, S.A. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Codenvy, S.A. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.api.debugger.shared.model.impl.event; + +import org.eclipse.che.api.debugger.shared.model.Breakpoint; +import org.eclipse.che.api.debugger.shared.model.event.BreakpointActivatedEvent; +import org.eclipse.che.api.debugger.shared.model.event.DebuggerEvent; + +/** + * Event will be generated when breakpoint becomes active. + * + * @author Anatoliy Bazko + */ +public class BreakpointActivatedEventImpl extends DebuggerEventImpl implements BreakpointActivatedEvent { + private final Breakpoint breakpoint; + + public BreakpointActivatedEventImpl(Breakpoint breakpoint) { + super(DebuggerEvent.TYPE.BREAKPOINT_ACTIVATED); + this.breakpoint = breakpoint; + } + + @Override + public Breakpoint getBreakpoint() { + return breakpoint; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (!(o instanceof BreakpointActivatedEventImpl)) return false; + if (!super.equals(o)) return false; + + BreakpointActivatedEventImpl that = (BreakpointActivatedEventImpl)o; + + return !(breakpoint != null ? !breakpoint.equals(that.breakpoint) : that.breakpoint != null); + } + + @Override + public int hashCode() { + int result = super.hashCode(); + result = 31 * result + (breakpoint != null ? breakpoint.hashCode() : 0); + return result; + } +} diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/event/DebuggerEventImpl.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/event/DebuggerEventImpl.java new file mode 100644 index 00000000000..9b3643e51bf --- /dev/null +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/event/DebuggerEventImpl.java @@ -0,0 +1,44 @@ +/******************************************************************************* + * Copyright (c) 2012-2016 Codenvy, S.A. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Codenvy, S.A. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.api.debugger.shared.model.impl.event; + +import org.eclipse.che.api.debugger.shared.model.event.DebuggerEvent; + +/** + * @author Anatoliy Bazko + */ +public class DebuggerEventImpl implements DebuggerEvent { + private final TYPE type; + + public DebuggerEventImpl(TYPE type) { + this.type = type; + } + + @Override + public TYPE getType() { + return type; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (!(o instanceof DebuggerEventImpl)) return false; + + DebuggerEventImpl that = (DebuggerEventImpl)o; + + return type == that.type; + } + + @Override + public int hashCode() { + return type != null ? type.hashCode() : 0; + } +} diff --git a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/DebuggerStateException.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/event/DisconnectEventImpl.java similarity index 61% rename from plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/DebuggerStateException.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/event/DisconnectEventImpl.java index af99a08b8d0..69f5ec6d995 100644 --- a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/DebuggerStateException.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/event/DisconnectEventImpl.java @@ -8,16 +8,15 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.java.jdi.server; +package org.eclipse.che.api.debugger.shared.model.impl.event; + +import org.eclipse.che.api.debugger.shared.model.event.DisconnectEvent; /** - * Thrown if Debugger is in inappropriate state to execute requested operation. - * - * @author andrew00x + * @author Anatoliy Bazko */ -@SuppressWarnings("serial") -public final class DebuggerStateException extends DebuggerException { - public DebuggerStateException(String message) { - super(message); +public class DisconnectEventImpl extends DebuggerEventImpl implements DisconnectEvent { + public DisconnectEventImpl() { + super(DebuggerEventImpl.TYPE.DISCONNECT); } } diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/event/SuspendEventImpl.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/event/SuspendEventImpl.java new file mode 100644 index 00000000000..51ea1d66f1b --- /dev/null +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/event/SuspendEventImpl.java @@ -0,0 +1,50 @@ +/******************************************************************************* + * Copyright (c) 2012-2016 Codenvy, S.A. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Codenvy, S.A. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.api.debugger.shared.model.impl.event; + +import org.eclipse.che.api.debugger.shared.model.Location; +import org.eclipse.che.api.debugger.shared.model.event.DebuggerEvent; +import org.eclipse.che.api.debugger.shared.model.event.SuspendEvent; + +/** + * @author Anatoliy Bazko + */ +public class SuspendEventImpl extends DebuggerEventImpl implements SuspendEvent { + private final Location location; + + public SuspendEventImpl(Location location) { + super(DebuggerEvent.TYPE.SUSPEND); + this.location = location; + } + + @Override + public Location getLocation() { + return location; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (!(o instanceof SuspendEventImpl)) return false; + if (!super.equals(o)) return false; + + SuspendEventImpl that = (SuspendEventImpl)o; + + return !(location != null ? !location.equals(that.location) : that.location != null); + } + + @Override + public int hashCode() { + int result = super.hashCode(); + result = 31 * result + (location != null ? location.hashCode() : 0); + return result; + } +} diff --git a/wsagent/che-core-api-debugger/pom.xml b/wsagent/che-core-api-debugger/pom.xml new file mode 100644 index 00000000000..1bc850048bd --- /dev/null +++ b/wsagent/che-core-api-debugger/pom.xml @@ -0,0 +1,175 @@ + + + + 4.0.0 + + che-agent-parent + org.eclipse.che.core + 4.3.0-RC1-SNAPSHOT + + che-core-api-debugger + Che Core :: API :: Debugger + + ${project.build.directory}/generated-sources/dto/ + false + + + + com.google.code.gson + gson + + + com.google.guava + guava + + + com.google.inject + guice + + + com.google.inject.extensions + guice-multibindings + + + javax.annotation + javax.annotation-api + + + javax.inject + javax.inject + + + org.eclipse.che.core + che-core-api-core + + + org.eclipse.che.core + che-core-api-debugger-shared + + + org.eclipse.che.core + che-core-api-dto + + + org.eclipse.che.core + che-core-commons-lang + + + org.everrest + everrest-websockets + + + org.slf4j + slf4j-api + + + javax.websocket + javax.websocket-api + provided + + + javax.ws.rs + javax.ws.rs-api + provided + + + + + + src/main/java + + + src/main/resources + + + ${dto-generator-out-directory} + + + + + org.eclipse.che.core + che-core-api-dto-maven-plugin + ${project.version} + + + process-sources + + generate + + + + + + org.eclipse.che.core + che-core-api-debugger-shared + ${project.version} + + + + + org.eclipse.che.api.debugger.shared.dto + + ${dto-generator-out-directory} + org.eclipse.che.api.debugger.server.dto.DtoServerImpls + server + + + + maven-compiler-plugin + + + pre-compile + generate-sources + + compile + + + + + + org.codehaus.mojo + build-helper-maven-plugin + + + add-resource + process-sources + + add-resource + + + + + ${dto-generator-out-directory}/META-INF + META-INF + + + + + + add-source + process-sources + + add-source + + + + ${dto-generator-out-directory} + + + + + + + + diff --git a/wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/Debugger.java b/wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/Debugger.java new file mode 100644 index 00000000000..45647a1c7bd --- /dev/null +++ b/wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/Debugger.java @@ -0,0 +1,200 @@ +/******************************************************************************* + * Copyright (c) 2012-2016 Codenvy, S.A. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Codenvy, S.A. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.api.debugger.server; + +import org.eclipse.che.api.debugger.server.exceptions.DebuggerException; +import org.eclipse.che.api.debugger.shared.model.Breakpoint; +import org.eclipse.che.api.debugger.shared.model.DebuggerInfo; +import org.eclipse.che.api.debugger.shared.model.Location; +import org.eclipse.che.api.debugger.shared.model.StackFrameDump; +import org.eclipse.che.api.debugger.shared.model.Value; +import org.eclipse.che.api.debugger.shared.model.Variable; +import org.eclipse.che.api.debugger.shared.model.VariablePath; +import org.eclipse.che.api.debugger.shared.model.action.ResumeAction; +import org.eclipse.che.api.debugger.shared.model.action.StartAction; +import org.eclipse.che.api.debugger.shared.model.action.StepIntoAction; +import org.eclipse.che.api.debugger.shared.model.action.StepOutAction; +import org.eclipse.che.api.debugger.shared.model.action.StepOverAction; +import org.eclipse.che.api.debugger.shared.model.event.BreakpointActivatedEvent; +import org.eclipse.che.api.debugger.shared.model.event.DebuggerEvent; +import org.eclipse.che.api.debugger.shared.model.event.DisconnectEvent; +import org.eclipse.che.api.debugger.shared.model.event.SuspendEvent; + +import java.util.List; + +/** + * Server side debugger. + * All methods throws {@link DebuggerException}. + * + * @author Anatoliy Bazko + */ +public interface Debugger { + + /** + * Gets info about current debug sessions. + * + * @return {@link DebuggerInfo} + * @throws DebuggerException + * if any error occur + */ + DebuggerInfo getInfo() throws DebuggerException; + + /** + * Disconnects from the process is being debugged. + * Must be fired {@link DisconnectEvent} if succeeded. + * + * @throws DebuggerException + * if any error occur + */ + void disconnect() throws DebuggerException; + + /** + * Starts debugger when connection is established. + * Some implementations might not required it. + * When process stops then {@link SuspendEvent} must be fired. + * + * @param action + * contains specific parameters + * @throws DebuggerException + * if any error occur + */ + void start(StartAction action) throws DebuggerException; + + /** + * Adds given breakpoint. When breakpoint is accepted by server + * then {@link BreakpointActivatedEvent} must be fired. If breakpoint becomes + * deferred or just ignored then no events should be fired. + * + * @param breakpoint + * the breakpoint to add + * @throws DebuggerException + * if any error occur + */ + void addBreakpoint(Breakpoint breakpoint) throws DebuggerException; + + /** + * Deletes given breakpoint. + * + * @param location + * the location of the breakpoint to delete + * @throws DebuggerException + * if any error occur + */ + void deleteBreakpoint(Location location) throws DebuggerException; + + /** + * Deletes all breakpoints. + * + * @throws DebuggerException + * if any error occur + */ + void deleteAllBreakpoints() throws DebuggerException; + + /** + * Gets all breakpoints. + * + * @throws DebuggerException + * if any error occur + */ + List getAllBreakpoints() throws DebuggerException; + + /** + * Gets the current value of the given variable. + * + * @param variablePath + * the path to the variable + * @return {@link Value} + * @throws DebuggerException + * if any error occur + */ + Value getValue(VariablePath variablePath) throws DebuggerException; + + /** + * Sets the new value {@link Variable#getValue()} of the variable {@link Variable#getVariablePath()}. + * + * @param variable + * the variable to update + * @throws DebuggerException + * if any error occur + */ + void setValue(Variable variable) throws DebuggerException; + + /** + * Evaluates the given expression. + * + * @param expression + * the expression to evaluate + * @return the result + * @throws DebuggerException + * if any error occur + */ + String evaluate(String expression) throws DebuggerException; + + /** + * Performs step over action. + * When process stops then {@link SuspendEvent} must be fired. + * + * @param action + * contains specific parameters + * @throws DebuggerException + * if any error occur + */ + void stepOver(StepOverAction action) throws DebuggerException; + + /** + * Performs step into action. + * When process stops then {@link SuspendEvent} must be fired. + * + * @param action + * contains specific parameters + * @throws DebuggerException + * if any error occur + */ + void stepInto(StepIntoAction action) throws DebuggerException; + + /** + * Performs step out action. + * When process stops then {@link SuspendEvent} must be fired. + * + * @param action + * contains specific parameters + * @throws DebuggerException + * if any error occur + */ + void stepOut(StepOutAction action) throws DebuggerException; + + /** + * Resume application is being debugged. + * When process stops then {@link SuspendEvent} must be fired. + * + * @param action + * contains specific parameters + * @throws DebuggerException + * if any error occur + */ + void resume(ResumeAction action) throws DebuggerException; + + /** + * Dump values of local variables, fields and method arguments of the current frame. + * + * @return {@link StackFrameDump} + * @throws DebuggerException + * if any error occur + */ + StackFrameDump dumpStackFrame() throws DebuggerException; + + /** + * Is used to send back any events to client. + */ + interface DebuggerCallback { + void onEvent(DebuggerEvent event); + } +} diff --git a/wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/DebuggerActionProvider.java b/wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/DebuggerActionProvider.java new file mode 100644 index 00000000000..2b0588f8e2e --- /dev/null +++ b/wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/DebuggerActionProvider.java @@ -0,0 +1,94 @@ +/******************************************************************************* + * Copyright (c) 2012-2016 Codenvy, S.A. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Codenvy, S.A. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.api.debugger.server; + +import com.google.common.io.CharStreams; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParser; + +import org.eclipse.che.api.debugger.shared.dto.action.ActionDto; +import org.eclipse.che.api.debugger.shared.dto.action.ResumeActionDto; +import org.eclipse.che.api.debugger.shared.dto.action.StartActionDto; +import org.eclipse.che.api.debugger.shared.dto.action.StepIntoActionDto; +import org.eclipse.che.api.debugger.shared.dto.action.StepOutActionDto; +import org.eclipse.che.api.debugger.shared.dto.action.StepOverActionDto; +import org.eclipse.che.api.debugger.shared.model.action.Action; +import org.eclipse.che.dto.server.DtoFactory; +import org.eclipse.che.dto.shared.DTO; + +import javax.inject.Singleton; +import javax.ws.rs.Consumes; +import javax.ws.rs.WebApplicationException; +import javax.ws.rs.core.MediaType; +import javax.ws.rs.core.MultivaluedMap; +import javax.ws.rs.ext.MessageBodyReader; +import javax.ws.rs.ext.Provider; +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.lang.annotation.Annotation; +import java.lang.reflect.Type; + +/** + * Implementation of {@link MessageBodyReader} needed for binding JSON content to Java Objects. + * + * @author Anatoliy Bazko + * @see DTO + * @see DtoFactory + */ +@Singleton +@Provider +@Consumes({MediaType.APPLICATION_JSON}) +public class DebuggerActionProvider implements MessageBodyReader { + + @Override + public boolean isReadable(Class type, Type genericType, Annotation[] annotations, MediaType mediaType) { + return ActionDto.class.isAssignableFrom(type); + } + + @Override + public ActionDto readFrom(Class type, + Type genericType, + Annotation[] annotations, + MediaType mediaType, + MultivaluedMap httpHeaders, + InputStream entityStream) throws IOException, WebApplicationException { + String json = CharStreams.toString(new BufferedReader(new InputStreamReader(entityStream))); + + JsonParser jsonParser = new JsonParser(); + JsonElement jsonElement = jsonParser.parse(json); + JsonObject jsonObject = jsonElement.getAsJsonObject(); + + + if (!jsonObject.has("type")) { + throw new IOException("Json is broken. There is not type key in json object"); + } + + Action.TYPE actionType = Action.TYPE.valueOf(jsonObject.get("type").getAsString()); + switch (actionType) { + case RESUME: + return DtoFactory.getInstance().createDtoFromJson(json, ResumeActionDto.class); + case START: + return DtoFactory.getInstance().createDtoFromJson(json, StartActionDto.class); + case STEP_INTO: + return DtoFactory.getInstance().createDtoFromJson(json, StepIntoActionDto.class); + case STEP_OUT: + return DtoFactory.getInstance().createDtoFromJson(json, StepOutActionDto.class); + case STEP_OVER: + return DtoFactory.getInstance().createDtoFromJson(json, StepOverActionDto.class); + default: + throw new IOException("Can't parse json. Unknown action type: " + actionType); + } + } + +} diff --git a/wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/DebuggerFactory.java b/wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/DebuggerFactory.java new file mode 100644 index 00000000000..ab4651421a6 --- /dev/null +++ b/wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/DebuggerFactory.java @@ -0,0 +1,44 @@ +/******************************************************************************* + * Copyright (c) 2012-2016 Codenvy, S.A. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Codenvy, S.A. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.api.debugger.server; + +import org.eclipse.che.api.debugger.server.Debugger.DebuggerCallback; +import org.eclipse.che.api.debugger.server.exceptions.DebuggerException; + +import java.util.Map; + +/** + * Responsibility to create a new {@link Debugger} instance of specific type every time + * client starts a new debugger session. + * + * @author Anatoliy Bazko + */ +public interface DebuggerFactory { + + /** + * Returns a debugger type. + */ + String getType(); + + /** + * Creates a new {@link Debugger} instance with given properties. + * + * @param properties + * the specific properties to create debugger with + * @param debuggerCallback + * is used to sent any events back to the client + * + * @return {@link Debugger} + * @throws DebuggerException + * if any exception occurred + */ + Debugger create(Map properties, DebuggerCallback debuggerCallback) throws DebuggerException; +} diff --git a/wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/DebuggerManager.java b/wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/DebuggerManager.java new file mode 100644 index 00000000000..276f0b440dc --- /dev/null +++ b/wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/DebuggerManager.java @@ -0,0 +1,119 @@ +/******************************************************************************* + * Copyright (c) 2012-2016 Codenvy, S.A. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Codenvy, S.A. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.api.debugger.server; + +import com.google.inject.Inject; +import com.google.inject.Singleton; + +import org.eclipse.che.api.core.notification.EventService; +import org.eclipse.che.api.debugger.server.exceptions.DebuggerException; +import org.eclipse.che.api.debugger.server.exceptions.DebuggerNotFoundException; +import org.eclipse.che.api.debugger.shared.model.event.DebuggerEvent; +import org.eclipse.che.commons.lang.Pair; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.Map; +import java.util.Set; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.atomic.AtomicLong; + +import static java.lang.Long.parseLong; + +/** + * @author Anatoliy Bazko + */ +@Singleton +public class DebuggerManager { + + private static final Logger LOG = LoggerFactory.getLogger(DebuggerManager.class); + + private final EventService eventService; + + /** + * Registered factories by debug type. + */ + private final Map factories; + + /** + * Active debug sessions. + */ + private final Map> debuggers; + private final AtomicLong sessionId; + + @Inject + public DebuggerManager(Set factories, EventService eventService) { + this.eventService = eventService; + this.factories = new ConcurrentHashMap<>(); + this.debuggers = new ConcurrentHashMap<>(); + this.sessionId = new AtomicLong(); + + factories.stream().forEach(factory -> this.factories.put(factory.getType(), factory)); + } + + /** + * Instantiates a new debugger of given type. + * @see DebuggerFactory#create(Map, Debugger.DebuggerCallback) + * @return session identifier + */ + public String create(String debuggerType, Map properties) throws DebuggerException { + DebuggerFactory factory = factories.get(debuggerType); + if (factory == null) { + throw new DebuggerNotFoundException("Debugger factory type '" + debuggerType + "' is not registered"); + } + + final long id = sessionId.incrementAndGet(); + Debugger debugger = factory.create(properties, event -> { + if (DebuggerEvent.TYPE.DISCONNECT == event.getType()) { + debuggers.remove(id); + } + + eventService.publish(new DebuggerMessage(event, debuggerType)); + }); + debuggers.put(id, Pair.of(debuggerType, debugger)); + + return String.valueOf(id); + } + + /** + * @return active debugger by session id + * @throws DebuggerNotFoundException + * if no debugger found + */ + public Debugger getDebugger(String sessionId) throws DebuggerNotFoundException { + try { + Pair debugger = debuggers.get(parseLong(sessionId)); + if (debugger == null) { + throw new DebuggerNotFoundException("Debug session " + sessionId + " not found"); + } + return debugger.second; + } catch (NumberFormatException e) { + throw new DebuggerNotFoundException("Illegal session id " + sessionId); + } + } + + /** + * @return debugger type by session id + * @throws DebuggerNotFoundException + * if no debugger found + */ + public String getDebuggerType(String sessionId) throws DebuggerNotFoundException { + try { + Pair debugger = debuggers.get(parseLong(sessionId)); + if (debugger == null) { + throw new DebuggerNotFoundException("Debug session " + sessionId + " not found"); + } + return debugger.first; + } catch (NumberFormatException e) { + throw new DebuggerNotFoundException("Illegal session id " + sessionId); + } + } +} diff --git a/wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/DebuggerMessage.java b/wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/DebuggerMessage.java new file mode 100644 index 00000000000..a9b5a11239b --- /dev/null +++ b/wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/DebuggerMessage.java @@ -0,0 +1,38 @@ +/******************************************************************************* + * Copyright (c) 2012-2016 Codenvy, S.A. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Codenvy, S.A. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.api.debugger.server; + +import org.eclipse.che.api.core.notification.EventService; +import org.eclipse.che.api.debugger.shared.model.event.DebuggerEvent; + +/** + * A wrapper over {@link DebuggerEvent} to send data over {@link EventService}. + * Contains type as identifier of the target debugger. + * + * @author Anatoliy Bazko + */ +public class DebuggerMessage { + private final DebuggerEvent debuggerEvent; + private final String debuggerType; + + public DebuggerMessage(DebuggerEvent debuggerEvent, String debuggerType) { + this.debuggerEvent = debuggerEvent; + this.debuggerType = debuggerType; + } + + public DebuggerEvent getDebuggerEvent() { + return debuggerEvent; + } + + public String getDebuggerType() { + return debuggerType; + } +} diff --git a/wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/DebuggerModule.java b/wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/DebuggerModule.java new file mode 100644 index 00000000000..b7b51b25894 --- /dev/null +++ b/wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/DebuggerModule.java @@ -0,0 +1,36 @@ +/******************************************************************************* + * Copyright (c) 2012-2016 Codenvy, S.A. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Codenvy, S.A. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.api.debugger.server; + +import com.google.inject.AbstractModule; +import com.google.inject.multibindings.Multibinder; +import com.google.inject.name.Names; + +import org.eclipse.che.api.debugger.shared.dto.action.ActionDto; + +/** + * The module that contains configuration of the server side part of the Debugger. + * + * @author Anatoliy Bazko + */ +public class DebuggerModule extends AbstractModule { + + @Override + protected void configure() { + bind(DebuggerManager.class); + bind(DebuggerService.class); + bind(DebuggerWebSocketMessenger.class); + + bind(DebuggerActionProvider.class); + final Multibinder ignoredClasses = Multibinder.newSetBinder(binder(), Class.class, Names.named("che.json.ignored_classes")); + ignoredClasses.addBinding().toInstance(ActionDto.class); + } +} diff --git a/wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/DebuggerService.java b/wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/DebuggerService.java new file mode 100644 index 00000000000..0bbd2009243 --- /dev/null +++ b/wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/DebuggerService.java @@ -0,0 +1,198 @@ +/******************************************************************************* + * Copyright (c) 2012-2016 Codenvy, S.A. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Codenvy, S.A. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.api.debugger.server; + +import com.google.inject.Inject; + +import org.eclipse.che.api.debugger.server.exceptions.DebuggerException; +import org.eclipse.che.api.debugger.server.exceptions.DebuggerNotFoundException; +import org.eclipse.che.api.debugger.shared.dto.BreakpointDto; +import org.eclipse.che.api.debugger.shared.dto.DebugSessionDto; +import org.eclipse.che.api.debugger.shared.dto.StackFrameDumpDto; +import org.eclipse.che.api.debugger.shared.dto.ValueDto; +import org.eclipse.che.api.debugger.shared.dto.VariableDto; +import org.eclipse.che.api.debugger.shared.dto.action.ActionDto; +import org.eclipse.che.api.debugger.shared.model.DebuggerInfo; +import org.eclipse.che.api.debugger.shared.model.Location; +import org.eclipse.che.api.debugger.shared.model.VariablePath; +import org.eclipse.che.api.debugger.shared.model.action.ResumeAction; +import org.eclipse.che.api.debugger.shared.model.action.StartAction; +import org.eclipse.che.api.debugger.shared.model.action.StepIntoAction; +import org.eclipse.che.api.debugger.shared.model.action.StepOutAction; +import org.eclipse.che.api.debugger.shared.model.action.StepOverAction; +import org.eclipse.che.api.debugger.shared.model.impl.LocationImpl; +import org.eclipse.che.api.debugger.shared.model.impl.VariablePathImpl; + +import javax.ws.rs.Consumes; +import javax.ws.rs.DELETE; +import javax.ws.rs.DefaultValue; +import javax.ws.rs.GET; +import javax.ws.rs.POST; +import javax.ws.rs.PUT; +import javax.ws.rs.Path; +import javax.ws.rs.PathParam; +import javax.ws.rs.Produces; +import javax.ws.rs.QueryParam; +import javax.ws.rs.core.Context; +import javax.ws.rs.core.MediaType; +import javax.ws.rs.core.MultivaluedMap; +import javax.ws.rs.core.UriInfo; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +import static org.eclipse.che.api.debugger.server.DtoConverter.asBreakpointsDto; +import static org.eclipse.che.api.debugger.server.DtoConverter.asDto; +import static org.eclipse.che.dto.server.DtoFactory.newDto; + +/** + * Debugger REST API. + * + * @author Anatoliy Bazko + */ +@Path("debugger/{ws-id}") +public class DebuggerService { + private final DebuggerManager debuggerManager; + + @Inject + public DebuggerService(DebuggerManager debuggerManager) { + this.debuggerManager = debuggerManager; + } + + @POST + @Produces(MediaType.APPLICATION_JSON) + @Consumes(MediaType.APPLICATION_JSON) + public DebugSessionDto connect(final @QueryParam("type") String debuggerType, + final Map properties) throws DebuggerException { + String sessionId = debuggerManager.create(debuggerType, properties); + return getDebugSession(sessionId); + } + + @DELETE + @Path("{id}") + public void disconnect(@PathParam("id") String sessionId) throws DebuggerException { + Debugger debugger; + try { + debugger = debuggerManager.getDebugger(sessionId); + } catch (DebuggerNotFoundException e) { + // probably already disconnected + return; + } + + debugger.disconnect(); + } + + @GET + @Path("{id}") + @Produces(MediaType.APPLICATION_JSON) + public DebugSessionDto getDebugSession(@PathParam("id") String sessionId) throws DebuggerException { + DebuggerInfo debuggerInfo = debuggerManager.getDebugger(sessionId).getInfo(); + + DebugSessionDto debugSessionDto = newDto(DebugSessionDto.class); + debugSessionDto.setDebuggerInfo(asDto(debuggerInfo)); + debugSessionDto.setId(sessionId); + debugSessionDto.setType(debuggerManager.getDebuggerType(sessionId)); + + return debugSessionDto; + } + + @POST + @Path("{id}") + public void performAction(@PathParam("id") String sessionId, ActionDto action) throws DebuggerException { + Debugger debugger = debuggerManager.getDebugger(sessionId); + switch (action.getType()) { + case START: + debugger.start((StartAction)action); + break; + case RESUME: + debugger.resume((ResumeAction)action); + break; + case STEP_INTO: + debugger.stepInto((StepIntoAction)action); + break; + case STEP_OUT: + debugger.stepOut((StepOutAction)action); + break; + case STEP_OVER: + debugger.stepOver((StepOverAction)action); + break; + default: + throw new DebuggerException("Unknown debugger action type " + action.getType()); + } + } + + @POST + @Path("{id}/breakpoint") + @Consumes(MediaType.APPLICATION_JSON) + public void addBreakpoint(@PathParam("id") String sessionId, BreakpointDto breakpoint) throws DebuggerException { + debuggerManager.getDebugger(sessionId).addBreakpoint(breakpoint); + } + + @GET + @Path("{id}/breakpoint") + @Produces(MediaType.APPLICATION_JSON) + public List getBreakpoints(@PathParam("id") String sessionId) throws DebuggerException { + return asBreakpointsDto(debuggerManager.getDebugger(sessionId).getAllBreakpoints()); + } + + @DELETE + @Path("{id}/breakpoint") + public void deleteBreakpoint(@PathParam("id") String sessionId, + @QueryParam("target") String target, + @QueryParam("line") @DefaultValue("0") int lineNumber) throws DebuggerException { + if (target == null) { + debuggerManager.getDebugger(sessionId).deleteAllBreakpoints(); + } else { + Location location = new LocationImpl(target, lineNumber); + debuggerManager.getDebugger(sessionId).deleteBreakpoint(location); + } + } + + @GET + @Path("{id}/dump") + @Produces(MediaType.APPLICATION_JSON) + public StackFrameDumpDto getStackFrameDump(@PathParam("id") String sessionId) throws DebuggerException { + return asDto(debuggerManager.getDebugger(sessionId).dumpStackFrame()); + } + + @GET + @Path("{id}/value") + @Produces(MediaType.APPLICATION_JSON) + public ValueDto getValue(@PathParam("id") String sessionId, @Context UriInfo uriInfo) throws DebuggerException { + List path = new ArrayList<>(); + + MultivaluedMap parameters = uriInfo.getPathParameters(); + + int i = 0; + String item; + while ((item = parameters.getFirst("path" + (i++))) != null) { + path.add(item); + } + + VariablePath variablePath = new VariablePathImpl(path); + return asDto(debuggerManager.getDebugger(sessionId).getValue(variablePath)); + } + + @PUT + @Path("{id}/value") + @Consumes(MediaType.APPLICATION_JSON) + public void setValue(@PathParam("id") String sessionId, VariableDto variable) throws DebuggerException { + debuggerManager.getDebugger(sessionId).setValue(variable); + } + + @GET + @Path("{id}/evaluation") + @Produces(MediaType.TEXT_PLAIN) + public String expression(@PathParam("id") String sessionId, + @QueryParam("expression") String expression) throws DebuggerException { + return debuggerManager.getDebugger(sessionId).evaluate(expression); + } +} diff --git a/wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/DebuggerWebSocketMessenger.java b/wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/DebuggerWebSocketMessenger.java new file mode 100644 index 00000000000..4fc03e8a2bd --- /dev/null +++ b/wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/DebuggerWebSocketMessenger.java @@ -0,0 +1,65 @@ +/******************************************************************************* + * Copyright (c) 2012-2016 Codenvy, S.A. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Codenvy, S.A. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.api.debugger.server; + +import org.eclipse.che.api.core.notification.EventService; +import org.eclipse.che.api.core.notification.EventSubscriber; +import org.eclipse.che.dto.server.DtoFactory; +import org.everrest.websockets.WSConnectionContext; +import org.everrest.websockets.message.ChannelBroadcastMessage; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.annotation.PostConstruct; +import javax.annotation.PreDestroy; +import javax.inject.Inject; +import javax.inject.Singleton; + +import static org.eclipse.che.api.debugger.server.DtoConverter.asDto; + +/** + * @author Anatoliy Bazko + */ +@Singleton +public class DebuggerWebSocketMessenger implements EventSubscriber { + private static final Logger LOG = LoggerFactory.getLogger(DebuggerWebSocketMessenger.class); + private static final String CHANNEL = "%s:events:"; + + private final EventService eventService; + + @Inject + public DebuggerWebSocketMessenger(EventService eventService) { + this.eventService = eventService; + } + + @PostConstruct + private void subscribe() { + eventService.subscribe(this); + } + + @PreDestroy + private void unsubscribe() { + eventService.unsubscribe(this); + } + + @Override + public void onEvent(DebuggerMessage msg) { + try { + final ChannelBroadcastMessage bm = new ChannelBroadcastMessage(); + final String channel = String.format(CHANNEL, msg.getDebuggerType()); + bm.setChannel(channel); + bm.setBody(DtoFactory.getInstance().toJson(asDto(msg.getDebuggerEvent()))); + WSConnectionContext.sendMessage(bm); + } catch (Exception e) { + LOG.error(e.getMessage(), e); + } + } +} diff --git a/wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/DtoConverter.java b/wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/DtoConverter.java new file mode 100644 index 00000000000..ea9e7cf0cab --- /dev/null +++ b/wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/DtoConverter.java @@ -0,0 +1,148 @@ +/******************************************************************************* + * Copyright (c) 2012-2016 Codenvy, S.A. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Codenvy, S.A. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.api.debugger.server; + + +import org.eclipse.che.api.debugger.shared.dto.BreakpointDto; +import org.eclipse.che.api.debugger.shared.dto.DebugSessionDto; +import org.eclipse.che.api.debugger.shared.dto.DebuggerInfoDto; +import org.eclipse.che.api.debugger.shared.dto.FieldDto; +import org.eclipse.che.api.debugger.shared.dto.LocationDto; +import org.eclipse.che.api.debugger.shared.dto.StackFrameDumpDto; +import org.eclipse.che.api.debugger.shared.dto.ValueDto; +import org.eclipse.che.api.debugger.shared.dto.VariableDto; +import org.eclipse.che.api.debugger.shared.dto.VariablePathDto; +import org.eclipse.che.api.debugger.shared.dto.event.BreakpointActivatedEventDto; +import org.eclipse.che.api.debugger.shared.dto.event.DebuggerEventDto; +import org.eclipse.che.api.debugger.shared.dto.event.DisconnectEventDto; +import org.eclipse.che.api.debugger.shared.dto.event.SuspendEventDto; +import org.eclipse.che.api.debugger.shared.model.Breakpoint; +import org.eclipse.che.api.debugger.shared.model.DebugSession; +import org.eclipse.che.api.debugger.shared.model.DebuggerInfo; +import org.eclipse.che.api.debugger.shared.model.Field; +import org.eclipse.che.api.debugger.shared.model.Location; +import org.eclipse.che.api.debugger.shared.model.StackFrameDump; +import org.eclipse.che.api.debugger.shared.model.Value; +import org.eclipse.che.api.debugger.shared.model.Variable; +import org.eclipse.che.api.debugger.shared.model.VariablePath; +import org.eclipse.che.api.debugger.shared.model.event.BreakpointActivatedEvent; +import org.eclipse.che.api.debugger.shared.model.event.DebuggerEvent; +import org.eclipse.che.api.debugger.shared.model.event.SuspendEvent; + +import java.util.Collections; +import java.util.List; +import java.util.stream.Collectors; + +import static org.eclipse.che.dto.server.DtoFactory.newDto; + +/** + * Helps to convert to/from DTOs related to debugger. + * + * @author Anatoliy Bazko + */ +public final class DtoConverter { + + public static DebuggerInfoDto asDto(DebuggerInfo debuggerInfo) { + return newDto(DebuggerInfoDto.class).withPort(debuggerInfo.getPort()) + .withFile(debuggerInfo.getFile()) + .withHost(debuggerInfo.getHost()) + .withName(debuggerInfo.getName()) + .withVersion(debuggerInfo.getVersion()) + .withPid(debuggerInfo.getPid()); + } + + public static DebugSessionDto asDto(DebugSession debugSession) { + return newDto(DebugSessionDto.class).withDebuggerInfo(asDto(debugSession.getDebuggerInfo())) + .withId(debugSession.getId()) + .withType(debugSession.getType()); + } + + public static BreakpointDto asDto(Breakpoint breakpoint) { + return newDto(BreakpointDto.class).withCondition(breakpoint.getCondition()) + .withEnabled(breakpoint.isEnabled()) + .withLocation(asDto(breakpoint.getLocation())); + } + + public static List asBreakpointsDto(List breakpoints) { + return breakpoints.stream().map(DtoConverter::asDto).collect(Collectors.toList()); + } + + public static LocationDto asDto(Location location) { + return newDto(LocationDto.class).withTarget(location.getTarget()) + .withLineNumber(location.getLineNumber()); + } + + public static ValueDto asDto(Value value) { + return newDto(ValueDto.class).withValue(value.getValue()) + .withVariables(asVariablesDto(value.getVariables())); + } + + public static FieldDto asDto(Field field) { + return newDto(FieldDto.class).withType(field.getType()) + .withExistInformation(field.isExistInformation()) + .withName(field.getName()) + .withPrimitive(field.isPrimitive()) + .withValue(field.getValue()) + .withVariablePath(asDto(field.getVariablePath())) + .withVariables(asVariablesDto(field.getVariables())) + .withIsFinal(field.isIsFinal()) + .withIsStatic(field.isIsStatic()) + .withIsTransient(field.isIsTransient()) + .withIsVolatile(field.isIsVolatile()); + } + + public static List asFieldsDto(List fields) { + return fields.stream().map(DtoConverter::asDto).collect(Collectors.toList()); + } + + public static List asVariablesDto(List variables) { + return variables.stream().map(DtoConverter::asDto).collect(Collectors.toList()); + } + + public static VariableDto asDto(Variable variable) { + return newDto(VariableDto.class).withType(variable.getType()) + .withExistInformation(variable.isExistInformation()) + .withName(variable.getName()) + .withPrimitive(variable.isPrimitive()) + .withValue(variable.getValue()) + .withVariablePath(asDto(variable.getVariablePath())) + .withVariables(variable.getVariables().isEmpty() ? Collections.emptyList() + : asVariablesDto(variable.getVariables())); + } + + public static VariablePathDto asDto(VariablePath variablePath) { + return newDto(VariablePathDto.class).withPath(variablePath.getPath()); + } + + public static StackFrameDumpDto asDto(StackFrameDump stackFrameDump) { + return newDto(StackFrameDumpDto.class).withVariables(asVariablesDto(stackFrameDump.getVariables())) + .withFields(asFieldsDto(stackFrameDump.getFields())); + } + + public static DebuggerEventDto asDto(DebuggerEvent debuggerEvent) { + switch (debuggerEvent.getType()) { + case DISCONNECT: + return newDto(DisconnectEventDto.class).withType(DebuggerEvent.TYPE.DISCONNECT); + case SUSPEND: + return newDto(SuspendEventDto.class).withType(DebuggerEvent.TYPE.SUSPEND) + .withLocation(asDto(((SuspendEvent)debuggerEvent).getLocation())); + case BREAKPOINT_ACTIVATED: + return newDto(BreakpointActivatedEventDto.class) + .withType(DebuggerEvent.TYPE.BREAKPOINT_ACTIVATED) + .withBreakpoint(asDto(((BreakpointActivatedEvent)debuggerEvent).getBreakpoint())); + default: + throw new IllegalArgumentException("Illegal event type " + debuggerEvent.getType().toString()); + } + } + + + private DtoConverter() {} +} diff --git a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/DebuggerException.java b/wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/exceptions/DebuggerException.java similarity index 74% rename from plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/DebuggerException.java rename to wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/exceptions/DebuggerException.java index dc942ddc96c..28d94e53f7e 100644 --- a/plugins/plugin-java/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/ide/ext/java/jdi/server/DebuggerException.java +++ b/wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/exceptions/DebuggerException.java @@ -8,22 +8,22 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.ext.java.jdi.server; +package org.eclipse.che.api.debugger.server.exceptions; + import org.eclipse.che.api.core.ServerException; /** - * Main exception to throw my Debugger. Used as wrapper for JDI (Java Debug Interface) exceptions. + * A general debugger exception. * - * @author andrew00x + * @author Anatoliy Bazko */ -@SuppressWarnings("serial") public class DebuggerException extends ServerException { public DebuggerException(String message) { super(message); } - public DebuggerException(String message, Throwable cause) { + public DebuggerException(String message, Exception cause) { super(message, cause); } } diff --git a/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/GdbDebuggerNotFoundException.java b/wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/exceptions/DebuggerNotFoundException.java similarity index 74% rename from plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/GdbDebuggerNotFoundException.java rename to wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/exceptions/DebuggerNotFoundException.java index b22c493ae4e..fd6eb72f50a 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/ide/gdb/server/GdbDebuggerNotFoundException.java +++ b/wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/exceptions/DebuggerNotFoundException.java @@ -8,14 +8,13 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.ide.gdb.server; +package org.eclipse.che.api.debugger.server.exceptions; /** * @author Anatoliy Bazko */ -@SuppressWarnings("serial") -public class GdbDebuggerNotFoundException extends GdbDebuggerException { - public GdbDebuggerNotFoundException(String message) { +public class DebuggerNotFoundException extends DebuggerException { + public DebuggerNotFoundException(String message) { super(message); } } diff --git a/wsagent/pom.xml b/wsagent/pom.xml index 5459d57f841..94bccc1ee9d 100644 --- a/wsagent/pom.xml +++ b/wsagent/pom.xml @@ -30,6 +30,8 @@ che-core-api-git che-core-api-git-shared che-core-git-impl-native + che-core-api-debugger + che-core-api-debugger-shared wsagent-local From 43a3b8f132261a80634fb25fa02596e909a760b6 Mon Sep 17 00:00:00 2001 From: Anatoliy Bazko Date: Tue, 10 May 2016 17:44:04 +0300 Subject: [PATCH 2/3] fixup! CHE-976: Make debugger API generic --- core/ide/che-core-ide-app/pom.xml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/core/ide/che-core-ide-app/pom.xml b/core/ide/che-core-ide-app/pom.xml index ee1ae51ed45..d829d13769f 100644 --- a/core/ide/che-core-ide-app/pom.xml +++ b/core/ide/che-core-ide-app/pom.xml @@ -59,10 +59,6 @@ org.eclipse.che.core che-core-api-debugger-shared - - org.eclipse.che.core - che-core-api-debugger-shared - org.eclipse.che.core che-core-api-dto From b707dbeeb6401e5f1ea6762f2043566194a37aa6 Mon Sep 17 00:00:00 2001 From: Anatoliy Bazko Date: Wed, 11 May 2016 14:56:35 +0300 Subject: [PATCH 3/3] CHE-976: Move all classes from debugger-gwt module to debug package --- assembly/assembly-ide-war/pom.xml | 4 - .../resources/org/eclipse/che/ide/IDE.gwt.xml | 1 - core/ide/che-core-ide-api/pom.xml | 16 +- .../ide/api/debug}/DebuggerServiceClient.java | 26 ++-- .../api/debug}/DebuggerServiceClientImpl.java | 26 ++-- core/ide/che-core-ide-app/pom.xml | 4 - .../eclipse/che/ide/core/CoreGinModule.java | 16 +- .../org/eclipse/che/ide/debug/Debugger.java | 6 +- .../che-core-client-gwt-debugger/pom.xml | 146 ------------------ .../org/eclipse/che/api/Debugger.gwt.xml | 20 --- core/platform-api-client-gwt/pom.xml | 1 - .../che-plugin-debugger-ide/pom.xml | 4 - .../debugger/ide/debug/AbstractDebugger.java | 52 +++---- .../ide/debug/DebuggerEventUnmarshaller.java | 10 +- .../debugger/ide/debug/DebuggerPresenter.java | 12 +- .../debugger/ide/debug/DebuggerView.java | 6 +- .../debugger/ide/debug/DebuggerViewImpl.java | 8 +- .../ide/debug/VariableNodeDataAdapter.java | 2 +- .../ide/debug/VariableTreeNodeRenderer.java | 2 +- .../changevalue/ChangeValuePresenter.java | 4 +- .../che/plugin/debugger/ide/BaseTest.java | 6 +- .../debugger/ide/ChangeVariableValueTest.java | 6 +- .../ide/debug/DebuggerPresenterTest.java | 8 +- .../debugger/ide/debug/DebuggerTest.java | 38 ++--- plugins/plugin-gdb/che-plugin-gdb-ide/pom.xml | 4 - .../che/plugin/gdb/ide/GdbDebugger.java | 4 +- .../che/plugin/gdb/server/GdbDebugger.java | 40 ++--- .../plugin/gdb/server/parser/GdbContinue.java | 8 +- .../gdb/server/parser/GdbInfoBreak.java | 8 +- .../plugin/gdb/server/parser/GdbInfoLine.java | 4 +- .../che/plugin/gdb/server/parser/GdbRun.java | 8 +- .../plugin/gdb/server/GdbDebuggerTest.java | 38 ++--- .../che/plugin/gdb/server/GdbTest.java | 2 +- .../gdb/server/parser/GdbInfoBreakTest.java | 2 +- .../gdb/server/parser/GdbInfoLineTest.java | 2 +- .../plugin/gdb/server/parser/GdbRunTest.java | 2 +- .../che-plugin-java-debugger-ide/pom.xml | 4 - .../plugin/jdb/ide/debug/JavaDebugger.java | 4 +- .../jdb/server/BreakPointComparator.java | 2 +- .../che/plugin/jdb/server/JavaDebugger.java | 52 +++---- pom.xml | 5 - .../debugger/shared/dto/BreakpointDto.java | 6 +- .../debugger/shared/dto/DebugSessionDto.java | 4 +- .../debugger/shared/dto/DebuggerInfoDto.java | 4 +- .../api/debugger/shared/dto/FieldDto.java | 5 +- .../api/debugger/shared/dto/LocationDto.java | 4 +- .../shared/dto/StackFrameDumpDto.java | 4 +- .../api/debugger/shared/dto/ValueDto.java | 4 +- .../api/debugger/shared/dto/VariableDto.java | 4 +- .../debugger/shared/dto/VariablePathDto.java | 4 +- .../debugger/shared/dto/action/ActionDto.java | 4 +- .../shared/dto/action/ResumeActionDto.java | 6 +- .../shared/dto/action/StartActionDto.java | 6 +- .../shared/dto/action/StepIntoActionDto.java | 11 +- .../shared/dto/action/StepOutActionDto.java | 11 +- .../shared/dto/action/StepOverActionDto.java | 6 +- .../shared/dto/action/SuspendActionDto.java | 6 +- .../event/BreakpointActivatedEventDto.java | 6 +- .../shared/dto/event/DebuggerEventDto.java | 4 +- .../shared/dto/event/DisconnectEventDto.java | 4 +- .../shared/dto/event/SuspendEventDto.java | 6 +- .../api/debugger/shared/model/Breakpoint.java | 2 +- .../debugger/shared/model/DebugSession.java | 2 +- .../debugger/shared/model/DebuggerInfo.java | 2 +- .../api/debugger/shared/model/Field.java | 2 +- .../api/debugger/shared/model/Location.java | 2 +- .../shared/model/MutableVariable.java | 2 +- .../debugger/shared/model/StackFrameDump.java | 2 +- .../api/debugger/shared/model/Value.java | 2 +- .../api/debugger/shared/model/Variable.java | 2 +- .../debugger/shared/model/VariablePath.java | 2 +- .../debugger/shared/model/action/Action.java | 2 +- .../shared/model/action/ResumeAction.java | 2 +- .../shared/model/action/StartAction.java | 2 +- .../shared/model/action/StepIntoAction.java | 2 +- .../shared/model/action/StepOutAction.java | 2 +- .../shared/model/action/StepOverAction.java | 2 +- .../shared/model/action/SuspendAction.java | 2 +- .../model/event/BreakpointActivatedEvent.java | 4 +- .../shared/model/event/DebuggerEvent.java | 2 +- .../shared/model/event/DisconnectEvent.java | 2 +- .../shared/model/event/SuspendEvent.java | 4 +- .../shared/model/impl/BreakpointImpl.java | 6 +- .../shared/model/impl/DebugSessionImpl.java | 6 +- .../shared/model/impl/DebuggerInfoImpl.java | 4 +- .../debugger/shared/model/impl/FieldImpl.java | 6 +- .../shared/model/impl/LocationImpl.java | 4 +- .../model/impl/MutableVariableImpl.java | 8 +- .../shared/model/impl/StackFrameDumpImpl.java | 10 +- .../debugger/shared/model/impl/ValueImpl.java | 10 +- .../shared/model/impl/VariableImpl.java | 6 +- .../shared/model/impl/VariablePathImpl.java | 4 +- .../shared/model/impl/action/ActionImpl.java | 4 +- .../model/impl/action/ResumeActionImpl.java | 6 +- .../model/impl/action/StartActionImpl.java | 6 +- .../model/impl/action/StepIntoActionImpl.java | 6 +- .../model/impl/action/StepOutActionImpl.java | 6 +- .../model/impl/action/StepOverActionImpl.java | 6 +- .../event/BreakpointActivatedEventImpl.java | 8 +- .../model/impl/event/DebuggerEventImpl.java | 4 +- .../model/impl/event/DisconnectEventImpl.java | 4 +- .../model/impl/event/SuspendEventImpl.java | 8 +- wsagent/che-core-api-debugger/pom.xml | 2 +- .../che/api/debugger/server/Debugger.java | 32 ++-- .../server/DebuggerActionProvider.java | 14 +- .../api/debugger/server/DebuggerManager.java | 2 +- .../api/debugger/server/DebuggerMessage.java | 2 +- .../api/debugger/server/DebuggerModule.java | 2 +- .../api/debugger/server/DebuggerService.java | 32 ++-- .../che/api/debugger/server/DtoConverter.java | 50 +++--- 110 files changed, 422 insertions(+), 604 deletions(-) rename core/{platform-api-client-gwt/che-core-client-gwt-debugger/src/main/java/org/eclipse/che/api/debugger/gwt/client => ide/che-core-ide-api/src/main/java/org/eclipse/che/ide/api/debug}/DebuggerServiceClient.java (83%) rename core/{platform-api-client-gwt/che-core-client-gwt-debugger/src/main/java/org/eclipse/che/api/debugger/gwt/client => ide/che-core-ide-api/src/main/java/org/eclipse/che/ide/api/debug}/DebuggerServiceClientImpl.java (89%) delete mode 100644 core/platform-api-client-gwt/che-core-client-gwt-debugger/pom.xml delete mode 100644 core/platform-api-client-gwt/che-core-client-gwt-debugger/src/main/resources/org/eclipse/che/api/Debugger.gwt.xml rename wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/{ => ide}/api/debugger/shared/dto/BreakpointDto.java (85%) rename wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/{ => ide}/api/debugger/shared/dto/DebugSessionDto.java (89%) rename wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/{ => ide}/api/debugger/shared/dto/DebuggerInfoDto.java (91%) rename wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/{ => ide}/api/debugger/shared/dto/FieldDto.java (92%) rename wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/{ => ide}/api/debugger/shared/dto/LocationDto.java (88%) rename wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/{ => ide}/api/debugger/shared/dto/StackFrameDumpDto.java (88%) rename wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/{ => ide}/api/debugger/shared/dto/ValueDto.java (88%) rename wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/{ => ide}/api/debugger/shared/dto/VariableDto.java (93%) rename wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/{ => ide}/api/debugger/shared/dto/VariablePathDto.java (86%) rename wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/{ => ide}/api/debugger/shared/dto/action/ActionDto.java (85%) rename wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/{ => ide}/api/debugger/shared/dto/action/ResumeActionDto.java (79%) rename wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/{ => ide}/api/debugger/shared/dto/action/StartActionDto.java (79%) rename wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/{ => ide}/api/debugger/shared/dto/action/StepIntoActionDto.java (68%) rename wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/{ => ide}/api/debugger/shared/dto/action/StepOutActionDto.java (69%) rename wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/{ => ide}/api/debugger/shared/dto/action/StepOverActionDto.java (79%) rename wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/{ => ide}/api/debugger/shared/dto/action/SuspendActionDto.java (79%) rename wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/{ => ide}/api/debugger/shared/dto/event/BreakpointActivatedEventDto.java (84%) rename wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/{ => ide}/api/debugger/shared/dto/event/DebuggerEventDto.java (85%) rename wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/{ => ide}/api/debugger/shared/dto/event/DisconnectEventDto.java (85%) rename wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/{ => ide}/api/debugger/shared/dto/event/SuspendEventDto.java (82%) rename wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/{ => ide}/api/debugger/shared/model/Breakpoint.java (93%) rename wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/{ => ide}/api/debugger/shared/model/DebugSession.java (93%) rename wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/{ => ide}/api/debugger/shared/model/DebuggerInfo.java (95%) rename wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/{ => ide}/api/debugger/shared/model/Field.java (94%) rename wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/{ => ide}/api/debugger/shared/model/Location.java (93%) rename wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/{ => ide}/api/debugger/shared/model/MutableVariable.java (94%) rename wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/{ => ide}/api/debugger/shared/model/StackFrameDump.java (93%) rename wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/{ => ide}/api/debugger/shared/model/Value.java (93%) rename wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/{ => ide}/api/debugger/shared/model/Variable.java (95%) rename wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/{ => ide}/api/debugger/shared/model/VariablePath.java (93%) rename wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/{ => ide}/api/debugger/shared/model/action/Action.java (92%) rename wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/{ => ide}/api/debugger/shared/model/action/ResumeAction.java (90%) rename wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/{ => ide}/api/debugger/shared/model/action/StartAction.java (90%) rename wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/{ => ide}/api/debugger/shared/model/action/StepIntoAction.java (90%) rename wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/{ => ide}/api/debugger/shared/model/action/StepOutAction.java (90%) rename wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/{ => ide}/api/debugger/shared/model/action/StepOverAction.java (90%) rename wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/{ => ide}/api/debugger/shared/model/action/SuspendAction.java (90%) rename wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/{ => ide}/api/debugger/shared/model/event/BreakpointActivatedEvent.java (85%) rename wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/{ => ide}/api/debugger/shared/model/event/DebuggerEvent.java (91%) rename wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/{ => ide}/api/debugger/shared/model/event/DisconnectEvent.java (91%) rename wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/{ => ide}/api/debugger/shared/model/event/SuspendEvent.java (85%) rename wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/{ => ide}/api/debugger/shared/model/impl/BreakpointImpl.java (91%) rename wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/{ => ide}/api/debugger/shared/model/impl/DebugSessionImpl.java (90%) rename wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/{ => ide}/api/debugger/shared/model/impl/DebuggerInfoImpl.java (95%) rename wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/{ => ide}/api/debugger/shared/model/impl/FieldImpl.java (92%) rename wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/{ => ide}/api/debugger/shared/model/impl/LocationImpl.java (92%) rename wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/{ => ide}/api/debugger/shared/model/impl/MutableVariableImpl.java (94%) rename wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/{ => ide}/api/debugger/shared/model/impl/StackFrameDumpImpl.java (85%) rename wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/{ => ide}/api/debugger/shared/model/impl/ValueImpl.java (85%) rename wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/{ => ide}/api/debugger/shared/model/impl/VariableImpl.java (95%) rename wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/{ => ide}/api/debugger/shared/model/impl/VariablePathImpl.java (91%) rename wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/{ => ide}/api/debugger/shared/model/impl/action/ActionImpl.java (89%) rename wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/{ => ide}/api/debugger/shared/model/impl/action/ResumeActionImpl.java (77%) rename wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/{ => ide}/api/debugger/shared/model/impl/action/StartActionImpl.java (77%) rename wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/{ => ide}/api/debugger/shared/model/impl/action/StepIntoActionImpl.java (77%) rename wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/{ => ide}/api/debugger/shared/model/impl/action/StepOutActionImpl.java (77%) rename wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/{ => ide}/api/debugger/shared/model/impl/action/StepOverActionImpl.java (77%) rename wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/{ => ide}/api/debugger/shared/model/impl/event/BreakpointActivatedEventImpl.java (84%) rename wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/{ => ide}/api/debugger/shared/model/impl/event/DebuggerEventImpl.java (89%) rename wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/{ => ide}/api/debugger/shared/model/impl/event/DisconnectEventImpl.java (83%) rename wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/{ => ide}/api/debugger/shared/model/impl/event/SuspendEventImpl.java (83%) diff --git a/assembly/assembly-ide-war/pom.xml b/assembly/assembly-ide-war/pom.xml index 803c2fa84e8..a3b433c3313 100644 --- a/assembly/assembly-ide-war/pom.xml +++ b/assembly/assembly-ide-war/pom.xml @@ -68,10 +68,6 @@ org.eclipse.che.core che-core-client-gwt-core - - org.eclipse.che.core - che-core-client-gwt-debugger - org.eclipse.che.core che-core-client-gwt-factory diff --git a/assembly/assembly-ide-war/src/main/resources/org/eclipse/che/ide/IDE.gwt.xml b/assembly/assembly-ide-war/src/main/resources/org/eclipse/che/ide/IDE.gwt.xml index fa3d47b9239..77a2552b5ca 100644 --- a/assembly/assembly-ide-war/src/main/resources/org/eclipse/che/ide/IDE.gwt.xml +++ b/assembly/assembly-ide-war/src/main/resources/org/eclipse/che/ide/IDE.gwt.xml @@ -76,7 +76,6 @@ - diff --git a/core/ide/che-core-ide-api/pom.xml b/core/ide/che-core-ide-api/pom.xml index 4681014b8b8..b405c93f56f 100644 --- a/core/ide/che-core-ide-api/pom.xml +++ b/core/ide/che-core-ide-api/pom.xml @@ -50,6 +50,14 @@ org.eclipse.che.core che-core-api-core + + org.eclipse.che.core + che-core-api-debugger-shared + + + org.eclipse.che.core + che-core-api-dto + org.eclipse.che.core che-core-api-factory-shared @@ -190,6 +198,11 @@ + + org.eclipse.che.core + che-core-api-debugger-shared + ${project.version} + org.eclipse.che.core che-core-ide-api @@ -199,9 +212,10 @@ org.eclipse.che.ide.api.user + org.eclipse.che.ide.api.debugger.shared.dto ${dto-generator-out-directory} - org.eclipse.che.ide.api.user.dto.DtoClientImpls + org.eclipse.che.ide.api.dto.DtoClientImpls client diff --git a/core/platform-api-client-gwt/che-core-client-gwt-debugger/src/main/java/org/eclipse/che/api/debugger/gwt/client/DebuggerServiceClient.java b/core/ide/che-core-ide-api/src/main/java/org/eclipse/che/ide/api/debug/DebuggerServiceClient.java similarity index 83% rename from core/platform-api-client-gwt/che-core-client-gwt-debugger/src/main/java/org/eclipse/che/api/debugger/gwt/client/DebuggerServiceClient.java rename to core/ide/che-core-ide-api/src/main/java/org/eclipse/che/ide/api/debug/DebuggerServiceClient.java index e3a91270aab..e36a158dfa5 100644 --- a/core/platform-api-client-gwt/che-core-client-gwt-debugger/src/main/java/org/eclipse/che/api/debugger/gwt/client/DebuggerServiceClient.java +++ b/core/ide/che-core-ide-api/src/main/java/org/eclipse/che/ide/api/debug/DebuggerServiceClient.java @@ -8,19 +8,19 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.api.debugger.gwt.client; - -import org.eclipse.che.api.debugger.shared.dto.BreakpointDto; -import org.eclipse.che.api.debugger.shared.dto.DebugSessionDto; -import org.eclipse.che.api.debugger.shared.dto.LocationDto; -import org.eclipse.che.api.debugger.shared.dto.StackFrameDumpDto; -import org.eclipse.che.api.debugger.shared.dto.ValueDto; -import org.eclipse.che.api.debugger.shared.dto.VariableDto; -import org.eclipse.che.api.debugger.shared.dto.action.ResumeActionDto; -import org.eclipse.che.api.debugger.shared.dto.action.StartActionDto; -import org.eclipse.che.api.debugger.shared.dto.action.StepIntoActionDto; -import org.eclipse.che.api.debugger.shared.dto.action.StepOutActionDto; -import org.eclipse.che.api.debugger.shared.dto.action.StepOverActionDto; +package org.eclipse.che.ide.api.debug; + +import org.eclipse.che.ide.api.debugger.shared.dto.BreakpointDto; +import org.eclipse.che.ide.api.debugger.shared.dto.DebugSessionDto; +import org.eclipse.che.ide.api.debugger.shared.dto.LocationDto; +import org.eclipse.che.ide.api.debugger.shared.dto.StackFrameDumpDto; +import org.eclipse.che.ide.api.debugger.shared.dto.ValueDto; +import org.eclipse.che.ide.api.debugger.shared.dto.VariableDto; +import org.eclipse.che.ide.api.debugger.shared.dto.action.ResumeActionDto; +import org.eclipse.che.ide.api.debugger.shared.dto.action.StartActionDto; +import org.eclipse.che.ide.api.debugger.shared.dto.action.StepIntoActionDto; +import org.eclipse.che.ide.api.debugger.shared.dto.action.StepOutActionDto; +import org.eclipse.che.ide.api.debugger.shared.dto.action.StepOverActionDto; import org.eclipse.che.api.promises.client.Promise; import java.util.List; diff --git a/core/platform-api-client-gwt/che-core-client-gwt-debugger/src/main/java/org/eclipse/che/api/debugger/gwt/client/DebuggerServiceClientImpl.java b/core/ide/che-core-ide-api/src/main/java/org/eclipse/che/ide/api/debug/DebuggerServiceClientImpl.java similarity index 89% rename from core/platform-api-client-gwt/che-core-client-gwt-debugger/src/main/java/org/eclipse/che/api/debugger/gwt/client/DebuggerServiceClientImpl.java rename to core/ide/che-core-ide-api/src/main/java/org/eclipse/che/ide/api/debug/DebuggerServiceClientImpl.java index 76703946222..4a46df9f8ca 100644 --- a/core/platform-api-client-gwt/che-core-client-gwt-debugger/src/main/java/org/eclipse/che/api/debugger/gwt/client/DebuggerServiceClientImpl.java +++ b/core/ide/che-core-ide-api/src/main/java/org/eclipse/che/ide/api/debug/DebuggerServiceClientImpl.java @@ -8,24 +8,24 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.api.debugger.gwt.client; +package org.eclipse.che.ide.api.debug; import com.google.gwt.http.client.URL; import com.google.inject.Inject; import com.google.inject.Singleton; -import org.eclipse.che.api.debugger.shared.dto.BreakpointDto; -import org.eclipse.che.api.debugger.shared.dto.DebugSessionDto; -import org.eclipse.che.api.debugger.shared.dto.LocationDto; -import org.eclipse.che.api.debugger.shared.dto.StackFrameDumpDto; -import org.eclipse.che.api.debugger.shared.dto.ValueDto; -import org.eclipse.che.api.debugger.shared.dto.VariableDto; -import org.eclipse.che.api.debugger.shared.dto.action.ActionDto; -import org.eclipse.che.api.debugger.shared.dto.action.ResumeActionDto; -import org.eclipse.che.api.debugger.shared.dto.action.StartActionDto; -import org.eclipse.che.api.debugger.shared.dto.action.StepIntoActionDto; -import org.eclipse.che.api.debugger.shared.dto.action.StepOutActionDto; -import org.eclipse.che.api.debugger.shared.dto.action.StepOverActionDto; +import org.eclipse.che.ide.api.debugger.shared.dto.BreakpointDto; +import org.eclipse.che.ide.api.debugger.shared.dto.DebugSessionDto; +import org.eclipse.che.ide.api.debugger.shared.dto.LocationDto; +import org.eclipse.che.ide.api.debugger.shared.dto.StackFrameDumpDto; +import org.eclipse.che.ide.api.debugger.shared.dto.ValueDto; +import org.eclipse.che.ide.api.debugger.shared.dto.VariableDto; +import org.eclipse.che.ide.api.debugger.shared.dto.action.ActionDto; +import org.eclipse.che.ide.api.debugger.shared.dto.action.ResumeActionDto; +import org.eclipse.che.ide.api.debugger.shared.dto.action.StartActionDto; +import org.eclipse.che.ide.api.debugger.shared.dto.action.StepIntoActionDto; +import org.eclipse.che.ide.api.debugger.shared.dto.action.StepOutActionDto; +import org.eclipse.che.ide.api.debugger.shared.dto.action.StepOverActionDto; import org.eclipse.che.api.machine.gwt.client.DevMachine; import org.eclipse.che.api.promises.client.Promise; import org.eclipse.che.ide.api.app.AppContext; diff --git a/core/ide/che-core-ide-app/pom.xml b/core/ide/che-core-ide-app/pom.xml index a133a86741f..dffd99cb6fc 100644 --- a/core/ide/che-core-ide-app/pom.xml +++ b/core/ide/che-core-ide-app/pom.xml @@ -107,10 +107,6 @@ org.eclipse.che.core che-core-client-gwt-core - - org.eclipse.che.core - che-core-client-gwt-debugger - org.eclipse.che.core che-core-client-gwt-factory diff --git a/core/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/core/CoreGinModule.java b/core/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/core/CoreGinModule.java index 5e0bd79a4eb..e0376e20332 100644 --- a/core/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/core/CoreGinModule.java +++ b/core/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/core/CoreGinModule.java @@ -25,8 +25,6 @@ import org.eclipse.che.api.account.gwt.client.AccountServiceClientImpl; import org.eclipse.che.api.auth.client.OAuthServiceClient; import org.eclipse.che.api.auth.client.OAuthServiceClientImpl; -import org.eclipse.che.api.debugger.gwt.client.DebuggerServiceClient; -import org.eclipse.che.api.debugger.gwt.client.DebuggerServiceClientImpl; import org.eclipse.che.api.factory.gwt.client.FactoryServiceClient; import org.eclipse.che.api.factory.gwt.client.FactoryServiceClientImpl; import org.eclipse.che.api.git.gwt.client.GitServiceClient; @@ -59,6 +57,13 @@ import org.eclipse.che.ide.api.app.AppContext; import org.eclipse.che.ide.api.component.Component; import org.eclipse.che.ide.api.component.WsAgentComponent; +import org.eclipse.che.ide.api.debug.DebuggerServiceClient; +import org.eclipse.che.ide.api.debug.DebuggerServiceClientImpl; +import org.eclipse.che.ide.api.dialogs.ChoiceDialog; +import org.eclipse.che.ide.api.dialogs.ConfirmDialog; +import org.eclipse.che.ide.api.dialogs.DialogFactory; +import org.eclipse.che.ide.api.dialogs.InputDialog; +import org.eclipse.che.ide.api.dialogs.MessageDialog; import org.eclipse.che.ide.api.editor.EditorAgent; import org.eclipse.che.ide.api.editor.EditorRegistry; import org.eclipse.che.ide.api.extension.ExtensionGinModule; @@ -174,30 +179,25 @@ import org.eclipse.che.ide.ui.button.ConsoleButton; import org.eclipse.che.ide.ui.button.ConsoleButtonFactory; import org.eclipse.che.ide.ui.button.ConsoleButtonImpl; -import org.eclipse.che.ide.api.dialogs.DialogFactory; -import org.eclipse.che.ide.api.dialogs.ChoiceDialog; import org.eclipse.che.ide.ui.dialogs.choice.ChoiceDialogFooter; import org.eclipse.che.ide.ui.dialogs.choice.ChoiceDialogPresenter; import org.eclipse.che.ide.ui.dialogs.choice.ChoiceDialogView; import org.eclipse.che.ide.ui.dialogs.choice.ChoiceDialogViewImpl; -import org.eclipse.che.ide.api.dialogs.ConfirmDialog; import org.eclipse.che.ide.ui.dialogs.confirm.ConfirmDialogFooter; import org.eclipse.che.ide.ui.dialogs.confirm.ConfirmDialogPresenter; import org.eclipse.che.ide.ui.dialogs.confirm.ConfirmDialogView; import org.eclipse.che.ide.ui.dialogs.confirm.ConfirmDialogViewImpl; -import org.eclipse.che.ide.api.dialogs.InputDialog; import org.eclipse.che.ide.ui.dialogs.input.InputDialogFooter; import org.eclipse.che.ide.ui.dialogs.input.InputDialogPresenter; import org.eclipse.che.ide.ui.dialogs.input.InputDialogView; import org.eclipse.che.ide.ui.dialogs.input.InputDialogViewImpl; -import org.eclipse.che.ide.api.dialogs.MessageDialog; import org.eclipse.che.ide.ui.dialogs.message.MessageDialogFooter; import org.eclipse.che.ide.ui.dialogs.message.MessageDialogPresenter; import org.eclipse.che.ide.ui.dialogs.message.MessageDialogView; import org.eclipse.che.ide.ui.dialogs.message.MessageDialogViewImpl; +import org.eclipse.che.ide.ui.dropdown.DropDownListFactory; import org.eclipse.che.ide.ui.dropdown.DropDownWidget; import org.eclipse.che.ide.ui.dropdown.DropDownWidgetImpl; -import org.eclipse.che.ide.ui.dropdown.DropDownListFactory; import org.eclipse.che.ide.ui.loaders.initialization.LoaderView; import org.eclipse.che.ide.ui.loaders.initialization.LoaderViewImpl; import org.eclipse.che.ide.ui.loaders.request.LoaderFactory; diff --git a/core/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/debug/Debugger.java b/core/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/debug/Debugger.java index ce1439ef6ee..7a2f176a348 100644 --- a/core/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/debug/Debugger.java +++ b/core/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/debug/Debugger.java @@ -10,9 +10,9 @@ *******************************************************************************/ package org.eclipse.che.ide.debug; -import org.eclipse.che.api.debugger.shared.model.StackFrameDump; -import org.eclipse.che.api.debugger.shared.model.Value; -import org.eclipse.che.api.debugger.shared.model.Variable; +import org.eclipse.che.ide.api.debugger.shared.model.StackFrameDump; +import org.eclipse.che.ide.api.debugger.shared.model.Value; +import org.eclipse.che.ide.api.debugger.shared.model.Variable; import org.eclipse.che.api.promises.client.Promise; import org.eclipse.che.ide.api.project.tree.VirtualFile; diff --git a/core/platform-api-client-gwt/che-core-client-gwt-debugger/pom.xml b/core/platform-api-client-gwt/che-core-client-gwt-debugger/pom.xml deleted file mode 100644 index 1a2c0f6976b..00000000000 --- a/core/platform-api-client-gwt/che-core-client-gwt-debugger/pom.xml +++ /dev/null @@ -1,146 +0,0 @@ - - - - 4.0.0 - - che-core-client-gwt-parent - org.eclipse.che.core - 4.3.0-RC1-SNAPSHOT - - che-core-client-gwt-debugger - jar - Che Core API :: Client GWT :: Debugger - - ${project.build.directory}/generated-sources/dto/ - - - - com.google.inject - guice - - - org.eclipse.che.core - che-core-api-debugger-shared - - - org.eclipse.che.core - che-core-api-dto - - - org.eclipse.che.core - che-core-client-gwt-machine - - - org.eclipse.che.core - che-core-commons-gwt - - - org.eclipse.che.core - che-core-ide-api - - - com.google.gwt - gwt-user - provided - - - - - - src/main/java - - - src/main/resources - - - ${dto-generator-out-directory} - - - - - org.eclipse.che.core - che-core-api-dto-maven-plugin - ${project.version} - - - process-sources - - generate - - - - - - org.eclipse.che.core - che-core-api-debugger-shared - ${project.version} - - - - - org.eclipse.che.api.debugger.shared.dto - - ${dto-generator-out-directory} - org.eclipse.che.api.debugger.gwt.client.dto.DtoClientImpls - client - - - - maven-compiler-plugin - - - pre-compile - generate-sources - - compile - - - - - - org.codehaus.mojo - build-helper-maven-plugin - - - add-resource - process-sources - - add-resource - - - - - ${dto-generator-out-directory}/META-INF - META-INF - - - - - - add-source - process-sources - - add-source - - - - ${dto-generator-out-directory} - - - - - - - - diff --git a/core/platform-api-client-gwt/che-core-client-gwt-debugger/src/main/resources/org/eclipse/che/api/Debugger.gwt.xml b/core/platform-api-client-gwt/che-core-client-gwt-debugger/src/main/resources/org/eclipse/che/api/Debugger.gwt.xml deleted file mode 100644 index cbdfa46693c..00000000000 --- a/core/platform-api-client-gwt/che-core-client-gwt-debugger/src/main/resources/org/eclipse/che/api/Debugger.gwt.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - diff --git a/core/platform-api-client-gwt/pom.xml b/core/platform-api-client-gwt/pom.xml index b4882a8fee5..0f57e3ecc60 100644 --- a/core/platform-api-client-gwt/pom.xml +++ b/core/platform-api-client-gwt/pom.xml @@ -33,6 +33,5 @@ che-core-client-gwt-factory che-core-client-gwt-git che-core-client-gwt-ssh - che-core-client-gwt-debugger diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/pom.xml b/plugins/plugin-debugger/che-plugin-debugger-ide/pom.xml index bb2cb3d8f21..a43305b9d1d 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/pom.xml +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/pom.xml @@ -53,10 +53,6 @@ org.eclipse.che.core che-core-api-workspace - - org.eclipse.che.core - che-core-client-gwt-debugger - org.eclipse.che.core che-core-client-gwt-machine diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/AbstractDebugger.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/AbstractDebugger.java index a6e1c7dbb3f..e715ff25fff 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/AbstractDebugger.java +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/AbstractDebugger.java @@ -14,31 +14,30 @@ import com.google.gwt.user.client.rpc.AsyncCallback; import com.google.web.bindery.event.shared.EventBus; -import org.eclipse.che.api.debugger.gwt.client.DebuggerServiceClient; -import org.eclipse.che.api.debugger.shared.dto.BreakpointDto; -import org.eclipse.che.api.debugger.shared.dto.DebugSessionDto; -import org.eclipse.che.api.debugger.shared.dto.LocationDto; -import org.eclipse.che.api.debugger.shared.dto.StackFrameDumpDto; -import org.eclipse.che.api.debugger.shared.dto.ValueDto; -import org.eclipse.che.api.debugger.shared.dto.VariableDto; -import org.eclipse.che.api.debugger.shared.dto.VariablePathDto; -import org.eclipse.che.api.debugger.shared.dto.action.ResumeActionDto; -import org.eclipse.che.api.debugger.shared.dto.action.StartActionDto; -import org.eclipse.che.api.debugger.shared.dto.action.StepIntoActionDto; -import org.eclipse.che.api.debugger.shared.dto.action.StepOutActionDto; -import org.eclipse.che.api.debugger.shared.dto.action.StepOverActionDto; -import org.eclipse.che.api.debugger.shared.dto.event.BreakpointActivatedEventDto; -import org.eclipse.che.api.debugger.shared.dto.event.DebuggerEventDto; -import org.eclipse.che.api.debugger.shared.dto.event.SuspendEventDto; -import org.eclipse.che.api.debugger.shared.model.DebuggerInfo; -import org.eclipse.che.api.debugger.shared.model.Location; -import org.eclipse.che.api.debugger.shared.model.StackFrameDump; -import org.eclipse.che.api.debugger.shared.model.Value; -import org.eclipse.che.api.debugger.shared.model.Variable; -import org.eclipse.che.api.debugger.shared.model.VariablePath; -import org.eclipse.che.api.debugger.shared.model.action.Action; -import org.eclipse.che.api.debugger.shared.model.impl.StackFrameDumpImpl; -import org.eclipse.che.api.debugger.shared.model.impl.ValueImpl; +import org.eclipse.che.ide.api.debugger.shared.dto.BreakpointDto; +import org.eclipse.che.ide.api.debugger.shared.dto.DebugSessionDto; +import org.eclipse.che.ide.api.debugger.shared.dto.LocationDto; +import org.eclipse.che.ide.api.debugger.shared.dto.StackFrameDumpDto; +import org.eclipse.che.ide.api.debugger.shared.dto.ValueDto; +import org.eclipse.che.ide.api.debugger.shared.dto.VariableDto; +import org.eclipse.che.ide.api.debugger.shared.dto.VariablePathDto; +import org.eclipse.che.ide.api.debugger.shared.dto.action.ResumeActionDto; +import org.eclipse.che.ide.api.debugger.shared.dto.action.StartActionDto; +import org.eclipse.che.ide.api.debugger.shared.dto.action.StepIntoActionDto; +import org.eclipse.che.ide.api.debugger.shared.dto.action.StepOutActionDto; +import org.eclipse.che.ide.api.debugger.shared.dto.action.StepOverActionDto; +import org.eclipse.che.ide.api.debugger.shared.dto.event.BreakpointActivatedEventDto; +import org.eclipse.che.ide.api.debugger.shared.dto.event.DebuggerEventDto; +import org.eclipse.che.ide.api.debugger.shared.dto.event.SuspendEventDto; +import org.eclipse.che.ide.api.debugger.shared.model.DebuggerInfo; +import org.eclipse.che.ide.api.debugger.shared.model.Location; +import org.eclipse.che.ide.api.debugger.shared.model.StackFrameDump; +import org.eclipse.che.ide.api.debugger.shared.model.Value; +import org.eclipse.che.ide.api.debugger.shared.model.Variable; +import org.eclipse.che.ide.api.debugger.shared.model.VariablePath; +import org.eclipse.che.ide.api.debugger.shared.model.action.Action; +import org.eclipse.che.ide.api.debugger.shared.model.impl.StackFrameDumpImpl; +import org.eclipse.che.ide.api.debugger.shared.model.impl.ValueImpl; import org.eclipse.che.api.machine.gwt.client.events.WsAgentStateEvent; import org.eclipse.che.api.machine.gwt.client.events.WsAgentStateHandler; import org.eclipse.che.api.promises.client.Function; @@ -51,9 +50,10 @@ import org.eclipse.che.api.promises.client.js.JsPromiseError; import org.eclipse.che.api.promises.client.js.Promises; import org.eclipse.che.commons.annotation.Nullable; +import org.eclipse.che.ide.api.debug.Breakpoint; +import org.eclipse.che.ide.api.debug.DebuggerServiceClient; import org.eclipse.che.ide.api.filetypes.FileTypeRegistry; import org.eclipse.che.ide.api.project.tree.VirtualFile; -import org.eclipse.che.ide.api.debug.Breakpoint; import org.eclipse.che.ide.debug.Debugger; import org.eclipse.che.ide.debug.DebuggerDescriptor; import org.eclipse.che.ide.debug.DebuggerManager; diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/DebuggerEventUnmarshaller.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/DebuggerEventUnmarshaller.java index 45d25c60c99..b4583a00047 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/DebuggerEventUnmarshaller.java +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/DebuggerEventUnmarshaller.java @@ -13,11 +13,11 @@ import com.google.gwt.json.client.JSONObject; import com.google.gwt.json.client.JSONParser; -import org.eclipse.che.api.debugger.shared.dto.event.BreakpointActivatedEventDto; -import org.eclipse.che.api.debugger.shared.dto.event.DebuggerEventDto; -import org.eclipse.che.api.debugger.shared.dto.event.DisconnectEventDto; -import org.eclipse.che.api.debugger.shared.dto.event.SuspendEventDto; -import org.eclipse.che.api.debugger.shared.model.event.DebuggerEvent.TYPE; +import org.eclipse.che.ide.api.debugger.shared.dto.event.BreakpointActivatedEventDto; +import org.eclipse.che.ide.api.debugger.shared.dto.event.DebuggerEventDto; +import org.eclipse.che.ide.api.debugger.shared.dto.event.DisconnectEventDto; +import org.eclipse.che.ide.api.debugger.shared.dto.event.SuspendEventDto; +import org.eclipse.che.ide.api.debugger.shared.model.event.DebuggerEvent.TYPE; import org.eclipse.che.ide.commons.exception.UnmarshallerException; import org.eclipse.che.ide.dto.DtoFactory; import org.eclipse.che.ide.websocket.Message; diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/DebuggerPresenter.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/DebuggerPresenter.java index 0b6a8b665db..d437a5c2ae3 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/DebuggerPresenter.java +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/DebuggerPresenter.java @@ -15,12 +15,12 @@ import com.google.inject.Inject; import com.google.inject.Singleton; -import org.eclipse.che.api.debugger.shared.model.Location; -import org.eclipse.che.api.debugger.shared.model.MutableVariable; -import org.eclipse.che.api.debugger.shared.model.StackFrameDump; -import org.eclipse.che.api.debugger.shared.model.Value; -import org.eclipse.che.api.debugger.shared.model.Variable; -import org.eclipse.che.api.debugger.shared.model.impl.LocationImpl; +import org.eclipse.che.ide.api.debugger.shared.model.Location; +import org.eclipse.che.ide.api.debugger.shared.model.MutableVariable; +import org.eclipse.che.ide.api.debugger.shared.model.StackFrameDump; +import org.eclipse.che.ide.api.debugger.shared.model.Value; +import org.eclipse.che.ide.api.debugger.shared.model.Variable; +import org.eclipse.che.ide.api.debugger.shared.model.impl.LocationImpl; import org.eclipse.che.api.promises.client.Operation; import org.eclipse.che.api.promises.client.OperationException; import org.eclipse.che.api.promises.client.Promise; diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/DebuggerView.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/DebuggerView.java index f3bda8105de..240bb3e2ced 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/DebuggerView.java +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/DebuggerView.java @@ -12,9 +12,9 @@ import com.google.gwt.user.client.ui.AcceptsOneWidget; -import org.eclipse.che.api.debugger.shared.model.Location; -import org.eclipse.che.api.debugger.shared.model.MutableVariable; -import org.eclipse.che.api.debugger.shared.model.Variable; +import org.eclipse.che.ide.api.debugger.shared.model.Location; +import org.eclipse.che.ide.api.debugger.shared.model.MutableVariable; +import org.eclipse.che.ide.api.debugger.shared.model.Variable; import org.eclipse.che.ide.api.mvp.View; import org.eclipse.che.ide.api.parts.base.BaseActionDelegate; import org.eclipse.che.ide.api.debug.Breakpoint; diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/DebuggerViewImpl.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/DebuggerViewImpl.java index 0eb94316cb3..ee4faa09cb7 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/DebuggerViewImpl.java +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/DebuggerViewImpl.java @@ -28,10 +28,10 @@ import com.google.inject.Inject; import com.google.inject.Singleton; -import org.eclipse.che.api.debugger.shared.model.Location; -import org.eclipse.che.api.debugger.shared.model.MutableVariable; -import org.eclipse.che.api.debugger.shared.model.Variable; -import org.eclipse.che.api.debugger.shared.model.impl.MutableVariableImpl; +import org.eclipse.che.ide.api.debugger.shared.model.Location; +import org.eclipse.che.ide.api.debugger.shared.model.MutableVariable; +import org.eclipse.che.ide.api.debugger.shared.model.Variable; +import org.eclipse.che.ide.api.debugger.shared.model.impl.MutableVariableImpl; import org.eclipse.che.commons.annotation.Nullable; import org.eclipse.che.ide.Resources; import org.eclipse.che.ide.api.parts.PartStackUIResources; diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/VariableNodeDataAdapter.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/VariableNodeDataAdapter.java index d6610b71e50..cf753c1643a 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/VariableNodeDataAdapter.java +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/VariableNodeDataAdapter.java @@ -10,7 +10,7 @@ *******************************************************************************/ package org.eclipse.che.plugin.debugger.ide.debug; -import org.eclipse.che.api.debugger.shared.model.MutableVariable; +import org.eclipse.che.ide.api.debugger.shared.model.MutableVariable; import org.eclipse.che.commons.annotation.Nullable; import org.eclipse.che.ide.ui.tree.NodeDataAdapter; import org.eclipse.che.ide.ui.tree.TreeNodeElement; diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/VariableTreeNodeRenderer.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/VariableTreeNodeRenderer.java index 8a50a2f9ba7..3d6aaa48845 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/VariableTreeNodeRenderer.java +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/VariableTreeNodeRenderer.java @@ -15,7 +15,7 @@ import com.google.gwt.resources.client.CssResource; -import org.eclipse.che.api.debugger.shared.model.MutableVariable; +import org.eclipse.che.ide.api.debugger.shared.model.MutableVariable; import org.eclipse.che.ide.ui.tree.NodeRenderer; import org.eclipse.che.ide.ui.tree.Tree; import org.eclipse.che.ide.ui.tree.TreeNodeElement; diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/changevalue/ChangeValuePresenter.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/changevalue/ChangeValuePresenter.java index e3853807950..f0594c12f83 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/changevalue/ChangeValuePresenter.java +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/main/java/org/eclipse/che/plugin/debugger/ide/debug/changevalue/ChangeValuePresenter.java @@ -13,8 +13,8 @@ import com.google.inject.Inject; import com.google.inject.Singleton; -import org.eclipse.che.api.debugger.shared.model.Variable; -import org.eclipse.che.api.debugger.shared.model.impl.VariableImpl; +import org.eclipse.che.ide.api.debugger.shared.model.Variable; +import org.eclipse.che.ide.api.debugger.shared.model.impl.VariableImpl; import org.eclipse.che.ide.debug.Debugger; import org.eclipse.che.ide.debug.DebuggerManager; import org.eclipse.che.plugin.debugger.ide.DebuggerLocalizationConstant; diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/plugin/debugger/ide/BaseTest.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/plugin/debugger/ide/BaseTest.java index ccac4ecb04c..2ccf5f63a06 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/plugin/debugger/ide/BaseTest.java +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/plugin/debugger/ide/BaseTest.java @@ -12,9 +12,9 @@ import com.google.web.bindery.event.shared.EventBus; -import org.eclipse.che.api.debugger.gwt.client.DebuggerServiceClient; -import org.eclipse.che.api.debugger.shared.dto.DebugSessionDto; -import org.eclipse.che.api.debugger.shared.dto.DebuggerInfoDto; +import org.eclipse.che.ide.api.debugger.shared.dto.DebugSessionDto; +import org.eclipse.che.ide.api.debugger.shared.dto.DebuggerInfoDto; +import org.eclipse.che.ide.api.debug.DebuggerServiceClient; import org.eclipse.che.ide.api.notification.NotificationManager; import org.eclipse.che.ide.api.parts.PartStack; import org.eclipse.che.ide.api.parts.WorkspaceAgent; diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/plugin/debugger/ide/ChangeVariableValueTest.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/plugin/debugger/ide/ChangeVariableValueTest.java index 6f402237320..85f61e50ea8 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/plugin/debugger/ide/ChangeVariableValueTest.java +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/plugin/debugger/ide/ChangeVariableValueTest.java @@ -10,9 +10,9 @@ *******************************************************************************/ package org.eclipse.che.plugin.debugger.ide; -import org.eclipse.che.api.debugger.shared.dto.VariableDto; -import org.eclipse.che.api.debugger.shared.dto.VariablePathDto; -import org.eclipse.che.api.debugger.shared.model.MutableVariable; +import org.eclipse.che.ide.api.debugger.shared.dto.VariableDto; +import org.eclipse.che.ide.api.debugger.shared.dto.VariablePathDto; +import org.eclipse.che.ide.api.debugger.shared.model.MutableVariable; import org.eclipse.che.ide.debug.Debugger; import org.eclipse.che.ide.debug.DebuggerManager; import org.eclipse.che.plugin.debugger.ide.debug.DebuggerPresenter; diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/plugin/debugger/ide/debug/DebuggerPresenterTest.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/plugin/debugger/ide/debug/DebuggerPresenterTest.java index 0875efa5c46..9a8aac32010 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/plugin/debugger/ide/debug/DebuggerPresenterTest.java +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/plugin/debugger/ide/debug/DebuggerPresenterTest.java @@ -12,10 +12,10 @@ import com.google.gwt.user.client.ui.AcceptsOneWidget; -import org.eclipse.che.api.debugger.shared.dto.LocationDto; -import org.eclipse.che.api.debugger.shared.dto.ValueDto; -import org.eclipse.che.api.debugger.shared.model.Location; -import org.eclipse.che.api.debugger.shared.model.MutableVariable; +import org.eclipse.che.ide.api.debugger.shared.dto.LocationDto; +import org.eclipse.che.ide.api.debugger.shared.dto.ValueDto; +import org.eclipse.che.ide.api.debugger.shared.model.Location; +import org.eclipse.che.ide.api.debugger.shared.model.MutableVariable; import org.eclipse.che.api.promises.client.Operation; import org.eclipse.che.api.promises.client.OperationException; import org.eclipse.che.api.promises.client.Promise; diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/plugin/debugger/ide/debug/DebuggerTest.java b/plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/plugin/debugger/ide/debug/DebuggerTest.java index 45dd9bc0c4c..7cfa6539c91 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/plugin/debugger/ide/debug/DebuggerTest.java +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/src/test/java/org/eclipse/che/plugin/debugger/ide/debug/DebuggerTest.java @@ -13,24 +13,23 @@ import com.google.gwtmockito.GwtMockitoTestRunner; import com.google.web.bindery.event.shared.EventBus; -import org.eclipse.che.api.debugger.gwt.client.DebuggerServiceClient; -import org.eclipse.che.api.debugger.shared.dto.BreakpointDto; -import org.eclipse.che.api.debugger.shared.dto.DebugSessionDto; -import org.eclipse.che.api.debugger.shared.dto.LocationDto; -import org.eclipse.che.api.debugger.shared.dto.StackFrameDumpDto; -import org.eclipse.che.api.debugger.shared.dto.ValueDto; -import org.eclipse.che.api.debugger.shared.dto.VariableDto; -import org.eclipse.che.api.debugger.shared.dto.VariablePathDto; -import org.eclipse.che.api.debugger.shared.dto.action.ResumeActionDto; -import org.eclipse.che.api.debugger.shared.dto.action.StepIntoActionDto; -import org.eclipse.che.api.debugger.shared.dto.action.StepOutActionDto; -import org.eclipse.che.api.debugger.shared.dto.action.StepOverActionDto; -import org.eclipse.che.api.debugger.shared.model.DebuggerInfo; -import org.eclipse.che.api.debugger.shared.model.Location; -import org.eclipse.che.api.debugger.shared.model.StackFrameDump; -import org.eclipse.che.api.debugger.shared.model.Value; -import org.eclipse.che.api.debugger.shared.model.Variable; -import org.eclipse.che.api.debugger.shared.model.VariablePath; +import org.eclipse.che.ide.api.debugger.shared.dto.BreakpointDto; +import org.eclipse.che.ide.api.debugger.shared.dto.DebugSessionDto; +import org.eclipse.che.ide.api.debugger.shared.dto.LocationDto; +import org.eclipse.che.ide.api.debugger.shared.dto.StackFrameDumpDto; +import org.eclipse.che.ide.api.debugger.shared.dto.ValueDto; +import org.eclipse.che.ide.api.debugger.shared.dto.VariableDto; +import org.eclipse.che.ide.api.debugger.shared.dto.VariablePathDto; +import org.eclipse.che.ide.api.debugger.shared.dto.action.ResumeActionDto; +import org.eclipse.che.ide.api.debugger.shared.dto.action.StepIntoActionDto; +import org.eclipse.che.ide.api.debugger.shared.dto.action.StepOutActionDto; +import org.eclipse.che.ide.api.debugger.shared.dto.action.StepOverActionDto; +import org.eclipse.che.ide.api.debugger.shared.model.DebuggerInfo; +import org.eclipse.che.ide.api.debugger.shared.model.Location; +import org.eclipse.che.ide.api.debugger.shared.model.StackFrameDump; +import org.eclipse.che.ide.api.debugger.shared.model.Value; +import org.eclipse.che.ide.api.debugger.shared.model.Variable; +import org.eclipse.che.ide.api.debugger.shared.model.VariablePath; import org.eclipse.che.api.machine.gwt.client.events.WsAgentStateEvent; import org.eclipse.che.api.machine.gwt.client.events.WsAgentStateHandler; import org.eclipse.che.api.promises.client.Function; @@ -39,10 +38,11 @@ import org.eclipse.che.api.promises.client.Promise; import org.eclipse.che.api.promises.client.PromiseError; import org.eclipse.che.ide.api.app.AppContext; +import org.eclipse.che.ide.api.debug.Breakpoint; +import org.eclipse.che.ide.api.debug.DebuggerServiceClient; import org.eclipse.che.ide.api.filetypes.FileType; import org.eclipse.che.ide.api.filetypes.FileTypeRegistry; import org.eclipse.che.ide.api.project.tree.VirtualFile; -import org.eclipse.che.ide.api.debug.Breakpoint; import org.eclipse.che.ide.debug.DebuggerDescriptor; import org.eclipse.che.ide.debug.DebuggerManager; import org.eclipse.che.ide.debug.DebuggerObserver; diff --git a/plugins/plugin-gdb/che-plugin-gdb-ide/pom.xml b/plugins/plugin-gdb/che-plugin-gdb-ide/pom.xml index 4cc60efeb1e..d8a22a00988 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-ide/pom.xml +++ b/plugins/plugin-gdb/che-plugin-gdb-ide/pom.xml @@ -50,10 +50,6 @@ org.eclipse.che.core che-core-api-workspace - - org.eclipse.che.core - che-core-client-gwt-debugger - org.eclipse.che.core che-core-client-gwt-machine diff --git a/plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/plugin/gdb/ide/GdbDebugger.java b/plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/plugin/gdb/ide/GdbDebugger.java index 9a5ee8b76fa..44d4f9cad99 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/plugin/gdb/ide/GdbDebugger.java +++ b/plugins/plugin-gdb/che-plugin-gdb-ide/src/main/java/org/eclipse/che/plugin/gdb/ide/GdbDebugger.java @@ -13,10 +13,10 @@ import com.google.inject.Inject; import com.google.web.bindery.event.shared.EventBus; -import org.eclipse.che.api.debugger.gwt.client.DebuggerServiceClient; -import org.eclipse.che.api.debugger.shared.model.Location; +import org.eclipse.che.ide.api.debugger.shared.model.Location; import org.eclipse.che.ide.api.app.AppContext; import org.eclipse.che.ide.api.app.CurrentProject; +import org.eclipse.che.ide.api.debug.DebuggerServiceClient; import org.eclipse.che.ide.api.filetypes.FileTypeRegistry; import org.eclipse.che.ide.api.project.tree.VirtualFile; import org.eclipse.che.ide.debug.DebuggerDescriptor; diff --git a/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/GdbDebugger.java b/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/GdbDebugger.java index b97b09aa18e..b9091bd0fdf 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/GdbDebugger.java +++ b/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/GdbDebugger.java @@ -12,26 +12,26 @@ import org.eclipse.che.api.debugger.server.Debugger; import org.eclipse.che.api.debugger.server.exceptions.DebuggerException; -import org.eclipse.che.api.debugger.shared.model.Breakpoint; -import org.eclipse.che.api.debugger.shared.model.DebuggerInfo; -import org.eclipse.che.api.debugger.shared.model.Location; -import org.eclipse.che.api.debugger.shared.model.StackFrameDump; -import org.eclipse.che.api.debugger.shared.model.Value; -import org.eclipse.che.api.debugger.shared.model.Variable; -import org.eclipse.che.api.debugger.shared.model.VariablePath; -import org.eclipse.che.api.debugger.shared.model.action.ResumeAction; -import org.eclipse.che.api.debugger.shared.model.action.StartAction; -import org.eclipse.che.api.debugger.shared.model.action.StepIntoAction; -import org.eclipse.che.api.debugger.shared.model.action.StepOutAction; -import org.eclipse.che.api.debugger.shared.model.action.StepOverAction; -import org.eclipse.che.api.debugger.shared.model.impl.DebuggerInfoImpl; -import org.eclipse.che.api.debugger.shared.model.impl.StackFrameDumpImpl; -import org.eclipse.che.api.debugger.shared.model.impl.ValueImpl; -import org.eclipse.che.api.debugger.shared.model.impl.VariableImpl; -import org.eclipse.che.api.debugger.shared.model.impl.VariablePathImpl; -import org.eclipse.che.api.debugger.shared.model.impl.event.BreakpointActivatedEventImpl; -import org.eclipse.che.api.debugger.shared.model.impl.event.DisconnectEventImpl; -import org.eclipse.che.api.debugger.shared.model.impl.event.SuspendEventImpl; +import org.eclipse.che.ide.api.debugger.shared.model.Breakpoint; +import org.eclipse.che.ide.api.debugger.shared.model.DebuggerInfo; +import org.eclipse.che.ide.api.debugger.shared.model.Location; +import org.eclipse.che.ide.api.debugger.shared.model.StackFrameDump; +import org.eclipse.che.ide.api.debugger.shared.model.Value; +import org.eclipse.che.ide.api.debugger.shared.model.Variable; +import org.eclipse.che.ide.api.debugger.shared.model.VariablePath; +import org.eclipse.che.ide.api.debugger.shared.model.action.ResumeAction; +import org.eclipse.che.ide.api.debugger.shared.model.action.StartAction; +import org.eclipse.che.ide.api.debugger.shared.model.action.StepIntoAction; +import org.eclipse.che.ide.api.debugger.shared.model.action.StepOutAction; +import org.eclipse.che.ide.api.debugger.shared.model.action.StepOverAction; +import org.eclipse.che.ide.api.debugger.shared.model.impl.DebuggerInfoImpl; +import org.eclipse.che.ide.api.debugger.shared.model.impl.StackFrameDumpImpl; +import org.eclipse.che.ide.api.debugger.shared.model.impl.ValueImpl; +import org.eclipse.che.ide.api.debugger.shared.model.impl.VariableImpl; +import org.eclipse.che.ide.api.debugger.shared.model.impl.VariablePathImpl; +import org.eclipse.che.ide.api.debugger.shared.model.impl.event.BreakpointActivatedEventImpl; +import org.eclipse.che.ide.api.debugger.shared.model.impl.event.DisconnectEventImpl; +import org.eclipse.che.ide.api.debugger.shared.model.impl.event.SuspendEventImpl; import org.eclipse.che.plugin.gdb.server.parser.GdbContinue; import org.eclipse.che.plugin.gdb.server.parser.GdbDirectory; import org.eclipse.che.plugin.gdb.server.parser.GdbInfoBreak; diff --git a/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbContinue.java b/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbContinue.java index 22ba3ea8901..eb9a2bf80ed 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbContinue.java +++ b/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbContinue.java @@ -10,10 +10,10 @@ *******************************************************************************/ package org.eclipse.che.plugin.gdb.server.parser; -import org.eclipse.che.api.debugger.shared.model.Breakpoint; -import org.eclipse.che.api.debugger.shared.model.Location; -import org.eclipse.che.api.debugger.shared.model.impl.BreakpointImpl; -import org.eclipse.che.api.debugger.shared.model.impl.LocationImpl; +import org.eclipse.che.ide.api.debugger.shared.model.Breakpoint; +import org.eclipse.che.ide.api.debugger.shared.model.Location; +import org.eclipse.che.ide.api.debugger.shared.model.impl.BreakpointImpl; +import org.eclipse.che.ide.api.debugger.shared.model.impl.LocationImpl; import org.eclipse.che.commons.annotation.Nullable; import java.util.regex.Matcher; diff --git a/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbInfoBreak.java b/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbInfoBreak.java index 16c59fdbbc4..f03e08d8f17 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbInfoBreak.java +++ b/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbInfoBreak.java @@ -10,10 +10,10 @@ *******************************************************************************/ package org.eclipse.che.plugin.gdb.server.parser; -import org.eclipse.che.api.debugger.shared.model.Breakpoint; -import org.eclipse.che.api.debugger.shared.model.Location; -import org.eclipse.che.api.debugger.shared.model.impl.BreakpointImpl; -import org.eclipse.che.api.debugger.shared.model.impl.LocationImpl; +import org.eclipse.che.ide.api.debugger.shared.model.Breakpoint; +import org.eclipse.che.ide.api.debugger.shared.model.Location; +import org.eclipse.che.ide.api.debugger.shared.model.impl.BreakpointImpl; +import org.eclipse.che.ide.api.debugger.shared.model.impl.LocationImpl; import java.util.ArrayList; import java.util.List; diff --git a/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbInfoLine.java b/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbInfoLine.java index 058189b7b3f..20debb9f56c 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbInfoLine.java +++ b/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbInfoLine.java @@ -10,8 +10,8 @@ *******************************************************************************/ package org.eclipse.che.plugin.gdb.server.parser; -import org.eclipse.che.api.debugger.shared.model.Location; -import org.eclipse.che.api.debugger.shared.model.impl.LocationImpl; +import org.eclipse.che.ide.api.debugger.shared.model.Location; +import org.eclipse.che.ide.api.debugger.shared.model.impl.LocationImpl; import java.util.regex.Matcher; import java.util.regex.Pattern; diff --git a/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbRun.java b/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbRun.java index 89ed1156c3d..e532c55f409 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbRun.java +++ b/plugins/plugin-gdb/che-plugin-gdb-server/src/main/java/org/eclipse/che/plugin/gdb/server/parser/GdbRun.java @@ -10,10 +10,10 @@ *******************************************************************************/ package org.eclipse.che.plugin.gdb.server.parser; -import org.eclipse.che.api.debugger.shared.model.Breakpoint; -import org.eclipse.che.api.debugger.shared.model.Location; -import org.eclipse.che.api.debugger.shared.model.impl.BreakpointImpl; -import org.eclipse.che.api.debugger.shared.model.impl.LocationImpl; +import org.eclipse.che.ide.api.debugger.shared.model.Breakpoint; +import org.eclipse.che.ide.api.debugger.shared.model.Location; +import org.eclipse.che.ide.api.debugger.shared.model.impl.BreakpointImpl; +import org.eclipse.che.ide.api.debugger.shared.model.impl.LocationImpl; import org.eclipse.che.commons.annotation.Nullable; import java.util.regex.Matcher; diff --git a/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/GdbDebuggerTest.java b/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/GdbDebuggerTest.java index d867006348e..fb438f34556 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/GdbDebuggerTest.java +++ b/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/GdbDebuggerTest.java @@ -14,25 +14,25 @@ import org.eclipse.che.api.debugger.server.Debugger; import org.eclipse.che.api.debugger.server.exceptions.DebuggerException; -import org.eclipse.che.api.debugger.shared.model.Breakpoint; -import org.eclipse.che.api.debugger.shared.model.DebuggerInfo; -import org.eclipse.che.api.debugger.shared.model.Location; -import org.eclipse.che.api.debugger.shared.model.StackFrameDump; -import org.eclipse.che.api.debugger.shared.model.Value; -import org.eclipse.che.api.debugger.shared.model.Variable; -import org.eclipse.che.api.debugger.shared.model.VariablePath; -import org.eclipse.che.api.debugger.shared.model.event.BreakpointActivatedEvent; -import org.eclipse.che.api.debugger.shared.model.event.DebuggerEvent; -import org.eclipse.che.api.debugger.shared.model.event.DisconnectEvent; -import org.eclipse.che.api.debugger.shared.model.event.SuspendEvent; -import org.eclipse.che.api.debugger.shared.model.impl.BreakpointImpl; -import org.eclipse.che.api.debugger.shared.model.impl.LocationImpl; -import org.eclipse.che.api.debugger.shared.model.impl.VariableImpl; -import org.eclipse.che.api.debugger.shared.model.impl.VariablePathImpl; -import org.eclipse.che.api.debugger.shared.model.impl.action.ResumeActionImpl; -import org.eclipse.che.api.debugger.shared.model.impl.action.StartActionImpl; -import org.eclipse.che.api.debugger.shared.model.impl.action.StepOutActionImpl; -import org.eclipse.che.api.debugger.shared.model.impl.action.StepOverActionImpl; +import org.eclipse.che.ide.api.debugger.shared.model.Breakpoint; +import org.eclipse.che.ide.api.debugger.shared.model.DebuggerInfo; +import org.eclipse.che.ide.api.debugger.shared.model.Location; +import org.eclipse.che.ide.api.debugger.shared.model.StackFrameDump; +import org.eclipse.che.ide.api.debugger.shared.model.Value; +import org.eclipse.che.ide.api.debugger.shared.model.Variable; +import org.eclipse.che.ide.api.debugger.shared.model.VariablePath; +import org.eclipse.che.ide.api.debugger.shared.model.event.BreakpointActivatedEvent; +import org.eclipse.che.ide.api.debugger.shared.model.event.DebuggerEvent; +import org.eclipse.che.ide.api.debugger.shared.model.event.DisconnectEvent; +import org.eclipse.che.ide.api.debugger.shared.model.event.SuspendEvent; +import org.eclipse.che.ide.api.debugger.shared.model.impl.BreakpointImpl; +import org.eclipse.che.ide.api.debugger.shared.model.impl.LocationImpl; +import org.eclipse.che.ide.api.debugger.shared.model.impl.VariableImpl; +import org.eclipse.che.ide.api.debugger.shared.model.impl.VariablePathImpl; +import org.eclipse.che.ide.api.debugger.shared.model.impl.action.ResumeActionImpl; +import org.eclipse.che.ide.api.debugger.shared.model.impl.action.StartActionImpl; +import org.eclipse.che.ide.api.debugger.shared.model.impl.action.StepOutActionImpl; +import org.eclipse.che.ide.api.debugger.shared.model.impl.action.StepOverActionImpl; import org.testng.annotations.AfterMethod; import org.testng.annotations.BeforeClass; import org.testng.annotations.BeforeMethod; diff --git a/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/GdbTest.java b/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/GdbTest.java index 195f40c023d..386b54c7229 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/GdbTest.java +++ b/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/GdbTest.java @@ -10,7 +10,7 @@ *******************************************************************************/ package org.eclipse.che.plugin.gdb.server; -import org.eclipse.che.api.debugger.shared.model.Breakpoint; +import org.eclipse.che.ide.api.debugger.shared.model.Breakpoint; import org.eclipse.che.plugin.gdb.server.parser.GdbContinue; import org.eclipse.che.plugin.gdb.server.parser.GdbInfoBreak; import org.eclipse.che.plugin.gdb.server.parser.GdbInfoLine; diff --git a/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/parser/GdbInfoBreakTest.java b/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/parser/GdbInfoBreakTest.java index ab11fdd1ec0..816fac6a14c 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/parser/GdbInfoBreakTest.java +++ b/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/parser/GdbInfoBreakTest.java @@ -10,7 +10,7 @@ *******************************************************************************/ package org.eclipse.che.plugin.gdb.server.parser; -import org.eclipse.che.api.debugger.shared.model.Breakpoint; +import org.eclipse.che.ide.api.debugger.shared.model.Breakpoint; import org.testng.annotations.Test; import java.util.List; diff --git a/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/parser/GdbInfoLineTest.java b/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/parser/GdbInfoLineTest.java index 77e2c2d2abb..df0ef17c1f9 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/parser/GdbInfoLineTest.java +++ b/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/parser/GdbInfoLineTest.java @@ -10,7 +10,7 @@ *******************************************************************************/ package org.eclipse.che.plugin.gdb.server.parser; -import org.eclipse.che.api.debugger.shared.model.Location; +import org.eclipse.che.ide.api.debugger.shared.model.Location; import org.testng.annotations.Test; import static org.testng.Assert.assertEquals; diff --git a/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/parser/GdbRunTest.java b/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/parser/GdbRunTest.java index 195b1a8806f..b74e90be857 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/parser/GdbRunTest.java +++ b/plugins/plugin-gdb/che-plugin-gdb-server/src/test/java/org/eclipse/che/plugin/gdb/server/parser/GdbRunTest.java @@ -10,7 +10,7 @@ *******************************************************************************/ package org.eclipse.che.plugin.gdb.server.parser; -import org.eclipse.che.api.debugger.shared.model.Breakpoint; +import org.eclipse.che.ide.api.debugger.shared.model.Breakpoint; import org.testng.annotations.Test; import static org.testng.Assert.assertEquals; diff --git a/plugins/plugin-java-debugger/che-plugin-java-debugger-ide/pom.xml b/plugins/plugin-java-debugger/che-plugin-java-debugger-ide/pom.xml index 0d24e85a3c0..2920d41d895 100644 --- a/plugins/plugin-java-debugger/che-plugin-java-debugger-ide/pom.xml +++ b/plugins/plugin-java-debugger/che-plugin-java-debugger-ide/pom.xml @@ -50,10 +50,6 @@ org.eclipse.che.core che-core-api-workspace - - org.eclipse.che.core - che-core-client-gwt-debugger - org.eclipse.che.core che-core-client-gwt-machine diff --git a/plugins/plugin-java-debugger/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/plugin/jdb/ide/debug/JavaDebugger.java b/plugins/plugin-java-debugger/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/plugin/jdb/ide/debug/JavaDebugger.java index b0fbe9d100a..79253a4844c 100644 --- a/plugins/plugin-java-debugger/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/plugin/jdb/ide/debug/JavaDebugger.java +++ b/plugins/plugin-java-debugger/che-plugin-java-debugger-ide/src/main/java/org/eclipse/che/plugin/jdb/ide/debug/JavaDebugger.java @@ -13,10 +13,10 @@ import com.google.inject.Inject; import com.google.web.bindery.event.shared.EventBus; -import org.eclipse.che.api.debugger.gwt.client.DebuggerServiceClient; -import org.eclipse.che.api.debugger.shared.model.Location; +import org.eclipse.che.ide.api.debugger.shared.model.Location; import org.eclipse.che.ide.api.app.AppContext; import org.eclipse.che.ide.api.app.CurrentProject; +import org.eclipse.che.ide.api.debug.DebuggerServiceClient; import org.eclipse.che.ide.api.filetypes.FileTypeRegistry; import org.eclipse.che.ide.api.project.tree.VirtualFile; import org.eclipse.che.ide.debug.DebuggerDescriptor; diff --git a/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/BreakPointComparator.java b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/BreakPointComparator.java index f7d0dd8291b..b7f92e9d58d 100644 --- a/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/BreakPointComparator.java +++ b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/BreakPointComparator.java @@ -11,7 +11,7 @@ package org.eclipse.che.plugin.jdb.server; -import org.eclipse.che.api.debugger.shared.model.Breakpoint; +import org.eclipse.che.ide.api.debugger.shared.model.Breakpoint; import java.util.Comparator; diff --git a/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/JavaDebugger.java b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/JavaDebugger.java index 695792e3404..da7c1772bf2 100644 --- a/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/JavaDebugger.java +++ b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/src/main/java/org/eclipse/che/plugin/jdb/server/JavaDebugger.java @@ -31,32 +31,32 @@ import org.eclipse.che.api.debugger.server.Debugger; import org.eclipse.che.api.debugger.server.exceptions.DebuggerException; -import org.eclipse.che.api.debugger.shared.dto.BreakpointDto; -import org.eclipse.che.api.debugger.shared.dto.FieldDto; -import org.eclipse.che.api.debugger.shared.dto.LocationDto; -import org.eclipse.che.api.debugger.shared.dto.StackFrameDumpDto; -import org.eclipse.che.api.debugger.shared.dto.VariableDto; -import org.eclipse.che.api.debugger.shared.dto.VariablePathDto; -import org.eclipse.che.api.debugger.shared.dto.action.ResumeActionDto; -import org.eclipse.che.api.debugger.shared.model.Breakpoint; -import org.eclipse.che.api.debugger.shared.model.DebuggerInfo; -import org.eclipse.che.api.debugger.shared.model.Location; -import org.eclipse.che.api.debugger.shared.model.Value; -import org.eclipse.che.api.debugger.shared.model.Variable; -import org.eclipse.che.api.debugger.shared.model.VariablePath; -import org.eclipse.che.api.debugger.shared.model.action.ResumeAction; -import org.eclipse.che.api.debugger.shared.model.action.StartAction; -import org.eclipse.che.api.debugger.shared.model.action.StepIntoAction; -import org.eclipse.che.api.debugger.shared.model.action.StepOutAction; -import org.eclipse.che.api.debugger.shared.model.action.StepOverAction; -import org.eclipse.che.api.debugger.shared.model.impl.DebuggerInfoImpl; -import org.eclipse.che.api.debugger.shared.model.impl.FieldImpl; -import org.eclipse.che.api.debugger.shared.model.impl.LocationImpl; -import org.eclipse.che.api.debugger.shared.model.impl.ValueImpl; -import org.eclipse.che.api.debugger.shared.model.impl.VariableImpl; -import org.eclipse.che.api.debugger.shared.model.impl.event.BreakpointActivatedEventImpl; -import org.eclipse.che.api.debugger.shared.model.impl.event.DisconnectEventImpl; -import org.eclipse.che.api.debugger.shared.model.impl.event.SuspendEventImpl; +import org.eclipse.che.ide.api.debugger.shared.dto.BreakpointDto; +import org.eclipse.che.ide.api.debugger.shared.dto.FieldDto; +import org.eclipse.che.ide.api.debugger.shared.dto.LocationDto; +import org.eclipse.che.ide.api.debugger.shared.dto.StackFrameDumpDto; +import org.eclipse.che.ide.api.debugger.shared.dto.VariableDto; +import org.eclipse.che.ide.api.debugger.shared.dto.VariablePathDto; +import org.eclipse.che.ide.api.debugger.shared.dto.action.ResumeActionDto; +import org.eclipse.che.ide.api.debugger.shared.model.Breakpoint; +import org.eclipse.che.ide.api.debugger.shared.model.DebuggerInfo; +import org.eclipse.che.ide.api.debugger.shared.model.Location; +import org.eclipse.che.ide.api.debugger.shared.model.Value; +import org.eclipse.che.ide.api.debugger.shared.model.Variable; +import org.eclipse.che.ide.api.debugger.shared.model.VariablePath; +import org.eclipse.che.ide.api.debugger.shared.model.action.ResumeAction; +import org.eclipse.che.ide.api.debugger.shared.model.action.StartAction; +import org.eclipse.che.ide.api.debugger.shared.model.action.StepIntoAction; +import org.eclipse.che.ide.api.debugger.shared.model.action.StepOutAction; +import org.eclipse.che.ide.api.debugger.shared.model.action.StepOverAction; +import org.eclipse.che.ide.api.debugger.shared.model.impl.DebuggerInfoImpl; +import org.eclipse.che.ide.api.debugger.shared.model.impl.FieldImpl; +import org.eclipse.che.ide.api.debugger.shared.model.impl.LocationImpl; +import org.eclipse.che.ide.api.debugger.shared.model.impl.ValueImpl; +import org.eclipse.che.ide.api.debugger.shared.model.impl.VariableImpl; +import org.eclipse.che.ide.api.debugger.shared.model.impl.event.BreakpointActivatedEventImpl; +import org.eclipse.che.ide.api.debugger.shared.model.impl.event.DisconnectEventImpl; +import org.eclipse.che.ide.api.debugger.shared.model.impl.event.SuspendEventImpl; import org.eclipse.che.plugin.jdb.server.exceptions.DebuggerAbsentInformationException; import org.eclipse.che.plugin.jdb.server.expression.Evaluator; import org.eclipse.che.plugin.jdb.server.expression.ExpressionException; diff --git a/pom.xml b/pom.xml index 28752311570..d05e5214039 100644 --- a/pom.xml +++ b/pom.xml @@ -221,11 +221,6 @@ che-core-client-gwt-core ${project.version} - - org.eclipse.che.core - che-core-client-gwt-debugger - ${project.version} - org.eclipse.che.core che-core-client-gwt-factory diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/BreakpointDto.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/dto/BreakpointDto.java similarity index 85% rename from wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/BreakpointDto.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/dto/BreakpointDto.java index 51dbccc2ab7..e5012bbf524 100644 --- a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/BreakpointDto.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/dto/BreakpointDto.java @@ -8,16 +8,16 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.api.debugger.shared.dto; +package org.eclipse.che.ide.api.debugger.shared.dto; -import org.eclipse.che.api.debugger.shared.model.Breakpoint; +import org.eclipse.che.ide.api.debugger.shared.model.Breakpoint; import org.eclipse.che.dto.shared.DTO; /** * @author andrew00x */ @DTO -public interface BreakpointDto extends Breakpoint{ +public interface BreakpointDto extends Breakpoint { LocationDto getLocation(); void setLocation(LocationDto location); diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/DebugSessionDto.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/dto/DebugSessionDto.java similarity index 89% rename from wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/DebugSessionDto.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/dto/DebugSessionDto.java index 77e9c6f6968..819da6eeee6 100644 --- a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/DebugSessionDto.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/dto/DebugSessionDto.java @@ -8,9 +8,9 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.api.debugger.shared.dto; +package org.eclipse.che.ide.api.debugger.shared.dto; -import org.eclipse.che.api.debugger.shared.model.DebugSession; +import org.eclipse.che.ide.api.debugger.shared.model.DebugSession; import org.eclipse.che.dto.shared.DTO; /** diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/DebuggerInfoDto.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/dto/DebuggerInfoDto.java similarity index 91% rename from wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/DebuggerInfoDto.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/dto/DebuggerInfoDto.java index a24c8674909..6eeadf7a9dd 100644 --- a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/DebuggerInfoDto.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/dto/DebuggerInfoDto.java @@ -8,9 +8,9 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.api.debugger.shared.dto; +package org.eclipse.che.ide.api.debugger.shared.dto; -import org.eclipse.che.api.debugger.shared.model.DebuggerInfo; +import org.eclipse.che.ide.api.debugger.shared.model.DebuggerInfo; import org.eclipse.che.dto.shared.DTO; /** diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/FieldDto.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/dto/FieldDto.java similarity index 92% rename from wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/FieldDto.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/dto/FieldDto.java index b9812fa903c..cbbf5cfd14a 100644 --- a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/FieldDto.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/dto/FieldDto.java @@ -8,10 +8,9 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.api.debugger.shared.dto; +package org.eclipse.che.ide.api.debugger.shared.dto; -import org.eclipse.che.api.debugger.shared.model.Field; -import org.eclipse.che.api.debugger.shared.model.Variable; +import org.eclipse.che.ide.api.debugger.shared.model.Field; import org.eclipse.che.dto.shared.DTO; import java.util.List; diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/LocationDto.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/dto/LocationDto.java similarity index 88% rename from wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/LocationDto.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/dto/LocationDto.java index 865b48fea0f..175d27aab25 100644 --- a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/LocationDto.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/dto/LocationDto.java @@ -8,9 +8,9 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.api.debugger.shared.dto; +package org.eclipse.che.ide.api.debugger.shared.dto; -import org.eclipse.che.api.debugger.shared.model.Location; +import org.eclipse.che.ide.api.debugger.shared.model.Location; import org.eclipse.che.dto.shared.DTO; /** @author andrew00x */ diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/StackFrameDumpDto.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/dto/StackFrameDumpDto.java similarity index 88% rename from wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/StackFrameDumpDto.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/dto/StackFrameDumpDto.java index 72d1901b9d8..10df40fbb0a 100644 --- a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/StackFrameDumpDto.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/dto/StackFrameDumpDto.java @@ -8,9 +8,9 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.api.debugger.shared.dto; +package org.eclipse.che.ide.api.debugger.shared.dto; -import org.eclipse.che.api.debugger.shared.model.StackFrameDump; +import org.eclipse.che.ide.api.debugger.shared.model.StackFrameDump; import org.eclipse.che.dto.shared.DTO; import java.util.List; diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/ValueDto.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/dto/ValueDto.java similarity index 88% rename from wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/ValueDto.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/dto/ValueDto.java index dd9c104863b..a1362f0e5ed 100644 --- a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/ValueDto.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/dto/ValueDto.java @@ -8,9 +8,9 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.api.debugger.shared.dto; +package org.eclipse.che.ide.api.debugger.shared.dto; -import org.eclipse.che.api.debugger.shared.model.Value; +import org.eclipse.che.ide.api.debugger.shared.model.Value; import org.eclipse.che.dto.shared.DTO; import java.util.List; diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/VariableDto.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/dto/VariableDto.java similarity index 93% rename from wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/VariableDto.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/dto/VariableDto.java index 26b55287d52..6ba98fa5226 100644 --- a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/VariableDto.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/dto/VariableDto.java @@ -8,9 +8,9 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.api.debugger.shared.dto; +package org.eclipse.che.ide.api.debugger.shared.dto; -import org.eclipse.che.api.debugger.shared.model.Variable; +import org.eclipse.che.ide.api.debugger.shared.model.Variable; import org.eclipse.che.dto.shared.DTO; import java.util.List; diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/VariablePathDto.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/dto/VariablePathDto.java similarity index 86% rename from wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/VariablePathDto.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/dto/VariablePathDto.java index cb6f6e8435b..46c1ca77e2f 100644 --- a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/VariablePathDto.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/dto/VariablePathDto.java @@ -8,9 +8,9 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.api.debugger.shared.dto; +package org.eclipse.che.ide.api.debugger.shared.dto; -import org.eclipse.che.api.debugger.shared.model.VariablePath; +import org.eclipse.che.ide.api.debugger.shared.model.VariablePath; import org.eclipse.che.dto.shared.DTO; import java.util.List; diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/action/ActionDto.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/dto/action/ActionDto.java similarity index 85% rename from wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/action/ActionDto.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/dto/action/ActionDto.java index 7ff19d4e81e..8faddc2c1b5 100644 --- a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/action/ActionDto.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/dto/action/ActionDto.java @@ -8,9 +8,9 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.api.debugger.shared.dto.action; +package org.eclipse.che.ide.api.debugger.shared.dto.action; -import org.eclipse.che.api.debugger.shared.model.action.Action; +import org.eclipse.che.ide.api.debugger.shared.model.action.Action; import org.eclipse.che.dto.shared.DTO; /** diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/action/ResumeActionDto.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/dto/action/ResumeActionDto.java similarity index 79% rename from wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/action/ResumeActionDto.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/dto/action/ResumeActionDto.java index c97a8cd72f1..a2707f83656 100644 --- a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/action/ResumeActionDto.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/dto/action/ResumeActionDto.java @@ -8,10 +8,10 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.api.debugger.shared.dto.action; +package org.eclipse.che.ide.api.debugger.shared.dto.action; -import org.eclipse.che.api.debugger.shared.model.action.Action; -import org.eclipse.che.api.debugger.shared.model.action.ResumeAction; +import org.eclipse.che.ide.api.debugger.shared.model.action.Action; +import org.eclipse.che.ide.api.debugger.shared.model.action.ResumeAction; import org.eclipse.che.dto.shared.DTO; /** diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/action/StartActionDto.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/dto/action/StartActionDto.java similarity index 79% rename from wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/action/StartActionDto.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/dto/action/StartActionDto.java index 427bbf94a0e..181495ee9a2 100644 --- a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/action/StartActionDto.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/dto/action/StartActionDto.java @@ -8,10 +8,10 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.api.debugger.shared.dto.action; +package org.eclipse.che.ide.api.debugger.shared.dto.action; -import org.eclipse.che.api.debugger.shared.model.action.Action; -import org.eclipse.che.api.debugger.shared.model.action.StartAction; +import org.eclipse.che.ide.api.debugger.shared.model.action.Action; +import org.eclipse.che.ide.api.debugger.shared.model.action.StartAction; import org.eclipse.che.dto.shared.DTO; /** diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/action/StepIntoActionDto.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/dto/action/StepIntoActionDto.java similarity index 68% rename from wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/action/StepIntoActionDto.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/dto/action/StepIntoActionDto.java index 0f829b0d9c0..17b06183692 100644 --- a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/action/StepIntoActionDto.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/dto/action/StepIntoActionDto.java @@ -8,10 +8,9 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.api.debugger.shared.dto.action; +package org.eclipse.che.ide.api.debugger.shared.dto.action; -import org.eclipse.che.api.debugger.shared.model.action.Action; -import org.eclipse.che.api.debugger.shared.model.action.StepIntoAction; +import org.eclipse.che.ide.api.debugger.shared.model.action.StepIntoAction; import org.eclipse.che.dto.shared.DTO; /** @@ -19,9 +18,9 @@ */ @DTO public interface StepIntoActionDto extends ActionDto, StepIntoAction { - Action.TYPE getType(); + TYPE getType(); - void setType(Action.TYPE type); + void setType(TYPE type); - StepIntoActionDto withType(Action.TYPE type); + StepIntoActionDto withType(TYPE type); } diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/action/StepOutActionDto.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/dto/action/StepOutActionDto.java similarity index 69% rename from wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/action/StepOutActionDto.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/dto/action/StepOutActionDto.java index c1a18afad61..bf74a606630 100644 --- a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/action/StepOutActionDto.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/dto/action/StepOutActionDto.java @@ -8,10 +8,9 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.api.debugger.shared.dto.action; +package org.eclipse.che.ide.api.debugger.shared.dto.action; -import org.eclipse.che.api.debugger.shared.model.action.Action; -import org.eclipse.che.api.debugger.shared.model.action.StepOutAction; +import org.eclipse.che.ide.api.debugger.shared.model.action.StepOutAction; import org.eclipse.che.dto.shared.DTO; /** @@ -19,9 +18,9 @@ */ @DTO public interface StepOutActionDto extends ActionDto, StepOutAction { - Action.TYPE getType(); + TYPE getType(); - void setType(Action.TYPE type); + void setType(TYPE type); - StepOutActionDto withType(Action.TYPE type); + StepOutActionDto withType(TYPE type); } diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/action/StepOverActionDto.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/dto/action/StepOverActionDto.java similarity index 79% rename from wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/action/StepOverActionDto.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/dto/action/StepOverActionDto.java index fe605036179..67b2de24819 100644 --- a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/action/StepOverActionDto.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/dto/action/StepOverActionDto.java @@ -8,10 +8,10 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.api.debugger.shared.dto.action; +package org.eclipse.che.ide.api.debugger.shared.dto.action; -import org.eclipse.che.api.debugger.shared.model.action.Action; -import org.eclipse.che.api.debugger.shared.model.action.StepOverAction; +import org.eclipse.che.ide.api.debugger.shared.model.action.Action; +import org.eclipse.che.ide.api.debugger.shared.model.action.StepOverAction; import org.eclipse.che.dto.shared.DTO; /** diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/action/SuspendActionDto.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/dto/action/SuspendActionDto.java similarity index 79% rename from wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/action/SuspendActionDto.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/dto/action/SuspendActionDto.java index 44e6b645996..f33d268e649 100644 --- a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/action/SuspendActionDto.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/dto/action/SuspendActionDto.java @@ -8,10 +8,10 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.api.debugger.shared.dto.action; +package org.eclipse.che.ide.api.debugger.shared.dto.action; -import org.eclipse.che.api.debugger.shared.model.action.Action; -import org.eclipse.che.api.debugger.shared.model.action.SuspendAction; +import org.eclipse.che.ide.api.debugger.shared.model.action.Action; +import org.eclipse.che.ide.api.debugger.shared.model.action.SuspendAction; import org.eclipse.che.dto.shared.DTO; /** diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/event/BreakpointActivatedEventDto.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/dto/event/BreakpointActivatedEventDto.java similarity index 84% rename from wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/event/BreakpointActivatedEventDto.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/dto/event/BreakpointActivatedEventDto.java index 3e72cae2ddf..277e4708291 100644 --- a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/event/BreakpointActivatedEventDto.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/dto/event/BreakpointActivatedEventDto.java @@ -8,10 +8,10 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.api.debugger.shared.dto.event; +package org.eclipse.che.ide.api.debugger.shared.dto.event; -import org.eclipse.che.api.debugger.shared.dto.BreakpointDto; -import org.eclipse.che.api.debugger.shared.model.event.DebuggerEvent; +import org.eclipse.che.ide.api.debugger.shared.dto.BreakpointDto; +import org.eclipse.che.ide.api.debugger.shared.model.event.DebuggerEvent; import org.eclipse.che.dto.shared.DTO; /** diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/event/DebuggerEventDto.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/dto/event/DebuggerEventDto.java similarity index 85% rename from wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/event/DebuggerEventDto.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/dto/event/DebuggerEventDto.java index f00b71e2ee2..a301ddc01cd 100644 --- a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/event/DebuggerEventDto.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/dto/event/DebuggerEventDto.java @@ -8,9 +8,9 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.api.debugger.shared.dto.event; +package org.eclipse.che.ide.api.debugger.shared.dto.event; -import org.eclipse.che.api.debugger.shared.model.event.DebuggerEvent; +import org.eclipse.che.ide.api.debugger.shared.model.event.DebuggerEvent; import org.eclipse.che.dto.shared.DTO; /** diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/event/DisconnectEventDto.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/dto/event/DisconnectEventDto.java similarity index 85% rename from wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/event/DisconnectEventDto.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/dto/event/DisconnectEventDto.java index 3a8899be73f..68850cdf0bd 100644 --- a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/event/DisconnectEventDto.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/dto/event/DisconnectEventDto.java @@ -8,9 +8,9 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.api.debugger.shared.dto.event; +package org.eclipse.che.ide.api.debugger.shared.dto.event; -import org.eclipse.che.api.debugger.shared.model.event.DebuggerEvent; +import org.eclipse.che.ide.api.debugger.shared.model.event.DebuggerEvent; import org.eclipse.che.dto.shared.DTO; /** diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/event/SuspendEventDto.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/dto/event/SuspendEventDto.java similarity index 82% rename from wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/event/SuspendEventDto.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/dto/event/SuspendEventDto.java index 5ac875e344d..7c2976b9c6c 100644 --- a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/dto/event/SuspendEventDto.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/dto/event/SuspendEventDto.java @@ -8,10 +8,10 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.api.debugger.shared.dto.event; +package org.eclipse.che.ide.api.debugger.shared.dto.event; -import org.eclipse.che.api.debugger.shared.dto.LocationDto; -import org.eclipse.che.api.debugger.shared.model.event.DebuggerEvent; +import org.eclipse.che.ide.api.debugger.shared.dto.LocationDto; +import org.eclipse.che.ide.api.debugger.shared.model.event.DebuggerEvent; import org.eclipse.che.dto.shared.DTO; /** @author andrew00x */ diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/Breakpoint.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/Breakpoint.java similarity index 93% rename from wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/Breakpoint.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/Breakpoint.java index 0282fe9bf00..89cee7cca85 100644 --- a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/Breakpoint.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/Breakpoint.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.api.debugger.shared.model; +package org.eclipse.che.ide.api.debugger.shared.model; /** * @author Anatoliy Bazko diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/DebugSession.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/DebugSession.java similarity index 93% rename from wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/DebugSession.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/DebugSession.java index 3b6d572b135..34f8737ce04 100644 --- a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/DebugSession.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/DebugSession.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.api.debugger.shared.model; +package org.eclipse.che.ide.api.debugger.shared.model; /** * Debug session. diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/DebuggerInfo.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/DebuggerInfo.java similarity index 95% rename from wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/DebuggerInfo.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/DebuggerInfo.java index 6fe63f0a7bb..17fd187174b 100644 --- a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/DebuggerInfo.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/DebuggerInfo.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.api.debugger.shared.model; +package org.eclipse.che.ide.api.debugger.shared.model; import org.eclipse.che.commons.annotation.Nullable; diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/Field.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/Field.java similarity index 94% rename from wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/Field.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/Field.java index 815ba24f37d..d01f38b2cf2 100644 --- a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/Field.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/Field.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.api.debugger.shared.model; +package org.eclipse.che.ide.api.debugger.shared.model; /** * @author Anatoliy Bazko diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/Location.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/Location.java similarity index 93% rename from wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/Location.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/Location.java index 600e5a85852..717bff57b9b 100644 --- a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/Location.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/Location.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.api.debugger.shared.model; +package org.eclipse.che.ide.api.debugger.shared.model; /** * @author Anatoliy Bazko diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/MutableVariable.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/MutableVariable.java similarity index 94% rename from wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/MutableVariable.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/MutableVariable.java index ee1c98cf517..5c60d9fd59f 100644 --- a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/MutableVariable.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/MutableVariable.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.api.debugger.shared.model; +package org.eclipse.che.ide.api.debugger.shared.model; import java.util.List; diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/StackFrameDump.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/StackFrameDump.java similarity index 93% rename from wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/StackFrameDump.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/StackFrameDump.java index 876b79545a2..b0de136c40b 100644 --- a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/StackFrameDump.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/StackFrameDump.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.api.debugger.shared.model; +package org.eclipse.che.ide.api.debugger.shared.model; import java.util.List; diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/Value.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/Value.java similarity index 93% rename from wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/Value.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/Value.java index 1ff52ebfbf0..4e359fb7ec8 100644 --- a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/Value.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/Value.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.api.debugger.shared.model; +package org.eclipse.che.ide.api.debugger.shared.model; import java.util.List; diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/Variable.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/Variable.java similarity index 95% rename from wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/Variable.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/Variable.java index a9f163d4055..ac850f3524d 100644 --- a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/Variable.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/Variable.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.api.debugger.shared.model; +package org.eclipse.che.ide.api.debugger.shared.model; import java.util.List; diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/VariablePath.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/VariablePath.java similarity index 93% rename from wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/VariablePath.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/VariablePath.java index 04120976f27..0f323ea1fa4 100644 --- a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/VariablePath.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/VariablePath.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.api.debugger.shared.model; +package org.eclipse.che.ide.api.debugger.shared.model; import java.util.List; diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/action/Action.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/action/Action.java similarity index 92% rename from wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/action/Action.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/action/Action.java index 33b3c8d4b28..a154e7ef902 100644 --- a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/action/Action.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/action/Action.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.api.debugger.shared.model.action; +package org.eclipse.che.ide.api.debugger.shared.model.action; /** * @author Anatoliy Bazko diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/action/ResumeAction.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/action/ResumeAction.java similarity index 90% rename from wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/action/ResumeAction.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/action/ResumeAction.java index d5b46d198a2..4da179537af 100644 --- a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/action/ResumeAction.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/action/ResumeAction.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.api.debugger.shared.model.action; +package org.eclipse.che.ide.api.debugger.shared.model.action; /** * @author Anatoliy Bazko diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/action/StartAction.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/action/StartAction.java similarity index 90% rename from wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/action/StartAction.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/action/StartAction.java index 261e6ae4bce..62e4ddc4f08 100644 --- a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/action/StartAction.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/action/StartAction.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.api.debugger.shared.model.action; +package org.eclipse.che.ide.api.debugger.shared.model.action; /** * @author Anatoliy Bazko diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/action/StepIntoAction.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/action/StepIntoAction.java similarity index 90% rename from wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/action/StepIntoAction.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/action/StepIntoAction.java index 03cad206a90..0fecf935f83 100644 --- a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/action/StepIntoAction.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/action/StepIntoAction.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.api.debugger.shared.model.action; +package org.eclipse.che.ide.api.debugger.shared.model.action; /** * @author Anatoliy Bazko diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/action/StepOutAction.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/action/StepOutAction.java similarity index 90% rename from wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/action/StepOutAction.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/action/StepOutAction.java index f6275134362..f9778e9a367 100644 --- a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/action/StepOutAction.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/action/StepOutAction.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.api.debugger.shared.model.action; +package org.eclipse.che.ide.api.debugger.shared.model.action; /** * @author Anatoliy Bazko diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/action/StepOverAction.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/action/StepOverAction.java similarity index 90% rename from wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/action/StepOverAction.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/action/StepOverAction.java index 201caf966c9..f4bb031fbb6 100644 --- a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/action/StepOverAction.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/action/StepOverAction.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.api.debugger.shared.model.action; +package org.eclipse.che.ide.api.debugger.shared.model.action; /** * @author Anatoliy Bazko diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/action/SuspendAction.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/action/SuspendAction.java similarity index 90% rename from wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/action/SuspendAction.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/action/SuspendAction.java index 3497f0819b9..b90f7d4a366 100644 --- a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/action/SuspendAction.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/action/SuspendAction.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.api.debugger.shared.model.action; +package org.eclipse.che.ide.api.debugger.shared.model.action; /** * @author Anatoliy Bazko diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/event/BreakpointActivatedEvent.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/event/BreakpointActivatedEvent.java similarity index 85% rename from wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/event/BreakpointActivatedEvent.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/event/BreakpointActivatedEvent.java index 3bd92e023a1..d06dde6cf41 100644 --- a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/event/BreakpointActivatedEvent.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/event/BreakpointActivatedEvent.java @@ -8,9 +8,9 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.api.debugger.shared.model.event; +package org.eclipse.che.ide.api.debugger.shared.model.event; -import org.eclipse.che.api.debugger.shared.model.Breakpoint; +import org.eclipse.che.ide.api.debugger.shared.model.Breakpoint; /** * Event is generated when breakpoint became active. diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/event/DebuggerEvent.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/event/DebuggerEvent.java similarity index 91% rename from wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/event/DebuggerEvent.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/event/DebuggerEvent.java index 585ea1ccd10..95cb70d66b7 100644 --- a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/event/DebuggerEvent.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/event/DebuggerEvent.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.api.debugger.shared.model.event; +package org.eclipse.che.ide.api.debugger.shared.model.event; /** * @author Anatoliy Bazko diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/event/DisconnectEvent.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/event/DisconnectEvent.java similarity index 91% rename from wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/event/DisconnectEvent.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/event/DisconnectEvent.java index 97fcfb0f8c6..fc282a5fa0e 100644 --- a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/event/DisconnectEvent.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/event/DisconnectEvent.java @@ -8,7 +8,7 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.api.debugger.shared.model.event; +package org.eclipse.che.ide.api.debugger.shared.model.event; /** * Event is generated when debugger disconnected diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/event/SuspendEvent.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/event/SuspendEvent.java similarity index 85% rename from wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/event/SuspendEvent.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/event/SuspendEvent.java index ec5388dce43..561c9814c68 100644 --- a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/event/SuspendEvent.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/event/SuspendEvent.java @@ -8,9 +8,9 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.api.debugger.shared.model.event; +package org.eclipse.che.ide.api.debugger.shared.model.event; -import org.eclipse.che.api.debugger.shared.model.Location; +import org.eclipse.che.ide.api.debugger.shared.model.Location; /** * Event is generated when debugger suspended at some location. diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/BreakpointImpl.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/impl/BreakpointImpl.java similarity index 91% rename from wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/BreakpointImpl.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/impl/BreakpointImpl.java index 1bbcc8163c8..f63e1c64377 100644 --- a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/BreakpointImpl.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/impl/BreakpointImpl.java @@ -8,10 +8,10 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.api.debugger.shared.model.impl; +package org.eclipse.che.ide.api.debugger.shared.model.impl; -import org.eclipse.che.api.debugger.shared.model.Breakpoint; -import org.eclipse.che.api.debugger.shared.model.Location; +import org.eclipse.che.ide.api.debugger.shared.model.Breakpoint; +import org.eclipse.che.ide.api.debugger.shared.model.Location; /** * @author Anatoliy Bazko diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/DebugSessionImpl.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/impl/DebugSessionImpl.java similarity index 90% rename from wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/DebugSessionImpl.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/impl/DebugSessionImpl.java index 6180b404221..39fe4180242 100644 --- a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/DebugSessionImpl.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/impl/DebugSessionImpl.java @@ -8,10 +8,10 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.api.debugger.shared.model.impl; +package org.eclipse.che.ide.api.debugger.shared.model.impl; -import org.eclipse.che.api.debugger.shared.model.DebugSession; -import org.eclipse.che.api.debugger.shared.model.DebuggerInfo; +import org.eclipse.che.ide.api.debugger.shared.model.DebugSession; +import org.eclipse.che.ide.api.debugger.shared.model.DebuggerInfo; /** * @author Anatoliy Bazko diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/DebuggerInfoImpl.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/impl/DebuggerInfoImpl.java similarity index 95% rename from wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/DebuggerInfoImpl.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/impl/DebuggerInfoImpl.java index 66d5ab0a366..0386fd11f96 100644 --- a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/DebuggerInfoImpl.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/impl/DebuggerInfoImpl.java @@ -8,9 +8,9 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.api.debugger.shared.model.impl; +package org.eclipse.che.ide.api.debugger.shared.model.impl; -import org.eclipse.che.api.debugger.shared.model.DebuggerInfo; +import org.eclipse.che.ide.api.debugger.shared.model.DebuggerInfo; /** * Summary of debugger information. diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/FieldImpl.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/impl/FieldImpl.java similarity index 92% rename from wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/FieldImpl.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/impl/FieldImpl.java index cde6eff9500..6d3a3b40f01 100644 --- a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/FieldImpl.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/impl/FieldImpl.java @@ -8,10 +8,10 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.api.debugger.shared.model.impl; +package org.eclipse.che.ide.api.debugger.shared.model.impl; -import org.eclipse.che.api.debugger.shared.model.Variable; -import org.eclipse.che.api.debugger.shared.model.VariablePath; +import org.eclipse.che.ide.api.debugger.shared.model.Variable; +import org.eclipse.che.ide.api.debugger.shared.model.VariablePath; import java.util.List; diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/LocationImpl.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/impl/LocationImpl.java similarity index 92% rename from wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/LocationImpl.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/impl/LocationImpl.java index c1ed4df71de..cf6c0e8c9a6 100644 --- a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/LocationImpl.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/impl/LocationImpl.java @@ -8,9 +8,9 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.api.debugger.shared.model.impl; +package org.eclipse.che.ide.api.debugger.shared.model.impl; -import org.eclipse.che.api.debugger.shared.model.Location; +import org.eclipse.che.ide.api.debugger.shared.model.Location; /** * @author Anatoliy Bazko diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/MutableVariableImpl.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/impl/MutableVariableImpl.java similarity index 94% rename from wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/MutableVariableImpl.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/impl/MutableVariableImpl.java index 1c95285faaa..3bfad002c15 100644 --- a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/MutableVariableImpl.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/impl/MutableVariableImpl.java @@ -8,11 +8,11 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.api.debugger.shared.model.impl; +package org.eclipse.che.ide.api.debugger.shared.model.impl; -import org.eclipse.che.api.debugger.shared.model.MutableVariable; -import org.eclipse.che.api.debugger.shared.model.Variable; -import org.eclipse.che.api.debugger.shared.model.VariablePath; +import org.eclipse.che.ide.api.debugger.shared.model.MutableVariable; +import org.eclipse.che.ide.api.debugger.shared.model.Variable; +import org.eclipse.che.ide.api.debugger.shared.model.VariablePath; import java.util.ArrayList; import java.util.Collections; diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/StackFrameDumpImpl.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/impl/StackFrameDumpImpl.java similarity index 85% rename from wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/StackFrameDumpImpl.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/impl/StackFrameDumpImpl.java index d0caaccf924..80e263a0eee 100644 --- a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/StackFrameDumpImpl.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/impl/StackFrameDumpImpl.java @@ -8,12 +8,12 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.api.debugger.shared.model.impl; +package org.eclipse.che.ide.api.debugger.shared.model.impl; -import org.eclipse.che.api.debugger.shared.dto.StackFrameDumpDto; -import org.eclipse.che.api.debugger.shared.model.Field; -import org.eclipse.che.api.debugger.shared.model.StackFrameDump; -import org.eclipse.che.api.debugger.shared.model.Variable; +import org.eclipse.che.ide.api.debugger.shared.dto.StackFrameDumpDto; +import org.eclipse.che.ide.api.debugger.shared.model.Field; +import org.eclipse.che.ide.api.debugger.shared.model.StackFrameDump; +import org.eclipse.che.ide.api.debugger.shared.model.Variable; import java.util.Collections; import java.util.List; diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/ValueImpl.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/impl/ValueImpl.java similarity index 85% rename from wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/ValueImpl.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/impl/ValueImpl.java index dd783750e62..8c027d2335f 100644 --- a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/ValueImpl.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/impl/ValueImpl.java @@ -8,11 +8,11 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.api.debugger.shared.model.impl; +package org.eclipse.che.ide.api.debugger.shared.model.impl; -import org.eclipse.che.api.debugger.shared.dto.ValueDto; -import org.eclipse.che.api.debugger.shared.model.Value; -import org.eclipse.che.api.debugger.shared.model.Variable; +import org.eclipse.che.ide.api.debugger.shared.dto.ValueDto; +import org.eclipse.che.ide.api.debugger.shared.model.Value; +import org.eclipse.che.ide.api.debugger.shared.model.Variable; import java.util.Collections; import java.util.List; @@ -22,7 +22,7 @@ */ public class ValueImpl implements Value { private final List variables; - private final String value; + private final String value; public ValueImpl(List variables, String value) { this.variables = variables; diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/VariableImpl.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/impl/VariableImpl.java similarity index 95% rename from wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/VariableImpl.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/impl/VariableImpl.java index dcb409f2be5..c965666541a 100644 --- a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/VariableImpl.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/impl/VariableImpl.java @@ -8,10 +8,10 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.api.debugger.shared.model.impl; +package org.eclipse.che.ide.api.debugger.shared.model.impl; -import org.eclipse.che.api.debugger.shared.model.Variable; -import org.eclipse.che.api.debugger.shared.model.VariablePath; +import org.eclipse.che.ide.api.debugger.shared.model.Variable; +import org.eclipse.che.ide.api.debugger.shared.model.VariablePath; import java.util.Collections; import java.util.List; diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/VariablePathImpl.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/impl/VariablePathImpl.java similarity index 91% rename from wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/VariablePathImpl.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/impl/VariablePathImpl.java index 9ef9d59970a..bb71dd7aa5b 100644 --- a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/VariablePathImpl.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/impl/VariablePathImpl.java @@ -8,9 +8,9 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.api.debugger.shared.model.impl; +package org.eclipse.che.ide.api.debugger.shared.model.impl; -import org.eclipse.che.api.debugger.shared.model.VariablePath; +import org.eclipse.che.ide.api.debugger.shared.model.VariablePath; import java.util.Collections; import java.util.List; diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/action/ActionImpl.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/impl/action/ActionImpl.java similarity index 89% rename from wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/action/ActionImpl.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/impl/action/ActionImpl.java index a3834d7f330..6bf6ea77191 100644 --- a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/action/ActionImpl.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/impl/action/ActionImpl.java @@ -8,9 +8,9 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.api.debugger.shared.model.impl.action; +package org.eclipse.che.ide.api.debugger.shared.model.impl.action; -import org.eclipse.che.api.debugger.shared.model.action.Action; +import org.eclipse.che.ide.api.debugger.shared.model.action.Action; /** * @author Anatoliy Bazko diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/action/ResumeActionImpl.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/impl/action/ResumeActionImpl.java similarity index 77% rename from wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/action/ResumeActionImpl.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/impl/action/ResumeActionImpl.java index 38cc385a62c..738550d39bc 100644 --- a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/action/ResumeActionImpl.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/impl/action/ResumeActionImpl.java @@ -8,10 +8,10 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.api.debugger.shared.model.impl.action; +package org.eclipse.che.ide.api.debugger.shared.model.impl.action; -import org.eclipse.che.api.debugger.shared.model.action.Action; -import org.eclipse.che.api.debugger.shared.model.action.ResumeAction; +import org.eclipse.che.ide.api.debugger.shared.model.action.Action; +import org.eclipse.che.ide.api.debugger.shared.model.action.ResumeAction; /** * @author Anatoliy Bazko diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/action/StartActionImpl.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/impl/action/StartActionImpl.java similarity index 77% rename from wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/action/StartActionImpl.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/impl/action/StartActionImpl.java index 2bf9e774722..6283d6e4b02 100644 --- a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/action/StartActionImpl.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/impl/action/StartActionImpl.java @@ -8,10 +8,10 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.api.debugger.shared.model.impl.action; +package org.eclipse.che.ide.api.debugger.shared.model.impl.action; -import org.eclipse.che.api.debugger.shared.model.action.Action; -import org.eclipse.che.api.debugger.shared.model.action.StartAction; +import org.eclipse.che.ide.api.debugger.shared.model.action.Action; +import org.eclipse.che.ide.api.debugger.shared.model.action.StartAction; /** * @author Anatoliy Bazko diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/action/StepIntoActionImpl.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/impl/action/StepIntoActionImpl.java similarity index 77% rename from wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/action/StepIntoActionImpl.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/impl/action/StepIntoActionImpl.java index ca2676b05fa..2060ae056f5 100644 --- a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/action/StepIntoActionImpl.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/impl/action/StepIntoActionImpl.java @@ -8,10 +8,10 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.api.debugger.shared.model.impl.action; +package org.eclipse.che.ide.api.debugger.shared.model.impl.action; -import org.eclipse.che.api.debugger.shared.model.action.Action; -import org.eclipse.che.api.debugger.shared.model.action.StepIntoAction; +import org.eclipse.che.ide.api.debugger.shared.model.action.Action; +import org.eclipse.che.ide.api.debugger.shared.model.action.StepIntoAction; /** * @author Anatoliy Bazko diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/action/StepOutActionImpl.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/impl/action/StepOutActionImpl.java similarity index 77% rename from wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/action/StepOutActionImpl.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/impl/action/StepOutActionImpl.java index 86c5e28208f..23c6ae67e46 100644 --- a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/action/StepOutActionImpl.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/impl/action/StepOutActionImpl.java @@ -8,10 +8,10 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.api.debugger.shared.model.impl.action; +package org.eclipse.che.ide.api.debugger.shared.model.impl.action; -import org.eclipse.che.api.debugger.shared.model.action.Action; -import org.eclipse.che.api.debugger.shared.model.action.StepOutAction; +import org.eclipse.che.ide.api.debugger.shared.model.action.Action; +import org.eclipse.che.ide.api.debugger.shared.model.action.StepOutAction; /** * @author Anatoliy Bazko diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/action/StepOverActionImpl.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/impl/action/StepOverActionImpl.java similarity index 77% rename from wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/action/StepOverActionImpl.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/impl/action/StepOverActionImpl.java index a2b8e1865f8..927b1789659 100644 --- a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/action/StepOverActionImpl.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/impl/action/StepOverActionImpl.java @@ -8,10 +8,10 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.api.debugger.shared.model.impl.action; +package org.eclipse.che.ide.api.debugger.shared.model.impl.action; -import org.eclipse.che.api.debugger.shared.model.action.Action; -import org.eclipse.che.api.debugger.shared.model.action.StepOverAction; +import org.eclipse.che.ide.api.debugger.shared.model.action.Action; +import org.eclipse.che.ide.api.debugger.shared.model.action.StepOverAction; /** * @author Anatoliy Bazko diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/event/BreakpointActivatedEventImpl.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/impl/event/BreakpointActivatedEventImpl.java similarity index 84% rename from wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/event/BreakpointActivatedEventImpl.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/impl/event/BreakpointActivatedEventImpl.java index 7ea88318833..8ad895fe549 100644 --- a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/event/BreakpointActivatedEventImpl.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/impl/event/BreakpointActivatedEventImpl.java @@ -8,11 +8,11 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.api.debugger.shared.model.impl.event; +package org.eclipse.che.ide.api.debugger.shared.model.impl.event; -import org.eclipse.che.api.debugger.shared.model.Breakpoint; -import org.eclipse.che.api.debugger.shared.model.event.BreakpointActivatedEvent; -import org.eclipse.che.api.debugger.shared.model.event.DebuggerEvent; +import org.eclipse.che.ide.api.debugger.shared.model.Breakpoint; +import org.eclipse.che.ide.api.debugger.shared.model.event.BreakpointActivatedEvent; +import org.eclipse.che.ide.api.debugger.shared.model.event.DebuggerEvent; /** * Event will be generated when breakpoint becomes active. diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/event/DebuggerEventImpl.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/impl/event/DebuggerEventImpl.java similarity index 89% rename from wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/event/DebuggerEventImpl.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/impl/event/DebuggerEventImpl.java index 9b3643e51bf..a924c098707 100644 --- a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/event/DebuggerEventImpl.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/impl/event/DebuggerEventImpl.java @@ -8,9 +8,9 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.api.debugger.shared.model.impl.event; +package org.eclipse.che.ide.api.debugger.shared.model.impl.event; -import org.eclipse.che.api.debugger.shared.model.event.DebuggerEvent; +import org.eclipse.che.ide.api.debugger.shared.model.event.DebuggerEvent; /** * @author Anatoliy Bazko diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/event/DisconnectEventImpl.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/impl/event/DisconnectEventImpl.java similarity index 83% rename from wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/event/DisconnectEventImpl.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/impl/event/DisconnectEventImpl.java index 69f5ec6d995..b8808205420 100644 --- a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/event/DisconnectEventImpl.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/impl/event/DisconnectEventImpl.java @@ -8,9 +8,9 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.api.debugger.shared.model.impl.event; +package org.eclipse.che.ide.api.debugger.shared.model.impl.event; -import org.eclipse.che.api.debugger.shared.model.event.DisconnectEvent; +import org.eclipse.che.ide.api.debugger.shared.model.event.DisconnectEvent; /** * @author Anatoliy Bazko diff --git a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/event/SuspendEventImpl.java b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/impl/event/SuspendEventImpl.java similarity index 83% rename from wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/event/SuspendEventImpl.java rename to wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/impl/event/SuspendEventImpl.java index 51ea1d66f1b..c62aa9b14f4 100644 --- a/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/api/debugger/shared/model/impl/event/SuspendEventImpl.java +++ b/wsagent/che-core-api-debugger-shared/src/main/java/org/eclipse/che/ide/api/debugger/shared/model/impl/event/SuspendEventImpl.java @@ -8,11 +8,11 @@ * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ -package org.eclipse.che.api.debugger.shared.model.impl.event; +package org.eclipse.che.ide.api.debugger.shared.model.impl.event; -import org.eclipse.che.api.debugger.shared.model.Location; -import org.eclipse.che.api.debugger.shared.model.event.DebuggerEvent; -import org.eclipse.che.api.debugger.shared.model.event.SuspendEvent; +import org.eclipse.che.ide.api.debugger.shared.model.Location; +import org.eclipse.che.ide.api.debugger.shared.model.event.DebuggerEvent; +import org.eclipse.che.ide.api.debugger.shared.model.event.SuspendEvent; /** * @author Anatoliy Bazko diff --git a/wsagent/che-core-api-debugger/pom.xml b/wsagent/che-core-api-debugger/pom.xml index 1bc850048bd..0cbb226144f 100644 --- a/wsagent/che-core-api-debugger/pom.xml +++ b/wsagent/che-core-api-debugger/pom.xml @@ -118,7 +118,7 @@ - org.eclipse.che.api.debugger.shared.dto + org.eclipse.che.ide.api.debugger.shared.dto ${dto-generator-out-directory} org.eclipse.che.api.debugger.server.dto.DtoServerImpls diff --git a/wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/Debugger.java b/wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/Debugger.java index 45647a1c7bd..73708dc7afe 100644 --- a/wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/Debugger.java +++ b/wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/Debugger.java @@ -11,22 +11,22 @@ package org.eclipse.che.api.debugger.server; import org.eclipse.che.api.debugger.server.exceptions.DebuggerException; -import org.eclipse.che.api.debugger.shared.model.Breakpoint; -import org.eclipse.che.api.debugger.shared.model.DebuggerInfo; -import org.eclipse.che.api.debugger.shared.model.Location; -import org.eclipse.che.api.debugger.shared.model.StackFrameDump; -import org.eclipse.che.api.debugger.shared.model.Value; -import org.eclipse.che.api.debugger.shared.model.Variable; -import org.eclipse.che.api.debugger.shared.model.VariablePath; -import org.eclipse.che.api.debugger.shared.model.action.ResumeAction; -import org.eclipse.che.api.debugger.shared.model.action.StartAction; -import org.eclipse.che.api.debugger.shared.model.action.StepIntoAction; -import org.eclipse.che.api.debugger.shared.model.action.StepOutAction; -import org.eclipse.che.api.debugger.shared.model.action.StepOverAction; -import org.eclipse.che.api.debugger.shared.model.event.BreakpointActivatedEvent; -import org.eclipse.che.api.debugger.shared.model.event.DebuggerEvent; -import org.eclipse.che.api.debugger.shared.model.event.DisconnectEvent; -import org.eclipse.che.api.debugger.shared.model.event.SuspendEvent; +import org.eclipse.che.ide.api.debugger.shared.model.Breakpoint; +import org.eclipse.che.ide.api.debugger.shared.model.DebuggerInfo; +import org.eclipse.che.ide.api.debugger.shared.model.Location; +import org.eclipse.che.ide.api.debugger.shared.model.StackFrameDump; +import org.eclipse.che.ide.api.debugger.shared.model.Value; +import org.eclipse.che.ide.api.debugger.shared.model.Variable; +import org.eclipse.che.ide.api.debugger.shared.model.VariablePath; +import org.eclipse.che.ide.api.debugger.shared.model.action.ResumeAction; +import org.eclipse.che.ide.api.debugger.shared.model.action.StartAction; +import org.eclipse.che.ide.api.debugger.shared.model.action.StepIntoAction; +import org.eclipse.che.ide.api.debugger.shared.model.action.StepOutAction; +import org.eclipse.che.ide.api.debugger.shared.model.action.StepOverAction; +import org.eclipse.che.ide.api.debugger.shared.model.event.BreakpointActivatedEvent; +import org.eclipse.che.ide.api.debugger.shared.model.event.DebuggerEvent; +import org.eclipse.che.ide.api.debugger.shared.model.event.DisconnectEvent; +import org.eclipse.che.ide.api.debugger.shared.model.event.SuspendEvent; import java.util.List; diff --git a/wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/DebuggerActionProvider.java b/wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/DebuggerActionProvider.java index 2b0588f8e2e..6c00cf13e79 100644 --- a/wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/DebuggerActionProvider.java +++ b/wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/DebuggerActionProvider.java @@ -15,13 +15,13 @@ import com.google.gson.JsonObject; import com.google.gson.JsonParser; -import org.eclipse.che.api.debugger.shared.dto.action.ActionDto; -import org.eclipse.che.api.debugger.shared.dto.action.ResumeActionDto; -import org.eclipse.che.api.debugger.shared.dto.action.StartActionDto; -import org.eclipse.che.api.debugger.shared.dto.action.StepIntoActionDto; -import org.eclipse.che.api.debugger.shared.dto.action.StepOutActionDto; -import org.eclipse.che.api.debugger.shared.dto.action.StepOverActionDto; -import org.eclipse.che.api.debugger.shared.model.action.Action; +import org.eclipse.che.ide.api.debugger.shared.dto.action.ActionDto; +import org.eclipse.che.ide.api.debugger.shared.dto.action.ResumeActionDto; +import org.eclipse.che.ide.api.debugger.shared.dto.action.StartActionDto; +import org.eclipse.che.ide.api.debugger.shared.dto.action.StepIntoActionDto; +import org.eclipse.che.ide.api.debugger.shared.dto.action.StepOutActionDto; +import org.eclipse.che.ide.api.debugger.shared.dto.action.StepOverActionDto; +import org.eclipse.che.ide.api.debugger.shared.model.action.Action; import org.eclipse.che.dto.server.DtoFactory; import org.eclipse.che.dto.shared.DTO; diff --git a/wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/DebuggerManager.java b/wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/DebuggerManager.java index 276f0b440dc..fddd8ee41f8 100644 --- a/wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/DebuggerManager.java +++ b/wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/DebuggerManager.java @@ -16,7 +16,7 @@ import org.eclipse.che.api.core.notification.EventService; import org.eclipse.che.api.debugger.server.exceptions.DebuggerException; import org.eclipse.che.api.debugger.server.exceptions.DebuggerNotFoundException; -import org.eclipse.che.api.debugger.shared.model.event.DebuggerEvent; +import org.eclipse.che.ide.api.debugger.shared.model.event.DebuggerEvent; import org.eclipse.che.commons.lang.Pair; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/DebuggerMessage.java b/wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/DebuggerMessage.java index a9b5a11239b..8340bdcb861 100644 --- a/wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/DebuggerMessage.java +++ b/wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/DebuggerMessage.java @@ -11,7 +11,7 @@ package org.eclipse.che.api.debugger.server; import org.eclipse.che.api.core.notification.EventService; -import org.eclipse.che.api.debugger.shared.model.event.DebuggerEvent; +import org.eclipse.che.ide.api.debugger.shared.model.event.DebuggerEvent; /** * A wrapper over {@link DebuggerEvent} to send data over {@link EventService}. diff --git a/wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/DebuggerModule.java b/wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/DebuggerModule.java index b7b51b25894..fac05dfbe07 100644 --- a/wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/DebuggerModule.java +++ b/wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/DebuggerModule.java @@ -14,7 +14,7 @@ import com.google.inject.multibindings.Multibinder; import com.google.inject.name.Names; -import org.eclipse.che.api.debugger.shared.dto.action.ActionDto; +import org.eclipse.che.ide.api.debugger.shared.dto.action.ActionDto; /** * The module that contains configuration of the server side part of the Debugger. diff --git a/wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/DebuggerService.java b/wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/DebuggerService.java index 0bbd2009243..24b99394985 100644 --- a/wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/DebuggerService.java +++ b/wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/DebuggerService.java @@ -14,22 +14,22 @@ import org.eclipse.che.api.debugger.server.exceptions.DebuggerException; import org.eclipse.che.api.debugger.server.exceptions.DebuggerNotFoundException; -import org.eclipse.che.api.debugger.shared.dto.BreakpointDto; -import org.eclipse.che.api.debugger.shared.dto.DebugSessionDto; -import org.eclipse.che.api.debugger.shared.dto.StackFrameDumpDto; -import org.eclipse.che.api.debugger.shared.dto.ValueDto; -import org.eclipse.che.api.debugger.shared.dto.VariableDto; -import org.eclipse.che.api.debugger.shared.dto.action.ActionDto; -import org.eclipse.che.api.debugger.shared.model.DebuggerInfo; -import org.eclipse.che.api.debugger.shared.model.Location; -import org.eclipse.che.api.debugger.shared.model.VariablePath; -import org.eclipse.che.api.debugger.shared.model.action.ResumeAction; -import org.eclipse.che.api.debugger.shared.model.action.StartAction; -import org.eclipse.che.api.debugger.shared.model.action.StepIntoAction; -import org.eclipse.che.api.debugger.shared.model.action.StepOutAction; -import org.eclipse.che.api.debugger.shared.model.action.StepOverAction; -import org.eclipse.che.api.debugger.shared.model.impl.LocationImpl; -import org.eclipse.che.api.debugger.shared.model.impl.VariablePathImpl; +import org.eclipse.che.ide.api.debugger.shared.dto.BreakpointDto; +import org.eclipse.che.ide.api.debugger.shared.dto.DebugSessionDto; +import org.eclipse.che.ide.api.debugger.shared.dto.StackFrameDumpDto; +import org.eclipse.che.ide.api.debugger.shared.dto.ValueDto; +import org.eclipse.che.ide.api.debugger.shared.dto.VariableDto; +import org.eclipse.che.ide.api.debugger.shared.dto.action.ActionDto; +import org.eclipse.che.ide.api.debugger.shared.model.DebuggerInfo; +import org.eclipse.che.ide.api.debugger.shared.model.Location; +import org.eclipse.che.ide.api.debugger.shared.model.VariablePath; +import org.eclipse.che.ide.api.debugger.shared.model.action.ResumeAction; +import org.eclipse.che.ide.api.debugger.shared.model.action.StartAction; +import org.eclipse.che.ide.api.debugger.shared.model.action.StepIntoAction; +import org.eclipse.che.ide.api.debugger.shared.model.action.StepOutAction; +import org.eclipse.che.ide.api.debugger.shared.model.action.StepOverAction; +import org.eclipse.che.ide.api.debugger.shared.model.impl.LocationImpl; +import org.eclipse.che.ide.api.debugger.shared.model.impl.VariablePathImpl; import javax.ws.rs.Consumes; import javax.ws.rs.DELETE; diff --git a/wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/DtoConverter.java b/wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/DtoConverter.java index ea9e7cf0cab..fea6d60013b 100644 --- a/wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/DtoConverter.java +++ b/wsagent/che-core-api-debugger/src/main/java/org/eclipse/che/api/debugger/server/DtoConverter.java @@ -11,31 +11,31 @@ package org.eclipse.che.api.debugger.server; -import org.eclipse.che.api.debugger.shared.dto.BreakpointDto; -import org.eclipse.che.api.debugger.shared.dto.DebugSessionDto; -import org.eclipse.che.api.debugger.shared.dto.DebuggerInfoDto; -import org.eclipse.che.api.debugger.shared.dto.FieldDto; -import org.eclipse.che.api.debugger.shared.dto.LocationDto; -import org.eclipse.che.api.debugger.shared.dto.StackFrameDumpDto; -import org.eclipse.che.api.debugger.shared.dto.ValueDto; -import org.eclipse.che.api.debugger.shared.dto.VariableDto; -import org.eclipse.che.api.debugger.shared.dto.VariablePathDto; -import org.eclipse.che.api.debugger.shared.dto.event.BreakpointActivatedEventDto; -import org.eclipse.che.api.debugger.shared.dto.event.DebuggerEventDto; -import org.eclipse.che.api.debugger.shared.dto.event.DisconnectEventDto; -import org.eclipse.che.api.debugger.shared.dto.event.SuspendEventDto; -import org.eclipse.che.api.debugger.shared.model.Breakpoint; -import org.eclipse.che.api.debugger.shared.model.DebugSession; -import org.eclipse.che.api.debugger.shared.model.DebuggerInfo; -import org.eclipse.che.api.debugger.shared.model.Field; -import org.eclipse.che.api.debugger.shared.model.Location; -import org.eclipse.che.api.debugger.shared.model.StackFrameDump; -import org.eclipse.che.api.debugger.shared.model.Value; -import org.eclipse.che.api.debugger.shared.model.Variable; -import org.eclipse.che.api.debugger.shared.model.VariablePath; -import org.eclipse.che.api.debugger.shared.model.event.BreakpointActivatedEvent; -import org.eclipse.che.api.debugger.shared.model.event.DebuggerEvent; -import org.eclipse.che.api.debugger.shared.model.event.SuspendEvent; +import org.eclipse.che.ide.api.debugger.shared.dto.BreakpointDto; +import org.eclipse.che.ide.api.debugger.shared.dto.DebugSessionDto; +import org.eclipse.che.ide.api.debugger.shared.dto.DebuggerInfoDto; +import org.eclipse.che.ide.api.debugger.shared.dto.FieldDto; +import org.eclipse.che.ide.api.debugger.shared.dto.LocationDto; +import org.eclipse.che.ide.api.debugger.shared.dto.StackFrameDumpDto; +import org.eclipse.che.ide.api.debugger.shared.dto.ValueDto; +import org.eclipse.che.ide.api.debugger.shared.dto.VariableDto; +import org.eclipse.che.ide.api.debugger.shared.dto.VariablePathDto; +import org.eclipse.che.ide.api.debugger.shared.dto.event.BreakpointActivatedEventDto; +import org.eclipse.che.ide.api.debugger.shared.dto.event.DebuggerEventDto; +import org.eclipse.che.ide.api.debugger.shared.dto.event.DisconnectEventDto; +import org.eclipse.che.ide.api.debugger.shared.dto.event.SuspendEventDto; +import org.eclipse.che.ide.api.debugger.shared.model.Breakpoint; +import org.eclipse.che.ide.api.debugger.shared.model.DebugSession; +import org.eclipse.che.ide.api.debugger.shared.model.DebuggerInfo; +import org.eclipse.che.ide.api.debugger.shared.model.Field; +import org.eclipse.che.ide.api.debugger.shared.model.Location; +import org.eclipse.che.ide.api.debugger.shared.model.StackFrameDump; +import org.eclipse.che.ide.api.debugger.shared.model.Value; +import org.eclipse.che.ide.api.debugger.shared.model.Variable; +import org.eclipse.che.ide.api.debugger.shared.model.VariablePath; +import org.eclipse.che.ide.api.debugger.shared.model.event.BreakpointActivatedEvent; +import org.eclipse.che.ide.api.debugger.shared.model.event.DebuggerEvent; +import org.eclipse.che.ide.api.debugger.shared.model.event.SuspendEvent; import java.util.Collections; import java.util.List;