From b8703ab7c9dd9c8777a608964c08cc862b008d81 Mon Sep 17 00:00:00 2001 From: Richard Warburton Date: Sat, 3 Jan 2015 20:19:40 +0000 Subject: [PATCH] rename adapters to ports --- .../honest_profiler/core/MachineListener.java | 3 +-- .../core/sources/VirtualMachine.java | 2 +- .../core/sources/package-info.java | 1 + .../delivery/console/ConsoleApplication.java | 2 +- .../delivery/javafx/JavaFXApplication.java | 6 +++--- .../javafx/landing/LandingViewModel.java | 5 ++--- .../honest_profiler/delivery/web/WebEntry.java | 8 ++++---- ...apter.java => WebsocketMachineAdapter.java} | 9 ++++----- .../{adapters => ports}/LoggerInjector.java | 2 +- .../sources/LocalMachineSource.java | 18 ++++-------------- .../sources/WebSocketMachineSource.java | 7 +++---- .../sources/package-info.java | 2 +- .../store/FileLogRepository.java | 2 +- .../store/FileLogSaver.java | 2 +- src/main/proto/messages.proto | 2 +- ...=> VirtualWebsocketMachineAdapterTest.java} | 6 +++--- .../WebSocketMachineSourceTest.java | 7 +++---- 17 files changed, 35 insertions(+), 49 deletions(-) rename src/main/java/com/insightfullogic/honest_profiler/delivery/web/{MachineAdapter.java => WebsocketMachineAdapter.java} (85%) rename src/main/java/com/insightfullogic/honest_profiler/{adapters => ports}/LoggerInjector.java (96%) rename src/main/java/com/insightfullogic/honest_profiler/{adapters => ports}/sources/LocalMachineSource.java (88%) rename src/main/java/com/insightfullogic/honest_profiler/{adapters => ports}/sources/WebSocketMachineSource.java (94%) rename src/main/java/com/insightfullogic/honest_profiler/{adapters => ports}/sources/package-info.java (95%) rename src/main/java/com/insightfullogic/honest_profiler/{adapters => ports}/store/FileLogRepository.java (96%) rename src/main/java/com/insightfullogic/honest_profiler/{adapters => ports}/store/FileLogSaver.java (95%) rename src/test/java/com/insightfullogic/honest_profiler/delivery/web/{VirtualMachineAdapterTest.java => VirtualWebsocketMachineAdapterTest.java} (93%) rename src/test/java/com/insightfullogic/honest_profiler/{adapters => ports}/WebSocketMachineSourceTest.java (94%) diff --git a/src/main/java/com/insightfullogic/honest_profiler/core/MachineListener.java b/src/main/java/com/insightfullogic/honest_profiler/core/MachineListener.java index 1a948677a..78677a315 100644 --- a/src/main/java/com/insightfullogic/honest_profiler/core/MachineListener.java +++ b/src/main/java/com/insightfullogic/honest_profiler/core/MachineListener.java @@ -25,8 +25,7 @@ public interface MachineListener { - // TODO: decouple listening to machines from listening to profiles - ProfileListener onNewMachine(VirtualMachine machine); + void onNewMachine(VirtualMachine machine); void onClosedMachine(VirtualMachine machine); diff --git a/src/main/java/com/insightfullogic/honest_profiler/core/sources/VirtualMachine.java b/src/main/java/com/insightfullogic/honest_profiler/core/sources/VirtualMachine.java index 5721f4bd7..964381e84 100644 --- a/src/main/java/com/insightfullogic/honest_profiler/core/sources/VirtualMachine.java +++ b/src/main/java/com/insightfullogic/honest_profiler/core/sources/VirtualMachine.java @@ -53,7 +53,7 @@ public boolean isAgentLoaded() { return agentLoaded; } - public File getLogFile() { + public File getLogSource() { return new File(userDir, "log.hpl"); } diff --git a/src/main/java/com/insightfullogic/honest_profiler/core/sources/package-info.java b/src/main/java/com/insightfullogic/honest_profiler/core/sources/package-info.java index 11522396f..367717695 100644 --- a/src/main/java/com/insightfullogic/honest_profiler/core/sources/package-info.java +++ b/src/main/java/com/insightfullogic/honest_profiler/core/sources/package-info.java @@ -19,6 +19,7 @@ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER * DEALINGS IN THE SOFTWARE. **/ + /** * Core implementation for methods of discovering machines and sources of logs. */ diff --git a/src/main/java/com/insightfullogic/honest_profiler/delivery/console/ConsoleApplication.java b/src/main/java/com/insightfullogic/honest_profiler/delivery/console/ConsoleApplication.java index f6ea2b88b..1aced4346 100644 --- a/src/main/java/com/insightfullogic/honest_profiler/delivery/console/ConsoleApplication.java +++ b/src/main/java/com/insightfullogic/honest_profiler/delivery/console/ConsoleApplication.java @@ -21,7 +21,7 @@ **/ package com.insightfullogic.honest_profiler.delivery.console; -import com.insightfullogic.honest_profiler.adapters.store.FileLogRepository; +import com.insightfullogic.honest_profiler.ports.store.FileLogRepository; import com.insightfullogic.honest_profiler.core.Conductor; import com.insightfullogic.honest_profiler.core.ProfileListener; import com.insightfullogic.honest_profiler.core.filters.ProfileFilter; diff --git a/src/main/java/com/insightfullogic/honest_profiler/delivery/javafx/JavaFXApplication.java b/src/main/java/com/insightfullogic/honest_profiler/delivery/javafx/JavaFXApplication.java index abf9a6633..13063252b 100644 --- a/src/main/java/com/insightfullogic/honest_profiler/delivery/javafx/JavaFXApplication.java +++ b/src/main/java/com/insightfullogic/honest_profiler/delivery/javafx/JavaFXApplication.java @@ -21,9 +21,9 @@ **/ package com.insightfullogic.honest_profiler.delivery.javafx; -import com.insightfullogic.honest_profiler.adapters.LoggerInjector; -import com.insightfullogic.honest_profiler.adapters.sources.LocalMachineSource; -import com.insightfullogic.honest_profiler.adapters.store.FileLogRepository; +import com.insightfullogic.honest_profiler.ports.LoggerInjector; +import com.insightfullogic.honest_profiler.ports.sources.LocalMachineSource; +import com.insightfullogic.honest_profiler.ports.store.FileLogRepository; import com.insightfullogic.honest_profiler.core.Conductor; import com.insightfullogic.honest_profiler.core.filters.ProfileFilter; import com.insightfullogic.honest_profiler.delivery.javafx.landing.LandingViewModel; diff --git a/src/main/java/com/insightfullogic/honest_profiler/delivery/javafx/landing/LandingViewModel.java b/src/main/java/com/insightfullogic/honest_profiler/delivery/javafx/landing/LandingViewModel.java index e05b92638..961e0a3c2 100644 --- a/src/main/java/com/insightfullogic/honest_profiler/delivery/javafx/landing/LandingViewModel.java +++ b/src/main/java/com/insightfullogic/honest_profiler/delivery/javafx/landing/LandingViewModel.java @@ -93,7 +93,7 @@ public void open(ActionEvent actionEvent) { public void monitor(ActionEvent actionEvent) { windowModel.display(Profile); MachineButton selectedButton = (MachineButton) toggleMachines.getSelectedToggle(); - File logFile = selectedButton.getJvm().getLogFile(); + File logFile = selectedButton.getJvm().getLogSource(); try { conductor.pipeFile(logFile, null, profileListener); } catch (IOException e) { @@ -102,14 +102,13 @@ public void monitor(ActionEvent actionEvent) { } @Override - public ProfileListener onNewMachine(VirtualMachine machine) { + public void onNewMachine(VirtualMachine machine) { Platform.runLater(() -> { ObservableList children = landingView.getChildren(); MachineButton button = new MachineButton(machine); button.setToggleGroup(toggleMachines); children.add(button); }); - return null; } @Override diff --git a/src/main/java/com/insightfullogic/honest_profiler/delivery/web/WebEntry.java b/src/main/java/com/insightfullogic/honest_profiler/delivery/web/WebEntry.java index 00dc2040d..a7173689d 100644 --- a/src/main/java/com/insightfullogic/honest_profiler/delivery/web/WebEntry.java +++ b/src/main/java/com/insightfullogic/honest_profiler/delivery/web/WebEntry.java @@ -22,9 +22,9 @@ package com.insightfullogic.honest_profiler.delivery.web; import app.Root; -import com.insightfullogic.honest_profiler.adapters.sources.LocalMachineSource; -import com.insightfullogic.honest_profiler.adapters.sources.WebSocketMachineSource; -import com.insightfullogic.honest_profiler.adapters.store.FileLogRepository; +import com.insightfullogic.honest_profiler.ports.sources.LocalMachineSource; +import com.insightfullogic.honest_profiler.ports.sources.WebSocketMachineSource; +import com.insightfullogic.honest_profiler.ports.store.FileLogRepository; import com.insightfullogic.honest_profiler.core.Conductor; import com.insightfullogic.honest_profiler.core.collector.LogCollector; import com.insightfullogic.honest_profiler.core.parser.LogParser; @@ -71,7 +71,7 @@ public static MutablePicoContainer registerComponents() { .addComponent(WebSocketMachineSource.class) .addComponent(LocalMachineSource.class) .addComponent(MessageEncoder.class) - .addComponent(MachineAdapter.class) + .addComponent(WebsocketMachineAdapter.class) .addComponent(WebProfileAdapter.class) .addComponent(ClientConnections.class) .addComponent(ClientHandler.class) diff --git a/src/main/java/com/insightfullogic/honest_profiler/delivery/web/MachineAdapter.java b/src/main/java/com/insightfullogic/honest_profiler/delivery/web/WebsocketMachineAdapter.java similarity index 85% rename from src/main/java/com/insightfullogic/honest_profiler/delivery/web/MachineAdapter.java rename to src/main/java/com/insightfullogic/honest_profiler/delivery/web/WebsocketMachineAdapter.java index fd6b45eb9..80d7f41a0 100644 --- a/src/main/java/com/insightfullogic/honest_profiler/delivery/web/MachineAdapter.java +++ b/src/main/java/com/insightfullogic/honest_profiler/delivery/web/WebsocketMachineAdapter.java @@ -23,7 +23,6 @@ import com.insightfullogic.honest_profiler.core.MachineListener; import com.insightfullogic.honest_profiler.core.sources.VirtualMachine; -import org.slf4j.LoggerFactory; import org.webbitserver.WebSocketConnection; import java.util.HashSet; @@ -31,13 +30,13 @@ import java.util.function.Consumer; // Not thread safe -public class MachineAdapter implements MachineListener, Consumer { +public class WebsocketMachineAdapter implements MachineListener, Consumer { private final Set machines; private final ClientConnections clients; private final MessageEncoder messages; - public MachineAdapter(ClientConnections clients, MessageEncoder messages) { + public WebsocketMachineAdapter(ClientConnections clients, MessageEncoder messages) { this.clients = clients; this.messages = messages; machines = new HashSet<>(); @@ -52,10 +51,10 @@ public void accept(WebSocketConnection connection) { } @Override - public WebProfileAdapter onNewMachine(VirtualMachine machine) { + public void onNewMachine(VirtualMachine machine) { machines.add(machine); clients.sendAll(messages.addJavaVirtualMachine(machine)); - return new WebProfileAdapter(LoggerFactory.getLogger(WebProfileAdapter.class), machine, clients); + //return new WebProfileAdapter(LoggerFactory.getLogger(WebProfileAdapter.class), machine, clients); } @Override diff --git a/src/main/java/com/insightfullogic/honest_profiler/adapters/LoggerInjector.java b/src/main/java/com/insightfullogic/honest_profiler/ports/LoggerInjector.java similarity index 96% rename from src/main/java/com/insightfullogic/honest_profiler/adapters/LoggerInjector.java rename to src/main/java/com/insightfullogic/honest_profiler/ports/LoggerInjector.java index f48436fff..c82fdfe16 100644 --- a/src/main/java/com/insightfullogic/honest_profiler/adapters/LoggerInjector.java +++ b/src/main/java/com/insightfullogic/honest_profiler/ports/LoggerInjector.java @@ -19,7 +19,7 @@ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER * DEALINGS IN THE SOFTWARE. **/ -package com.insightfullogic.honest_profiler.adapters; +package com.insightfullogic.honest_profiler.ports; import org.picocontainer.PicoContainer; import org.picocontainer.injectors.FactoryInjector; diff --git a/src/main/java/com/insightfullogic/honest_profiler/adapters/sources/LocalMachineSource.java b/src/main/java/com/insightfullogic/honest_profiler/ports/sources/LocalMachineSource.java similarity index 88% rename from src/main/java/com/insightfullogic/honest_profiler/adapters/sources/LocalMachineSource.java rename to src/main/java/com/insightfullogic/honest_profiler/ports/sources/LocalMachineSource.java index 6ab3df7ff..cc556f489 100644 --- a/src/main/java/com/insightfullogic/honest_profiler/adapters/sources/LocalMachineSource.java +++ b/src/main/java/com/insightfullogic/honest_profiler/ports/sources/LocalMachineSource.java @@ -19,11 +19,10 @@ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER * DEALINGS IN THE SOFTWARE. **/ -package com.insightfullogic.honest_profiler.adapters.sources; +package com.insightfullogic.honest_profiler.ports.sources; import com.insightfullogic.honest_profiler.core.Conductor; import com.insightfullogic.honest_profiler.core.MachineListener; -import com.insightfullogic.honest_profiler.core.ProfileListener; import com.insightfullogic.honest_profiler.core.ThreadedAgent; import com.insightfullogic.honest_profiler.core.sources.VirtualMachine; import com.sun.tools.attach.AttachNotSupportedException; @@ -65,7 +64,7 @@ public void start() { threadedAgent.start(); } - public boolean discoverVirtualMachines() { + private boolean discoverVirtualMachines() { poll(); sleep(); @@ -81,18 +80,9 @@ private void sleep() { } } - public void poll() { + private void poll() { Set current = new HashSet<>(com.sun.tools.attach.VirtualMachine.list()); - difference(current, previous, machine -> { - ProfileListener profileListener = listener.onNewMachine(machine); - if (machine.isAgentLoaded() && profileListener != null) { - try { - conductor.pipeFile(machine.getLogFile(), machine, profileListener); - } catch (IOException e) { - logger.error(e.getMessage(), e); - } - } - }); + difference(current, previous, listener::onNewMachine); difference(previous, current, listener::onClosedMachine); previous = current; } diff --git a/src/main/java/com/insightfullogic/honest_profiler/adapters/sources/WebSocketMachineSource.java b/src/main/java/com/insightfullogic/honest_profiler/ports/sources/WebSocketMachineSource.java similarity index 94% rename from src/main/java/com/insightfullogic/honest_profiler/adapters/sources/WebSocketMachineSource.java rename to src/main/java/com/insightfullogic/honest_profiler/ports/sources/WebSocketMachineSource.java index a288ef9c4..3ed89d1b0 100644 --- a/src/main/java/com/insightfullogic/honest_profiler/adapters/sources/WebSocketMachineSource.java +++ b/src/main/java/com/insightfullogic/honest_profiler/ports/sources/WebSocketMachineSource.java @@ -19,13 +19,12 @@ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER * DEALINGS IN THE SOFTWARE. **/ -package com.insightfullogic.honest_profiler.adapters.sources; +package com.insightfullogic.honest_profiler.ports.sources; import com.google.protobuf.InvalidProtocolBufferException; import com.insightfullogic.honest_profiler.core.Conductor; import com.insightfullogic.honest_profiler.core.DataConsumer; import com.insightfullogic.honest_profiler.core.MachineListener; -import com.insightfullogic.honest_profiler.core.ProfileListener; import com.insightfullogic.honest_profiler.core.sources.VirtualMachine; import org.slf4j.Logger; import org.webbitserver.BaseWebSocketHandler; @@ -80,11 +79,11 @@ private void newMachine(WebSocketConnection connection, byte[] message) { try { Messages.NewMachine newMachine = Messages.NewMachine.parseFrom(message); VirtualMachine machine = new VirtualMachine(newMachine.getId(), newMachine.getDisplayName(), true, ""); - ProfileListener profileListener = listener.onNewMachine(machine); + /*ProfileListener profileListener = listener.onNewMachine(machine); if (profileListener != null) { DataConsumer consumer = conductor.pipeData(machine, profileListener); machines.put(connection, consumer); - } + }*/ } catch (InvalidProtocolBufferException e) { logger.error(e.getMessage(), e); } diff --git a/src/main/java/com/insightfullogic/honest_profiler/adapters/sources/package-info.java b/src/main/java/com/insightfullogic/honest_profiler/ports/sources/package-info.java similarity index 95% rename from src/main/java/com/insightfullogic/honest_profiler/adapters/sources/package-info.java rename to src/main/java/com/insightfullogic/honest_profiler/ports/sources/package-info.java index 106f66d20..f6a948466 100644 --- a/src/main/java/com/insightfullogic/honest_profiler/adapters/sources/package-info.java +++ b/src/main/java/com/insightfullogic/honest_profiler/ports/sources/package-info.java @@ -22,5 +22,5 @@ /** * Infrastructure for methods of discovering machines and sources of logs. */ -package com.insightfullogic.honest_profiler.adapters.sources; +package com.insightfullogic.honest_profiler.ports.sources; diff --git a/src/main/java/com/insightfullogic/honest_profiler/adapters/store/FileLogRepository.java b/src/main/java/com/insightfullogic/honest_profiler/ports/store/FileLogRepository.java similarity index 96% rename from src/main/java/com/insightfullogic/honest_profiler/adapters/store/FileLogRepository.java rename to src/main/java/com/insightfullogic/honest_profiler/ports/store/FileLogRepository.java index 42fddae19..16002f6e4 100644 --- a/src/main/java/com/insightfullogic/honest_profiler/adapters/store/FileLogRepository.java +++ b/src/main/java/com/insightfullogic/honest_profiler/ports/store/FileLogRepository.java @@ -19,7 +19,7 @@ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER * DEALINGS IN THE SOFTWARE. **/ -package com.insightfullogic.honest_profiler.adapters.store; +package com.insightfullogic.honest_profiler.ports.store; import com.insightfullogic.honest_profiler.core.sources.VirtualMachine; import com.insightfullogic.honest_profiler.core.store.LogMetadata; diff --git a/src/main/java/com/insightfullogic/honest_profiler/adapters/store/FileLogSaver.java b/src/main/java/com/insightfullogic/honest_profiler/ports/store/FileLogSaver.java similarity index 95% rename from src/main/java/com/insightfullogic/honest_profiler/adapters/store/FileLogSaver.java rename to src/main/java/com/insightfullogic/honest_profiler/ports/store/FileLogSaver.java index 9eebddd29..74ad82806 100644 --- a/src/main/java/com/insightfullogic/honest_profiler/adapters/store/FileLogSaver.java +++ b/src/main/java/com/insightfullogic/honest_profiler/ports/store/FileLogSaver.java @@ -19,7 +19,7 @@ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER * DEALINGS IN THE SOFTWARE. **/ -package com.insightfullogic.honest_profiler.adapters.store; +package com.insightfullogic.honest_profiler.ports.store; import com.insightfullogic.honest_profiler.core.store.LogSaver; diff --git a/src/main/proto/messages.proto b/src/main/proto/messages.proto index 49838f895..6d1c4a85a 100644 --- a/src/main/proto/messages.proto +++ b/src/main/proto/messages.proto @@ -1,6 +1,6 @@ package tutorial; -option java_package = "com.insightfullogic.honest_profiler.adapters.sources"; +option java_package = "com.insightfullogic.honest_profiler.ports.sources"; option java_outer_classname = "Messages"; message NewMachine { diff --git a/src/test/java/com/insightfullogic/honest_profiler/delivery/web/VirtualMachineAdapterTest.java b/src/test/java/com/insightfullogic/honest_profiler/delivery/web/VirtualWebsocketMachineAdapterTest.java similarity index 93% rename from src/test/java/com/insightfullogic/honest_profiler/delivery/web/VirtualMachineAdapterTest.java rename to src/test/java/com/insightfullogic/honest_profiler/delivery/web/VirtualWebsocketMachineAdapterTest.java index 6d9c094c7..4df6a1317 100644 --- a/src/test/java/com/insightfullogic/honest_profiler/delivery/web/VirtualMachineAdapterTest.java +++ b/src/test/java/com/insightfullogic/honest_profiler/delivery/web/VirtualWebsocketMachineAdapterTest.java @@ -30,17 +30,17 @@ import static org.mockito.Mockito.verify; @RunWith(JunitSuiteRunner.class) -public class VirtualMachineAdapterTest { +public class VirtualWebsocketMachineAdapterTest { ClientConnections clients; VirtualMachine jvm = new VirtualMachine("12432", "com.intellij.idea.Main", true, ""); - MachineAdapter adapter; + WebsocketMachineAdapter adapter; { describe("The Java Virtual Machine Adapter", it -> { it.isSetupWith(() -> { clients = Mockito.mock(ClientConnections.class); - adapter = new MachineAdapter(clients, new MessageEncoder()); + adapter = new WebsocketMachineAdapter(clients, new MessageEncoder()); }); it.should("Register for connections", expect -> { diff --git a/src/test/java/com/insightfullogic/honest_profiler/adapters/WebSocketMachineSourceTest.java b/src/test/java/com/insightfullogic/honest_profiler/ports/WebSocketMachineSourceTest.java similarity index 94% rename from src/test/java/com/insightfullogic/honest_profiler/adapters/WebSocketMachineSourceTest.java rename to src/test/java/com/insightfullogic/honest_profiler/ports/WebSocketMachineSourceTest.java index d3ad0ac2c..138f71388 100644 --- a/src/test/java/com/insightfullogic/honest_profiler/adapters/WebSocketMachineSourceTest.java +++ b/src/test/java/com/insightfullogic/honest_profiler/ports/WebSocketMachineSourceTest.java @@ -19,10 +19,10 @@ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER * DEALINGS IN THE SOFTWARE. **/ -package com.insightfullogic.honest_profiler.adapters; +package com.insightfullogic.honest_profiler.ports; -import com.insightfullogic.honest_profiler.adapters.sources.Messages; -import com.insightfullogic.honest_profiler.adapters.sources.WebSocketMachineSource; +import com.insightfullogic.honest_profiler.ports.sources.Messages; +import com.insightfullogic.honest_profiler.ports.sources.WebSocketMachineSource; import com.insightfullogic.honest_profiler.core.Conductor; import com.insightfullogic.honest_profiler.core.DataConsumer; import com.insightfullogic.honest_profiler.core.MachineListener; @@ -64,7 +64,6 @@ public class WebSocketMachineSourceTest { reset(connection, dataConsumer, conductor, listener); when(conductor.pipeData(any(), any())).thenReturn(dataConsumer); when(dataConsumer.getMachine()).thenReturn(machine); - when(listener.onNewMachine(any())).thenReturn(profileListener); finder = new WebSocketMachineSource(logger, conductor, listener); });