You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@deltaspike.apache.org by st...@apache.org on 2012/01/22 20:53:10 UTC

git commit: DELTASPIKE-24 add code documentation and improve data flow

Updated Branches:
  refs/heads/master a54416242 -> c25b1c5c4


DELTASPIKE-24 add code documentation and improve data flow


Project: http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/commit/c25b1c5c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/tree/c25b1c5c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/diff/c25b1c5c

Branch: refs/heads/master
Commit: c25b1c5c46c5ef0a0153288635ea950edfb2ec15
Parents: a544162
Author: Mark Struberg <st...@apache.org>
Authored: Sun Jan 22 20:51:27 2012 +0100
Committer: Mark Struberg <st...@apache.org>
Committed: Sun Jan 22 20:51:27 2012 +0100

----------------------------------------------------------------------
 .../core/api/activation/ClassDeactivation.java     |   55 ++++++--------
 1 files changed, 24 insertions(+), 31 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/c25b1c5c/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/api/activation/ClassDeactivation.java
----------------------------------------------------------------------
diff --git a/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/api/activation/ClassDeactivation.java b/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/api/activation/ClassDeactivation.java
index 875ce6d..698d79d 100644
--- a/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/api/activation/ClassDeactivation.java
+++ b/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/api/activation/ClassDeactivation.java
@@ -86,36 +86,37 @@ public final class ClassDeactivation
 
         List<ClassDeactivator> classDeactivators = getClassDeactivators();
 
-        Boolean isActivated = null;
-        Boolean isLocallyActivated;
-        Class<? extends ClassDeactivator> deactivationDetected = null;
+        Boolean isActivated = Boolean.TRUE;
+        Class<? extends ClassDeactivator> deactivatedBy = null;
 
-        LOG.info("start evaluation if " + targetClass.getName() + " is de-/activated");
+        LOG.fine("start evaluation if " + targetClass.getName() + " is de-/activated");
 
+        // we get the classActivators ordered by it's ordinal
+        // thus the last one which returns != null 'wins' ;)
         for (ClassDeactivator classDeactivator : classDeactivators)
         {
-            isLocallyActivated = classDeactivator.isActivated(targetClass);
+            Boolean isLocallyActivated = classDeactivator.isActivated(targetClass);
 
             if (isLocallyActivated != null)
             {
                 isActivated = isLocallyActivated;
-            }
-
-            /*
-             * Check and log the details across class-deactivators
-             */
-            if (Boolean.FALSE.equals(isActivated))
-            {
-                deactivationDetected = classDeactivator.getClass();
-                LOG.fine("Deactivating class " + targetClass);
-            }
-            else if (Boolean.TRUE.equals(isActivated) && deactivationDetected != null)
-            {
-                LOG.fine("Reactivation of: " + targetClass.getName() + " by " + classDeactivator.getClass().getName() +
-                        " - original deactivated by: " + deactivationDetected.getName() + ".");
 
-                LOG.fine("If that isn't the intended behaviour, you have to use a higher ordinal for " +
-                        deactivationDetected.getName());
+                /*
+                * Check and log the details across class-deactivators
+                */
+                if (!isActivated)
+                {
+                    deactivatedBy = classDeactivator.getClass();
+                    LOG.fine("Deactivating class " + targetClass);
+                }
+                else if (isActivated && deactivatedBy != null)
+                {
+                    LOG.fine("Reactivation of: " + targetClass.getName() + " by " +
+                            classDeactivator.getClass().getName() +
+                            " - original deactivated by: " + deactivatedBy.getName() + ".\n" +
+                            "If that isn't the intended behaviour, you have to use a higher ordinal for " +
+                            deactivatedBy.getName());
+                }
             }
         }
 
@@ -124,16 +125,8 @@ public final class ClassDeactivation
 
     private static void cacheResult(Class<? extends Deactivatable> targetClass, Boolean activated)
     {
-        if (Boolean.FALSE.equals(activated))
-        {
-            activationStatusCache.put(targetClass, false);
-            LOG.info("class: " + targetClass.getName() + " is deactivated.");
-        }
-        else //in case of true or null (classes are activated by default)
-        {
-            activationStatusCache.put(targetClass, true);
-            LOG.info("class: " + targetClass.getName() + " is activated.");
-        }
+        activationStatusCache.put(targetClass, activated);
+        LOG.info("class: " + targetClass.getName() + " activated=" + activated);
     }
 
     /**