From 16dac63529b0559fca21b936205db32a79f98208 Mon Sep 17 00:00:00 2001
From: Alexandre <alexandre.perles@gmail.com>
Date: Fri, 2 Jun 2023 14:39:33 +0200
Subject: [PATCH] Add README, Use mailbox getter

---
 README.md                                     | 42 +++++++++++++++++++
 .../irit/smac/clumate/amas/ClusterAgent.java  |  6 +--
 2 files changed, 45 insertions(+), 3 deletions(-)
 create mode 100644 README.md

diff --git a/README.md b/README.md
new file mode 100644
index 0000000..1eb0b0f
--- /dev/null
+++ b/README.md
@@ -0,0 +1,42 @@
+# LxPlot
+
+A library for data clustering using multi-agent system
+
+## Set up (With Gradle on an existing project)
+
+* Download CluMATE source
+
+* Rename the extracted folder "clumate"
+
+* Create a new gradle project in the same directory as CluMATE
+
+* In this new project, open build.gradle
+
+* Add CluMATE to the dependencies
+```
+dependencies {
+
+    // Add the two following lines
+    // CluMATE
+    implementation project(':clumate')
+    
+    ...
+}
+```
+* Open settings.gradle
+
+* Add link to local CluMATE folder
+include ':clumate'
+project(':clumate').projectDir = new File(settingsDir, '../clumate')
+
+* Click on the Gradle Refresh button
+
+
+## Usage example 
+
+```java
+var clumate = new CluMATE<CustomDataPoint>(new MASSettings(new CustomDataPointSimilarityScoreMethod(), 0.5f, EnumSet.noneOf(AMASOption), new CustomDataPointFuser()))
+
+clumate.fit([new CustomDataPoint(1), new CustomDataPoint(2)])
+var results = clumate.retrieveClusters()
+```
\ No newline at end of file
diff --git a/src/main/java/fr/irit/smac/clumate/amas/ClusterAgent.java b/src/main/java/fr/irit/smac/clumate/amas/ClusterAgent.java
index 0840cf1..958b2ec 100644
--- a/src/main/java/fr/irit/smac/clumate/amas/ClusterAgent.java
+++ b/src/main/java/fr/irit/smac/clumate/amas/ClusterAgent.java
@@ -82,7 +82,7 @@ public class ClusterAgent<T extends DataPoint> extends Agent<ClusterAMAS<T>, Clu
 	protected void onPerceive() {
 		switch (state) {
 			case DORMANT -> {
-				var receivedRequestSimilarityMessage = this.mailbox.read(RequestSimilarityMessage.class);
+				var receivedRequestSimilarityMessage = this.getMailbox().read(RequestSimilarityMessage.class);
 				if (receivedRequestSimilarityMessage.isPresent()) {
 					receivedClusterForRequestSimilarity = receivedRequestSimilarityMessage.get().getCluster();
 					receivedRequestSimilarityRequester = (ClusterAgent) receivedRequestSimilarityMessage.get().getSender();
@@ -93,7 +93,7 @@ public class ClusterAgent<T extends DataPoint> extends Agent<ClusterAMAS<T>, Clu
 			}
 			case WAITING_FOR_REPLY -> {
 				while (mailbox.hasMessageOfType(EvaluatedScoreMessage.class)) {
-					var evaluatedScoreMessage = this.mailbox.read(EvaluatedScoreMessage.class);
+					var evaluatedScoreMessage = this.getMailbox().read(EvaluatedScoreMessage.class);
 					if (evaluatedScoreMessage.isPresent()) {
 						similarityScoresReceived.put((ClusterAgent) evaluatedScoreMessage.get().getSender(), evaluatedScoreMessage.get().getSimilarityScore());
 					}
@@ -172,7 +172,7 @@ public class ClusterAgent<T extends DataPoint> extends Agent<ClusterAMAS<T>, Clu
 				for (var agent : clusterAgentsRoughlySimilarOnReady) {
 					if (logger.isLoggable(Level.INFO))
 						logger.info(this + " sends RequestSimilarityMessage to " + agent);
-					agent.mailbox.receive(new RequestSimilarityMessage(this, cluster));
+					agent.getMailbox().receive(new RequestSimilarityMessage(this, cluster));
 					requestSimilarityMessageSentAgents.add(agent);
 				}
 
-- 
GitLab