Example #1
0
 @Override
 public void movePDP(PDP pdp, PDPGroup newGroup) throws PAPException {
   if (newGroup == null) {
     throw new NullPointerException("You must specify which group the PDP will belong to.");
   }
   PDPGroup currentGroup = this.getPDPGroup(pdp);
   if (currentGroup == null) {
     throw new PAPException("PDP must already belong to a group.");
   }
   if (currentGroup.equals(newGroup)) {
     logger.warn("Already in that group.");
     return;
   }
   if (currentGroup instanceof StdPDPGroup && newGroup instanceof StdPDPGroup) {
     if (((StdPDPGroup) currentGroup).removePDP(pdp)) {
       boolean result = ((StdPDPGroup) newGroup).addPDP(pdp);
       if (result) {
         //
         // Save the configuration
         //
         this.doSave();
       } else {
         logger.error("Failed to add to new group, putting back into original group.");
         if (!((StdPDPGroup) currentGroup).removePDP(pdp)) {
           logger.error("Failed to put PDP back into original group.");
         }
       }
     }
   } else {
     String message =
         "Unknown PDP group class: "
             + newGroup.getClass().getCanonicalName()
             + " and "
             + currentGroup.getClass().getCanonicalName();
     logger.warn(message);
     throw new PAPException(message);
   }
 }