Committed by
Gerrit Code Review
Refactoring of AAA app classes
- break up multi compilation unit class - improve exception handling - start on general clean up Change-Id: Ic0b4e19a25c2fc1d64c73bfc4273c82cbcaf5d45
Showing
3 changed files
with
74 additions
and
60 deletions
| ... | @@ -137,7 +137,7 @@ class StateMachine { | ... | @@ -137,7 +137,7 @@ class StateMachine { |
| 137 | */ | 137 | */ |
| 138 | private void createIdentifier() throws StateMachineException { | 138 | private void createIdentifier() throws StateMachineException { |
| 139 | log.debug("Creating Identifier."); | 139 | log.debug("Creating Identifier."); |
| 140 | - int index = -1; | 140 | + int index; |
| 141 | 141 | ||
| 142 | try { | 142 | try { |
| 143 | //find the first available spot for identifier assignment | 143 | //find the first available spot for identifier assignment |
| ... | @@ -267,7 +267,7 @@ class StateMachine { | ... | @@ -267,7 +267,7 @@ class StateMachine { |
| 267 | /** | 267 | /** |
| 268 | * Move to the next state. | 268 | * Move to the next state. |
| 269 | * | 269 | * |
| 270 | - * @param msg | 270 | + * @param msg message |
| 271 | */ | 271 | */ |
| 272 | private void next(int msg) { | 272 | private void next(int msg) { |
| 273 | currentState = transition[currentState][msg]; | 273 | currentState = transition[currentState][msg]; |
| ... | @@ -280,14 +280,10 @@ class StateMachine { | ... | @@ -280,14 +280,10 @@ class StateMachine { |
| 280 | * @throws StateMachineException if authentication protocol is violated | 280 | * @throws StateMachineException if authentication protocol is violated |
| 281 | */ | 281 | */ |
| 282 | public void start() throws StateMachineException { | 282 | public void start() throws StateMachineException { |
| 283 | - try { | ||
| 284 | states[currentState].start(); | 283 | states[currentState].start(); |
| 285 | //move to the next state | 284 | //move to the next state |
| 286 | next(TRANSITION_START); | 285 | next(TRANSITION_START); |
| 287 | createIdentifier(); | 286 | createIdentifier(); |
| 288 | - } catch (StateMachineInvalidTransitionException e) { | ||
| 289 | - e.printStackTrace(); | ||
| 290 | - } | ||
| 291 | } | 287 | } |
| 292 | 288 | ||
| 293 | /** | 289 | /** |
| ... | @@ -297,13 +293,9 @@ class StateMachine { | ... | @@ -297,13 +293,9 @@ class StateMachine { |
| 297 | * @throws StateMachineException if authentication protocol is violated | 293 | * @throws StateMachineException if authentication protocol is violated |
| 298 | */ | 294 | */ |
| 299 | public void requestAccess() throws StateMachineException { | 295 | public void requestAccess() throws StateMachineException { |
| 300 | - try { | ||
| 301 | states[currentState].requestAccess(); | 296 | states[currentState].requestAccess(); |
| 302 | //move to the next state | 297 | //move to the next state |
| 303 | next(TRANSITION_REQUEST_ACCESS); | 298 | next(TRANSITION_REQUEST_ACCESS); |
| 304 | - } catch (StateMachineInvalidTransitionException e) { | ||
| 305 | - e.printStackTrace(); | ||
| 306 | - } | ||
| 307 | } | 299 | } |
| 308 | 300 | ||
| 309 | /** | 301 | /** |
| ... | @@ -313,7 +305,6 @@ class StateMachine { | ... | @@ -313,7 +305,6 @@ class StateMachine { |
| 313 | * @throws StateMachineException if authentication protocol is violated | 305 | * @throws StateMachineException if authentication protocol is violated |
| 314 | */ | 306 | */ |
| 315 | public void authorizeAccess() throws StateMachineException { | 307 | public void authorizeAccess() throws StateMachineException { |
| 316 | - try { | ||
| 317 | states[currentState].radiusAccepted(); | 308 | states[currentState].radiusAccepted(); |
| 318 | //move to the next state | 309 | //move to the next state |
| 319 | next(TRANSITION_AUTHORIZE_ACCESS); | 310 | next(TRANSITION_AUTHORIZE_ACCESS); |
| ... | @@ -330,10 +321,6 @@ class StateMachine { | ... | @@ -330,10 +321,6 @@ class StateMachine { |
| 330 | } | 321 | } |
| 331 | 322 | ||
| 332 | deleteIdentifier(); | 323 | deleteIdentifier(); |
| 333 | - } catch (StateMachineInvalidTransitionException e) { | ||
| 334 | - e.printStackTrace(); | ||
| 335 | - } | ||
| 336 | - | ||
| 337 | } | 324 | } |
| 338 | 325 | ||
| 339 | /** | 326 | /** |
| ... | @@ -343,14 +330,10 @@ class StateMachine { | ... | @@ -343,14 +330,10 @@ class StateMachine { |
| 343 | * @throws StateMachineException if authentication protocol is violated | 330 | * @throws StateMachineException if authentication protocol is violated |
| 344 | */ | 331 | */ |
| 345 | public void denyAccess() throws StateMachineException { | 332 | public void denyAccess() throws StateMachineException { |
| 346 | - try { | ||
| 347 | states[currentState].radiusDenied(); | 333 | states[currentState].radiusDenied(); |
| 348 | //move to the next state | 334 | //move to the next state |
| 349 | next(TRANSITION_DENY_ACCESS); | 335 | next(TRANSITION_DENY_ACCESS); |
| 350 | deleteIdentifier(); | 336 | deleteIdentifier(); |
| 351 | - } catch (StateMachineInvalidTransitionException e) { | ||
| 352 | - e.printStackTrace(); | ||
| 353 | - } | ||
| 354 | } | 337 | } |
| 355 | 338 | ||
| 356 | /** | 339 | /** |
| ... | @@ -360,13 +343,9 @@ class StateMachine { | ... | @@ -360,13 +343,9 @@ class StateMachine { |
| 360 | * @throws StateMachineException if authentication protocol is violated | 343 | * @throws StateMachineException if authentication protocol is violated |
| 361 | */ | 344 | */ |
| 362 | public void logoff() throws StateMachineException { | 345 | public void logoff() throws StateMachineException { |
| 363 | - try { | ||
| 364 | states[currentState].logoff(); | 346 | states[currentState].logoff(); |
| 365 | //move to the next state | 347 | //move to the next state |
| 366 | next(TRANSITION_LOGOFF); | 348 | next(TRANSITION_LOGOFF); |
| 367 | - } catch (StateMachineInvalidTransitionException e) { | ||
| 368 | - e.printStackTrace(); | ||
| 369 | - } | ||
| 370 | } | 349 | } |
| 371 | 350 | ||
| 372 | /** | 351 | /** |
| ... | @@ -384,11 +363,8 @@ class StateMachine { | ... | @@ -384,11 +363,8 @@ class StateMachine { |
| 384 | return ("sessionId: " + this.sessionId) + "\t" + ("identifier: " + this.identifier) + "\t" + | 363 | return ("sessionId: " + this.sessionId) + "\t" + ("identifier: " + this.identifier) + "\t" + |
| 385 | ("state: " + this.currentState); | 364 | ("state: " + this.currentState); |
| 386 | } | 365 | } |
| 387 | -} | ||
| 388 | - | ||
| 389 | -// FIXME: A source file should contain no more than one top-level entity! | ||
| 390 | 366 | ||
| 391 | -abstract class State { | 367 | + abstract class State { |
| 392 | private final Logger log = getLogger(getClass()); | 368 | private final Logger log = getLogger(getClass()); |
| 393 | 369 | ||
| 394 | private String name = "State"; | 370 | private String name = "State"; |
| ... | @@ -412,36 +388,36 @@ abstract class State { | ... | @@ -412,36 +388,36 @@ abstract class State { |
| 412 | public void logoff() throws StateMachineInvalidTransitionException { | 388 | public void logoff() throws StateMachineInvalidTransitionException { |
| 413 | log.warn("LOGOFF transition from this state is not allowed."); | 389 | log.warn("LOGOFF transition from this state is not allowed."); |
| 414 | } | 390 | } |
| 415 | -} | 391 | + } |
| 416 | 392 | ||
| 417 | -/** | 393 | + /** |
| 418 | * Idle state: supplicant is logged of from the network. | 394 | * Idle state: supplicant is logged of from the network. |
| 419 | */ | 395 | */ |
| 420 | -class Idle extends State { | 396 | + class Idle extends State { |
| 421 | private final Logger log = getLogger(getClass()); | 397 | private final Logger log = getLogger(getClass()); |
| 422 | private String name = "IDLE_STATE"; | 398 | private String name = "IDLE_STATE"; |
| 423 | 399 | ||
| 424 | public void start() { | 400 | public void start() { |
| 425 | log.info("Moving from IDLE state to STARTED state."); | 401 | log.info("Moving from IDLE state to STARTED state."); |
| 426 | } | 402 | } |
| 427 | -} | 403 | + } |
| 428 | 404 | ||
| 429 | -/** | 405 | + /** |
| 430 | * Started state: supplicant has entered the network and informed the authenticator. | 406 | * Started state: supplicant has entered the network and informed the authenticator. |
| 431 | */ | 407 | */ |
| 432 | -class Started extends State { | 408 | + class Started extends State { |
| 433 | private final Logger log = getLogger(getClass()); | 409 | private final Logger log = getLogger(getClass()); |
| 434 | private String name = "STARTED_STATE"; | 410 | private String name = "STARTED_STATE"; |
| 435 | 411 | ||
| 436 | public void requestAccess() { | 412 | public void requestAccess() { |
| 437 | log.info("Moving from STARTED state to PENDING state."); | 413 | log.info("Moving from STARTED state to PENDING state."); |
| 438 | } | 414 | } |
| 439 | -} | 415 | + } |
| 440 | 416 | ||
| 441 | -/** | 417 | + /** |
| 442 | * Pending state: supplicant has been identified by the authenticator but has not access yet. | 418 | * Pending state: supplicant has been identified by the authenticator but has not access yet. |
| 443 | */ | 419 | */ |
| 444 | -class Pending extends State { | 420 | + class Pending extends State { |
| 445 | private final Logger log = getLogger(getClass()); | 421 | private final Logger log = getLogger(getClass()); |
| 446 | private String name = "PENDING_STATE"; | 422 | private String name = "PENDING_STATE"; |
| 447 | 423 | ||
| ... | @@ -452,12 +428,12 @@ class Pending extends State { | ... | @@ -452,12 +428,12 @@ class Pending extends State { |
| 452 | public void radiusDenied() { | 428 | public void radiusDenied() { |
| 453 | log.info("Moving from PENDING state to UNAUTHORIZED state."); | 429 | log.info("Moving from PENDING state to UNAUTHORIZED state."); |
| 454 | } | 430 | } |
| 455 | -} | 431 | + } |
| 456 | 432 | ||
| 457 | -/** | 433 | + /** |
| 458 | * Authorized state: supplicant port has been accepted, access is granted. | 434 | * Authorized state: supplicant port has been accepted, access is granted. |
| 459 | */ | 435 | */ |
| 460 | -class Authorized extends State { | 436 | + class Authorized extends State { |
| 461 | private final Logger log = getLogger(getClass()); | 437 | private final Logger log = getLogger(getClass()); |
| 462 | private String name = "AUTHORIZED_STATE"; | 438 | private String name = "AUTHORIZED_STATE"; |
| 463 | 439 | ||
| ... | @@ -465,36 +441,19 @@ class Authorized extends State { | ... | @@ -465,36 +441,19 @@ class Authorized extends State { |
| 465 | 441 | ||
| 466 | log.info("Moving from AUTHORIZED state to IDLE state."); | 442 | log.info("Moving from AUTHORIZED state to IDLE state."); |
| 467 | } | 443 | } |
| 468 | -} | 444 | + } |
| 469 | 445 | ||
| 470 | -/** | 446 | + /** |
| 471 | * Unauthorized state: supplicant port has been rejected, access is denied. | 447 | * Unauthorized state: supplicant port has been rejected, access is denied. |
| 472 | */ | 448 | */ |
| 473 | -class Unauthorized extends State { | 449 | + class Unauthorized extends State { |
| 474 | private final Logger log = getLogger(getClass()); | 450 | private final Logger log = getLogger(getClass()); |
| 475 | private String name = "UNAUTHORIZED_STATE"; | 451 | private String name = "UNAUTHORIZED_STATE"; |
| 476 | 452 | ||
| 477 | public void logoff() { | 453 | public void logoff() { |
| 478 | log.info("Moving from UNAUTHORIZED state to IDLE state."); | 454 | log.info("Moving from UNAUTHORIZED state to IDLE state."); |
| 479 | } | 455 | } |
| 480 | -} | ||
| 481 | - | ||
| 482 | - | ||
| 483 | -/** | ||
| 484 | - * Exception for the State Machine. | ||
| 485 | - */ | ||
| 486 | -class StateMachineException extends Exception { | ||
| 487 | - public StateMachineException(String message) { | ||
| 488 | - super(message); | ||
| 489 | - | ||
| 490 | } | 456 | } |
| 491 | -} | ||
| 492 | 457 | ||
| 493 | -/** | 458 | + |
| 494 | - * Exception raised when the transition from one state to another is invalid. | ||
| 495 | - */ | ||
| 496 | -class StateMachineInvalidTransitionException extends StateMachineException { | ||
| 497 | - public StateMachineInvalidTransitionException(String message) { | ||
| 498 | - super(message); | ||
| 499 | - } | ||
| 500 | } | 459 | } | ... | ... |
| 1 | +/* | ||
| 2 | + * | ||
| 3 | + * Copyright 2015 AT&T Foundry | ||
| 4 | + * | ||
| 5 | + * Licensed under the Apache License, Version 2.0 (the "License"); | ||
| 6 | + * you may not use this file except in compliance with the License. | ||
| 7 | + * You may obtain a copy of the License at | ||
| 8 | + * | ||
| 9 | + * http://www.apache.org/licenses/LICENSE-2.0 | ||
| 10 | + * | ||
| 11 | + * Unless required by applicable law or agreed to in writing, software | ||
| 12 | + * distributed under the License is distributed on an "AS IS" BASIS, | ||
| 13 | + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
| 14 | + * See the License for the specific language governing permissions and | ||
| 15 | + * limitations under the License. | ||
| 16 | + * | ||
| 17 | + */ | ||
| 18 | +package org.onosproject.aaa; | ||
| 19 | + | ||
| 20 | +/** | ||
| 21 | + * Exception for the State Machine. | ||
| 22 | + */ | ||
| 23 | +class StateMachineException extends Exception { | ||
| 24 | + public StateMachineException(String message) { | ||
| 25 | + super(message); | ||
| 26 | + | ||
| 27 | + } | ||
| 28 | +} |
| 1 | +/* | ||
| 2 | + * | ||
| 3 | + * Copyright 2015 AT&T Foundry | ||
| 4 | + * | ||
| 5 | + * Licensed under the Apache License, Version 2.0 (the "License"); | ||
| 6 | + * you may not use this file except in compliance with the License. | ||
| 7 | + * You may obtain a copy of the License at | ||
| 8 | + * | ||
| 9 | + * http://www.apache.org/licenses/LICENSE-2.0 | ||
| 10 | + * | ||
| 11 | + * Unless required by applicable law or agreed to in writing, software | ||
| 12 | + * distributed under the License is distributed on an "AS IS" BASIS, | ||
| 13 | + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
| 14 | + * See the License for the specific language governing permissions and | ||
| 15 | + * limitations under the License. | ||
| 16 | + * | ||
| 17 | + */ | ||
| 18 | +package org.onosproject.aaa; | ||
| 19 | + | ||
| 20 | +/** | ||
| 21 | + * Exception raised when the transition from one state to another is invalid. | ||
| 22 | + */ | ||
| 23 | +class StateMachineInvalidTransitionException extends StateMachineException { | ||
| 24 | + public StateMachineInvalidTransitionException(String message) { | ||
| 25 | + super(message); | ||
| 26 | + } | ||
| 27 | +} |
-
Please register or login to post a comment