Refactor AAA app in preparation for clustered operation.
* Add formal API for accessing auth state information rather than directly
looking up static maps.
* Move static maps in StateMachine to non-static maps in AaaManager
* Manage identifier space used for requests/replies better
* Refactored state machine timeout mechansim
Change-Id: Ie53c3a66ac1619e10607d9926b71747a333317f3
diff --git a/app/src/main/java/org/opencord/aaa/cli/AaaShowUsersCommand.java b/app/src/main/java/org/opencord/aaa/cli/AaaShowUsersCommand.java
index 112d70b..cd1cea5 100644
--- a/app/src/main/java/org/opencord/aaa/cli/AaaShowUsersCommand.java
+++ b/app/src/main/java/org/opencord/aaa/cli/AaaShowUsersCommand.java
@@ -20,7 +20,8 @@
import org.onosproject.cli.AbstractShellCommand;
import org.onosproject.net.AnnotationKeys;
import org.onosproject.net.device.DeviceService;
-import org.opencord.aaa.impl.StateMachine;
+import org.opencord.aaa.AuthenticationRecord;
+import org.opencord.aaa.AuthenticationService;
import org.opencord.sadis.SadisService;
import org.opencord.sadis.SubscriberAndDeviceInformation;
@@ -33,32 +34,25 @@
public class AaaShowUsersCommand extends AbstractShellCommand {
@Override
protected void doExecute() {
- String[] state = {
- "IDLE",
- "STARTED",
- "PENDING",
- "AUTHORIZED",
- "UNAUTHORIZED"
- };
- DeviceService devService = AbstractShellCommand.get(DeviceService.class);
- SadisService sadisService =
- AbstractShellCommand.get(SadisService.class);
+ DeviceService devService = get(DeviceService.class);
+ SadisService sadisService = get(SadisService.class);
+ AuthenticationService authService = get(AuthenticationService.class);
- for (StateMachine stateMachine : StateMachine.sessionIdMap().values()) {
- String deviceId = stateMachine.supplicantConnectpoint().deviceId().toString();
- String portNum = stateMachine.supplicantConnectpoint().port().toString();
+ for (AuthenticationRecord auth : authService.getAuthenticationRecords()) {
+ String deviceId = auth.supplicantConnectPoint().deviceId().toString();
+ String portNum = auth.supplicantConnectPoint().port().toString();
String username = "UNKNOWN";
- if (stateMachine.username() != null) {
- username = new String(stateMachine.username());
+ if (auth.username() != null) {
+ username = new String(auth.username());
}
String mac = "UNKNOWN";
- if (stateMachine.supplicantAddress() != null) {
- mac = stateMachine.supplicantAddress().toString();
+ if (auth.supplicantAddress() != null) {
+ mac = auth.supplicantAddress().toString();
}
- String nasPortId = devService.getPort(stateMachine.supplicantConnectpoint()).
+ String nasPortId = devService.getPort(auth.supplicantConnectPoint()).
annotations().value(AnnotationKeys.PORT_NAME);
String subsId = "UNKNOWN";
@@ -68,7 +62,7 @@
}
print("UserName=%s,CurrentState=%s,DeviceId=%s,MAC=%s,PortNumber=%s,SubscriberId=%s",
- username, state[stateMachine.state()], deviceId, mac, portNum, subsId);
+ username, auth.state(), deviceId, mac, portNum, subsId);
}
}
}