Skip to content

Commit f4dda26

Browse files
committed
working version
1 parent d5ff1ba commit f4dda26

33 files changed

+2016
-286
lines changed

bin/cube-console-2.0.jar

408 Bytes
Binary file not shown.
8 Bytes
Binary file not shown.

bin/cube-runtime-2.0.jar

2.69 KB
Binary file not shown.

bin/cube-script-extension-2.0.jar

3 Bytes
Binary file not shown.

src/cube-runtime/src/main/java/fr/liglab/adele/cube/AutonomicManager.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import fr.liglab.adele.cube.autonomicmanager.ArchetypeResolver;
44
import fr.liglab.adele.cube.autonomicmanager.Communicator;
5+
import fr.liglab.adele.cube.autonomicmanager.ExternalInstancesHandler;
56
import fr.liglab.adele.cube.autonomicmanager.RuntimeModelController;
67
import fr.liglab.adele.cube.archetype.Archetype;
78
import fr.liglab.adele.cube.metamodel.ManagedElement;
@@ -54,6 +55,8 @@ public interface AutonomicManager {
5455
*/
5556
public ArchetypeResolver getArchetypeResolver();
5657

58+
public ExternalInstancesHandler getExternalInstancesHandler();
59+
5760
public void addProperty(String name, String value);
5861

5962
public String getProperty(String name);

src/cube-runtime/src/main/java/fr/liglab/adele/cube/Configuration.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public class Configuration {
3434
public static final String DEFAULT_HOST = "localhost";
3535
public static final long DEFAULT_PORT = 38000;
3636
public static final long DEFAULT_PULSE = 3000;
37-
private static final long DEFAULT_KAINTERVAL = 5000;
37+
private static final long DEFAULT_KAINTERVAL = 3000;
3838
private static final long DEFAULT_KARETRY = 1;
3939
public static final String DEFAULT_RESOLVER = "default-resolver";
4040
public static final String DEFAULT_COMMUNICATOR = "socket-communicator";
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package fr.liglab.adele.cube.autonomicmanager;
2+
3+
import java.util.List;
4+
5+
/**
6+
* Created by debbabi on 12/5/13.
7+
*/
8+
public interface ExternalInstancesHandler {
9+
10+
public void start();
11+
12+
public void stop();
13+
14+
public void destroy();
15+
16+
public void keepAliveReceived(String am);
17+
18+
public void addExternalInstance(String uuid, String autonomicManagerUri);
19+
20+
public String getAutonomicManagerOfExternalInstance(String uuid) ;
21+
22+
public void removeExternalAutonomicManagerInstances(String agent_uri);
23+
24+
public List<String> getExternalAutonomicManagers();
25+
}

src/cube-runtime/src/main/java/fr/liglab/adele/cube/autonomicmanager/RuntimeModel.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,5 +35,9 @@ public interface RuntimeModel {
3535

3636
void manage(String uuid);
3737

38+
public void removeReferencedElements(List<String> refs);
39+
40+
public void removeReferencedElement(String ref);
41+
3842
void removeUnmanagedElements();
3943
}

src/cube-runtime/src/main/java/fr/liglab/adele/cube/autonomicmanager/RuntimeModelController.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package fr.liglab.adele.cube.autonomicmanager;
22

33
import fr.liglab.adele.cube.AutonomicManager;
4-
import fr.liglab.adele.cube.autonomicmanager.rmc.ExternalInstancesHandler;
54
import fr.liglab.adele.cube.extensions.ManagedElementExtensionPoint;
65
import fr.liglab.adele.cube.metamodel.*;
76

@@ -47,7 +46,7 @@ public interface RuntimeModelController {
4746
void addManagedElementFactory(ManagedElementExtensionPoint exp);
4847
void receiveMessage(CMessage msg);
4948
AutonomicManager getAutonomicManager();
50-
ExternalInstancesHandler getExternalInstancesHandler();
49+
5150

5251

5352
boolean removeManagedElement(String uuid);

src/cube-runtime/src/main/java/fr/liglab/adele/cube/autonomicmanager/impl/AutonomicManagerImpl.java

Lines changed: 22 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import fr.liglab.adele.cube.Configuration;
2424
import fr.liglab.adele.cube.autonomicmanager.*;
2525
import fr.liglab.adele.cube.autonomicmanager.comm.CommunicatorImpl;
26+
import fr.liglab.adele.cube.autonomicmanager.life.ExternalInstancesHandlerImpl;
2627
import fr.liglab.adele.cube.autonomicmanager.me.MonitorExecutorImpl;
2728
import fr.liglab.adele.cube.autonomicmanager.resolver.ArchetypeResolverImpl;
2829
import fr.liglab.adele.cube.autonomicmanager.rmc.RuntimeModelCheckerImpl;
@@ -89,6 +90,8 @@ public class AutonomicManagerImpl implements AutonomicManager, Runnable {
8990
* Life Controller.
9091
*/
9192
private LifeController lifeController;
93+
private ExternalInstancesHandler externalInstancesHandler;
94+
9295
private RuntimeModelChecker checker;
9396

9497
/**
@@ -173,7 +176,7 @@ public AutonomicManagerImpl(AdministrationService admin, Configuration config) t
173176

174177
// Life Controller
175178
this.lifeController = new LifeController(this);
176-
179+
externalInstancesHandler = new ExternalInstancesHandlerImpl(this);
177180
// __resolver
178181
this.resolver = new ArchetypeResolverImpl(this);
179182

@@ -196,7 +199,7 @@ public void receiveMessage(CMessage msg) {
196199
} else if (msg.getObject().equalsIgnoreCase("runtimemodel")) {
197200
AutonomicManagerImpl.this.rmController.receiveMessage(msg);
198201
} else if (msg.getObject().equalsIgnoreCase("keepalive")) {
199-
AutonomicManagerImpl.this.lifeController.keepAliveReceived(msg.getFrom());
202+
AutonomicManagerImpl.this.externalInstancesHandler.keepAliveReceived(msg.getFrom());
200203
}
201204
}
202205
} else {
@@ -240,6 +243,10 @@ private void init() throws AutonomicManagerException {
240243

241244
}
242245

246+
public ExternalInstancesHandler getExternalInstancesHandler() {
247+
return externalInstancesHandler;
248+
}
249+
243250
private void addExtension(Extension ex) {
244251
if (ex != null) {
245252
extensions.add(ex);
@@ -359,11 +366,11 @@ public void start() {
359366
if (this.checker != null) {
360367
this.checker.start();
361368
}
362-
/*
363-
if (this.lifeController != null) {
364-
this.lifeController.start();
369+
370+
if (this.externalInstancesHandler != null) {
371+
this.externalInstancesHandler.start();
365372
}
366-
*/
373+
367374
}
368375

369376
public void stop() {
@@ -376,14 +383,15 @@ public void stop() {
376383
if (this.checker != null) {
377384
this.checker.stop();
378385
}
379-
/*
380-
if (this.lifeController != null) {
381-
this.lifeController.stop();
386+
387+
if (this.externalInstancesHandler != null) {
388+
this.externalInstancesHandler.stop();
382389
}
383-
*/
390+
384391
}
385392

386393
public void destroy() {
394+
stop();
387395
System.out.println("[INFO] >>>>>>>>> destroying autonomic manager: " + uri.toString());
388396
this.working = false;
389397
this.destroyRequested = true;
@@ -395,10 +403,10 @@ public void destroy() {
395403
this.checker.destroy();
396404
}
397405

398-
/*
399-
if (this.lifeController != null) {
400-
this.lifeController.destroy();
401-
}*/
406+
407+
if (this.externalInstancesHandler != null) {
408+
this.externalInstancesHandler.destroy();
409+
}
402410
}
403411

404412
public ArchetypeResolver getArchetypeResolver() {

0 commit comments

Comments
 (0)