Skip to content

Commit

Permalink
Merge branch 'develop' into 07934-stack-commit
Browse files Browse the repository at this point in the history
  • Loading branch information
netopyr committed Aug 11, 2023
2 parents fb2e243 + 6726beb commit 7d3d85a
Show file tree
Hide file tree
Showing 39 changed files with 689 additions and 518 deletions.
Expand Up @@ -39,8 +39,8 @@
import com.swirlds.common.threading.framework.StoppableThread;
import com.swirlds.common.threading.framework.config.StoppableThreadConfiguration;
import com.swirlds.common.utility.AutoCloseableWrapper;
import com.swirlds.gui.model.GuiModel;
import com.swirlds.platform.Browser;
import com.swirlds.platform.gui.GuiPlatformAccessor;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.util.Random;
Expand Down Expand Up @@ -142,10 +142,9 @@ private void generateTransactions() {
public void init(final Platform platform, final NodeId id) {
this.platform = platform;
this.selfId = id;
final int winNum = GuiPlatformAccessor.getInstance().getInstanceNumber(selfId);
final int winNum = GuiModel.getInstance().getInstanceNumber(selfId);
this.console = createConsole(platform, winNum, true); // create the window, make it visible
GuiPlatformAccessor.getInstance()
.setAbout(platform.getSelfId(), "Cryptocurrency and stock market demo v. 1.0\n");
GuiModel.getInstance().setAbout(platform.getSelfId(), "Cryptocurrency and stock market demo v. 1.0\n");
this.console.addKeyListener(keyListener);
}

Expand Down
Expand Up @@ -37,6 +37,7 @@
import com.swirlds.common.system.address.Address;
import com.swirlds.common.system.address.AddressBook;
import com.swirlds.common.system.events.PlatformEvent;
import com.swirlds.gui.model.GuiModel;
import com.swirlds.platform.Browser;
import com.swirlds.platform.ParameterProvider;
import com.swirlds.platform.gui.GuiPlatformAccessor;
Expand Down Expand Up @@ -397,7 +398,7 @@ public void init(final Platform platform, final NodeId id) {
this.selfId = id;
final String[] parameters = ParameterProvider.getInstance().getParameters();

GuiPlatformAccessor.getInstance()
GuiModel.getInstance()
.setAbout(
platform.getSelfId(),
"Hashgraph Demo v. 1.1\n" + "\n"
Expand All @@ -413,7 +414,7 @@ public void init(final Platform platform, final NodeId id) {
+ "Fame is true for green, false for blue, unknown for red.\n");
final Address address = platform.getAddressBook().getAddress(platform.getSelfId());
final int winCount = AddressBookNetworkUtils.getLocalAddressCount(platform.getAddressBook());
final int winNum = GuiPlatformAccessor.getInstance().getInstanceNumber(platform.getSelfId());
final int winNum = GuiModel.getInstance().getInstanceNumber(platform.getSelfId());
window = SwirldsGui.createWindow(
platform, address, winCount, winNum, false); // Uses BorderLayout. Size is chosen by the Platform
window.setLayout(new GridBagLayout()); // use a layout more powerful than BorderLayout
Expand Down
Expand Up @@ -38,9 +38,9 @@
import com.swirlds.common.system.SwirldState;
import com.swirlds.common.system.status.PlatformStatus;
import com.swirlds.common.utility.AutoCloseableWrapper;
import com.swirlds.gui.model.GuiModel;
import com.swirlds.platform.Browser;
import com.swirlds.platform.SwirldsPlatform;
import com.swirlds.platform.gui.GuiPlatformAccessor;
import java.nio.charset.StandardCharsets;

/**
Expand Down Expand Up @@ -79,9 +79,9 @@ public void init(final Platform platform, final NodeId id) {

this.platform = (SwirldsPlatform) platform;
this.selfId = id;
final int winNum = GuiPlatformAccessor.getInstance().getInstanceNumber(selfId);
final int winNum = GuiModel.getInstance().getInstanceNumber(selfId);
this.console = createConsole(platform, winNum, true); // create the window, make it visible
GuiPlatformAccessor.getInstance().setAbout(platform.getSelfId(), "Hello Swirld v. 1.0\n");
GuiModel.getInstance().setAbout(platform.getSelfId(), "Hello Swirld v. 1.0\n");
}

@Override
Expand Down
Expand Up @@ -41,9 +41,9 @@
import com.swirlds.common.system.SwirldState;
import com.swirlds.common.threading.framework.StoppableThread;
import com.swirlds.common.threading.framework.config.StoppableThreadConfiguration;
import com.swirlds.gui.model.GuiModel;
import com.swirlds.platform.Browser;
import com.swirlds.platform.ParameterProvider;
import com.swirlds.platform.gui.GuiPlatformAccessor;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
Expand Down Expand Up @@ -222,10 +222,10 @@ public void init(final Platform platform, final NodeId id) {
transPerEventMax = 1024;
}
if (!headless) { // create the window, make it visible
final int winNum = GuiPlatformAccessor.getInstance().getInstanceNumber(selfId);
final int winNum = GuiModel.getInstance().getInstanceNumber(selfId);
console = createConsole(platform, winNum, true);
}
GuiPlatformAccessor.getInstance()
GuiModel.getInstance()
.setAbout(
platform.getSelfId(),
"Stats Demo v. 1.2\nThis writes statistics to a log file,"
Expand Down
Expand Up @@ -24,10 +24,10 @@
import com.swirlds.common.system.SwirldMain;
import com.swirlds.common.system.SwirldState;
import com.swirlds.fcqueue.FCQueueStatistics;
import com.swirlds.gui.model.GuiModel;
import com.swirlds.logging.payloads.ApplicationFinishedPayload;
import com.swirlds.merkle.map.MerkleMapMetrics;
import com.swirlds.platform.ParameterProvider;
import com.swirlds.platform.gui.GuiPlatformAccessor;
import java.security.SignatureException;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
Expand Down Expand Up @@ -76,7 +76,7 @@ public void init(final Platform platform, final NodeId selfId) {
maximumTransactionsPerNode = Integer.parseInt(parameters[1]);

generator = new TransactionGenerator(seed);
GuiPlatformAccessor.getInstance().setAbout(platform.getSelfId(), "MigrationTestingApp");
GuiModel.getInstance().setAbout(platform.getSelfId(), "MigrationTestingApp");

// Initialize application statistics
initAppStats();
Expand Down
Expand Up @@ -78,14 +78,14 @@
import com.swirlds.demo.virtualmerkle.transaction.handler.VirtualMerkleTransactionHandler;
import com.swirlds.fcqueue.FCQueue;
import com.swirlds.fcqueue.FCQueueStatistics;
import com.swirlds.gui.model.GuiModel;
import com.swirlds.logging.payloads.ApplicationFinishedPayload;
import com.swirlds.logging.payloads.CreateTransactionFailedPayload;
import com.swirlds.merkle.map.MerkleMap;
import com.swirlds.merkle.map.test.pta.MapKey;
import com.swirlds.merkle.map.test.pta.TransactionRecord;
import com.swirlds.platform.Browser;
import com.swirlds.platform.ParameterProvider;
import com.swirlds.platform.gui.GuiPlatformAccessor;
import com.swirlds.virtualmap.internal.merkle.VirtualLeafNode;
import java.io.File;
import java.io.FileInputStream;
Expand Down Expand Up @@ -539,7 +539,7 @@ public void init(Platform platform, NodeId id) {
platform.getNotificationEngine().register(PlatformStatusChangeListener.class, this::platformStatusChange);
registerReconnectCompleteListener();

GuiPlatformAccessor.getInstance().setAbout(selfId, "Platform Testing Demo");
GuiModel.getInstance().setAbout(selfId, "Platform Testing Demo");
try (final AutoCloseableWrapper<PlatformTestingToolState> wrapper =
UnsafeMutablePTTStateAccessor.getInstance().getUnsafeMutableState(platform.getSelfId())) {
final PlatformTestingToolState state = wrapper.get();
Expand Down
Expand Up @@ -44,9 +44,9 @@
import com.swirlds.common.threading.framework.config.ThreadConfiguration;
import com.swirlds.demo.stats.signing.algorithms.ECSecP256K1Algorithm;
import com.swirlds.demo.stats.signing.algorithms.X25519SigningAlgorithm;
import com.swirlds.gui.model.GuiModel;
import com.swirlds.platform.Browser;
import com.swirlds.platform.ParameterProvider;
import com.swirlds.platform.gui.GuiPlatformAccessor;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

Expand Down Expand Up @@ -170,7 +170,7 @@ public void init(final Platform platform, final NodeId id) {
// they shouldn't both be -1, so set one of them
transPerEventMax = 1024;
}
GuiPlatformAccessor.getInstance()
GuiModel.getInstance()
.setAbout(
platform.getSelfId(),
"Stats Signing Demo v. 1.3\nThis writes statistics to a log file,"
Expand Down
3 changes: 2 additions & 1 deletion platform-sdk/swirlds-common/src/main/java/module-info.java
Expand Up @@ -153,7 +153,8 @@
com.swirlds.demo.platform,
com.swirlds.jrs,
com.swirlds.platform,
com.swirlds.platform.test;
com.swirlds.platform.test,
com.swirlds.gui;

requires transitive com.swirlds.base;
requires com.swirlds.config;
Expand Down
Expand Up @@ -80,6 +80,10 @@
import com.swirlds.config.api.source.ConfigSource;
import com.swirlds.fchashmap.config.FCHashMapConfig;
import com.swirlds.gui.WindowConfig;
import com.swirlds.gui.model.GuiModel;
import com.swirlds.gui.model.InfoApp;
import com.swirlds.gui.model.InfoMember;
import com.swirlds.gui.model.InfoSwirld;
import com.swirlds.jasperdb.config.JasperDbConfig;
import com.swirlds.logging.payloads.NodeAddressMismatchPayload;
import com.swirlds.logging.payloads.NodeStartPayload;
Expand All @@ -98,10 +102,6 @@
import com.swirlds.platform.event.tipset.EventCreationConfig;
import com.swirlds.platform.gossip.chatter.config.ChatterConfig;
import com.swirlds.platform.gossip.sync.config.SyncConfig;
import com.swirlds.platform.gui.GuiPlatformAccessor;
import com.swirlds.platform.gui.internal.InfoApp;
import com.swirlds.platform.gui.internal.InfoMember;
import com.swirlds.platform.gui.internal.InfoSwirld;
import com.swirlds.platform.gui.internal.StateHierarchy;
import com.swirlds.platform.health.OSHealthChecker;
import com.swirlds.platform.health.clock.OSClockSpeedSourceChecker;
Expand Down Expand Up @@ -315,7 +315,7 @@ private Browser(@NonNull final Set<NodeId> localNodesToStart) throws IOException
startPlatforms(configuration, appDefinition, appMains);

// create the browser window, which uses those Statistics objects
showBrowserWindow();
showBrowserWindow(null);
for (final Frame f : Frame.getFrames()) {
if (!f.equals(getBrowserWindow())) {
f.toFront();
Expand Down Expand Up @@ -695,9 +695,9 @@ private Collection<SwirldsPlatform> createLocalPlatforms(
initialState.get(), addressBookInitializer.getInitialAddressBook());
}

GuiPlatformAccessor.getInstance().setPlatformName(nodeId, platformName);
GuiPlatformAccessor.getInstance().setSwirldId(nodeId, appDefinition.getSwirldId());
GuiPlatformAccessor.getInstance().setInstanceNumber(nodeId, instanceNumber);
GuiModel.getInstance().setPlatformName(nodeId, platformName);
GuiModel.getInstance().setSwirldId(nodeId, appDefinition.getSwirldId());
GuiModel.getInstance().setInstanceNumber(nodeId, instanceNumber);

platform = new SwirldsPlatform(
platformContext,
Expand Down
Expand Up @@ -42,10 +42,6 @@
@Deprecated(forRemoval = true)
public final class GuiPlatformAccessor {

private final Map<NodeId, String> aboutStrings = new ConcurrentHashMap<>();
private final Map<NodeId, String> platformNames = new ConcurrentHashMap<>();
private final Map<NodeId, byte[]> swirldIds = new ConcurrentHashMap<>();
private final Map<NodeId, Integer> instanceNumbers = new ConcurrentHashMap<>();
private final Map<NodeId, ShadowGraph> shadowGraphs = new ConcurrentHashMap<>();
private final Map<NodeId, StateManagementComponent> stateManagementComponents = new ConcurrentHashMap<>();
private final Map<NodeId, AtomicReference<Consensus>> consensusReferences = new ConcurrentHashMap<>();
Expand All @@ -63,101 +59,6 @@ public static GuiPlatformAccessor getInstance() {

private GuiPlatformAccessor() {}

/**
* The SwirldMain calls this to set the string that is shown when the user chooses "About" from the Swirlds menu in
* the upper-right corner of the window. It is recommended that this be a short string that includes the name of the
* app, the version number, and the year.
*
* @param nodeId the ID of the node
* @param about wha should show in the "about" window from the menu
*/
public void setAbout(@NonNull final NodeId nodeId, @NonNull final String about) {
Objects.requireNonNull(nodeId, "nodeId must not be null");
Objects.requireNonNull(about, "about must not be null");
aboutStrings.put(nodeId, about);
}

/**
* Get the "about" string, or an empty string if none has been set.
*
* @param nodeId the ID of the node
* @return an "about" string
*/
public String getAbout(@NonNull final NodeId nodeId) {
Objects.requireNonNull(nodeId, "nodeId must not be null");
return aboutStrings.getOrDefault(nodeId, "");
}

/**
* Set a platform name, given the node ID.
*
* @param nodeId the ID of the node
* @param platformName a platform name
*/
public void setPlatformName(@NonNull final NodeId nodeId, @NonNull final String platformName) {
Objects.requireNonNull(nodeId, "nodeId must not be null");
Objects.requireNonNull(platformName, "platformName must not be null");
platformNames.put(nodeId, platformName);
}

/**
* Get a platform name, given the node ID, or an empty string if none has been set.
*
* @param nodeId the ID of the node
* @return a platform name
*/
@NonNull
public String getPlatformName(@NonNull final NodeId nodeId) {
Objects.requireNonNull(nodeId, "nodeId must not be null");
return platformNames.getOrDefault(nodeId, "");
}

/**
* Set the swirld ID for a node.
*
* @param nodeId the ID of the node
* @param swirldId the swirld ID
*/
public void setSwirldId(@NonNull final NodeId nodeId, @NonNull final byte[] swirldId) {
Objects.requireNonNull(nodeId, "nodeId must not be null");
Objects.requireNonNull(swirldId, "swirldId must not be null");
swirldIds.put(nodeId, swirldId);
}

/**
* Get the swirld ID for a node, or null if none is set.
*
* @param nodeId the ID of the node
* @return the swirld ID
*/
@Nullable
public byte[] getSwirldId(@NonNull final NodeId nodeId) {
Objects.requireNonNull(nodeId, "nodeId must not be null");
return swirldIds.getOrDefault(nodeId, null);
}

/**
* Set the instance number for a node.
*
* @param nodeId the ID of the node
* @param instanceNumber the instance number
*/
public void setInstanceNumber(@NonNull final NodeId nodeId, final int instanceNumber) {
Objects.requireNonNull(nodeId, "nodeId must not be null");
instanceNumbers.put(nodeId, instanceNumber);
}

/**
* Get the instance number for a node, or -1 if none is set.
*
* @param nodeId the ID of the node
* @return the instance number
*/
public int getInstanceNumber(@NonNull final NodeId nodeId) {
Objects.requireNonNull(nodeId, "nodeId must not be null");
return instanceNumbers.getOrDefault(nodeId, -1);
}

/**
* Set the shadow graph for a node.
*
Expand Down
Expand Up @@ -17,7 +17,7 @@
package com.swirlds.platform.gui.hashgraph;

import com.swirlds.gui.GuiUtils;
import com.swirlds.gui.PrePaintableJPanel;
import com.swirlds.gui.components.PrePaintableJPanel;
import com.swirlds.gui.hashgraph.HashgraphGuiSource;
import com.swirlds.platform.gui.hashgraph.internal.CachingGuiSource;
import com.swirlds.platform.gui.hashgraph.internal.HashgraphGuiControls;
Expand Down
Expand Up @@ -16,8 +16,9 @@

package com.swirlds.platform.gui.internal;

import com.swirlds.gui.ScrollableJPanel;
import com.swirlds.gui.components.ScrollableJPanel;
import com.swirlds.platform.SwirldsPlatform;
import edu.umd.cs.findbugs.annotations.Nullable;
import java.awt.GraphicsEnvironment;
import java.util.ArrayList;
import java.util.Collection;
Expand Down Expand Up @@ -86,15 +87,7 @@ public static Collection<SwirldsPlatform> getPlatforms() {
*
* @param comp the index of the tab to select
*/
public static void showBrowserWindow(final ScrollableJPanel comp) {
showBrowserWindow();
getBrowserWindow().goTab(comp);
}

/**
* Make the browser window visible. If it doesn't yet exist, then create it.
*/
public static void showBrowserWindow() {
public static void showBrowserWindow(@Nullable final ScrollableJPanel comp) {
if (GraphicsEnvironment.isHeadless()) {
return;
}
Expand All @@ -103,5 +96,6 @@ public static void showBrowserWindow() {
return;
}
setBrowserWindow(new WinBrowser(new PlatformHashgraphGuiSource()));
getBrowserWindow().goTab(comp);
}
}
Expand Up @@ -16,8 +16,8 @@

package com.swirlds.platform.gui.internal;

import com.swirlds.common.system.Platform;
import com.swirlds.common.system.address.AddressBook;
import com.swirlds.platform.SwirldsPlatform;
import com.swirlds.platform.gossip.shadowgraph.ShadowGraph;
import com.swirlds.platform.gui.GuiPlatformAccessor;
import com.swirlds.platform.gui.hashgraph.internal.ShadowgraphGuiSource;
Expand All @@ -40,14 +40,14 @@ public boolean isReady() {

@Override
public ShadowGraph getShadowGraph() {
final SwirldsPlatform platform = getPlatform();
final Platform platform = getPlatform();
if (platform == null) {
return null;
}
return GuiPlatformAccessor.getInstance().getShadowGraph(platform.getSelfId());
}

private SwirldsPlatform getPlatform() {
private Platform getPlatform() {
return WinBrowser.memberDisplayed.getPlatform();
}
}

0 comments on commit 7d3d85a

Please sign in to comment.