Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
Copyright (C) 2014 Philip Helger (www.helger.com) philip[at]helger[dot]com Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
 
 package com.helger.appbasics.security.audit;
 
 
 
Simplify auditing calls.

Author(s):
Philip Helger
 
 public final class AuditUtils
 {
   private static final ReadWriteLock s_aRWLock = new ReentrantReadWriteLock ();
 
   private static final IAuditor DEFAULT_AUDITOR = new LoggingAuditor (new MockCurrentUserIDProvider (null))
   {
     @Override
     protected String getAuditItemString (@Nonnull final IAuditItem aAuditItem)
     {
       return "!DEFAULT-AUDITOR! " + super.getAuditItemString (aAuditItem);
     }
   };
 
   // This is the default dummy auditor that should be replaced with something
   // meaningful!
   private static IAuditor s_aAuditor = ;
 
   private AuditUtils ()
   {}
 
   @Nonnull
   public static IAuditor getAuditor ()
   {
     .readLock ().lock ();
     try
     {
       return ;
     }
     finally
     {
       .readLock ().unlock ();
     }
   }

  
Set the global auditor to use.

Parameters:
aAuditor The auditor to be set. May not be null.
 
   public static void setAuditor (@Nonnull final IAuditor aAuditor)
   {
     ValueEnforcer.notNull (aAuditor"Auditor");
 
     .writeLock ().lock ();
     try
     {
        = aAuditor;
     }
     finally
     {
       .writeLock ().unlock ();
     }
   }

  
Set the default auditor again. This may be helpful when shutting down the main auditor, and at least want some prove, when something auditible happens.
 
   public static void setDefaultAuditor ()
   {
  }
  public static void onAuditCreateSuccess (@Nonnull final ObjectType aObjectType)
  {
    getAuditor ().onCreateSuccess (aObjectType);
  }
  public static void onAuditCreateSuccess (@Nonnull final ObjectType aObjectType, @Nullable final Object... aArgs)
  {
    getAuditor ().onCreateSuccess (aObjectTypeaArgs);
  }
  @SuppressWarnings ("unused")
  public static void onAuditCreateFailure (@Nonnull final ObjectType aObjectType)
  {
    throw new UnsupportedOperationException ();
  }
  public static void onAuditCreateFailure (@Nonnull final ObjectType aObjectType, @Nullable final Object... aArgs)
  {
    getAuditor ().onCreateFailure (aObjectTypeaArgs);
  }
  @SuppressWarnings ("unused")
  public static void onAuditModifySuccess (@Nonnull final ObjectType aObjectType, @Nonnull final String sWhat)
  {
    throw new UnsupportedOperationException ();
  }
  public static void onAuditModifySuccess (@Nonnull final ObjectType aObjectType,
                                           @Nonnull final String sWhat,
                                           @Nullable final Object... aArgs)
  {
    getAuditor ().onModifySuccess (aObjectTypesWhataArgs);
  }
  @SuppressWarnings ("unused")
  public static void onAuditModifyFailure (@Nonnull final ObjectType aObjectType, @Nonnull final String sWhat)
  {
    throw new UnsupportedOperationException ();
  }
  public static void onAuditModifyFailure (@Nonnull final ObjectType aObjectType,
                                           @Nonnull final String sWhat,
                                           @Nullable final Object... aArgs)
  {
    getAuditor ().onModifyFailure (aObjectTypesWhataArgs);
  }
  @SuppressWarnings ("unused")
  public static void onAuditDeleteSuccess (@Nonnull final ObjectType aObjectType)
  {
    throw new UnsupportedOperationException ();
  }
  public static void onAuditDeleteSuccess (@Nonnull final ObjectType aObjectType, @Nullable final Object... aArgs)
  {
    getAuditor ().onDeleteSuccess (aObjectTypeaArgs);
  }
  @SuppressWarnings ("unused")
  public static void onAuditDeleteFailure (@Nonnull final ObjectType aObjectType)
  {
    throw new UnsupportedOperationException ();
  }
  public static void onAuditDeleteFailure (@Nonnull final ObjectType aObjectType, @Nullable final Object... aArgs)
  {
    getAuditor ().onDeleteFailure (aObjectTypeaArgs);
  }
  @SuppressWarnings ("unused")
  public static void onAuditUndeleteSuccess (@Nonnull final ObjectType aObjectType)
  {
    throw new UnsupportedOperationException ();
  }
  public static void onAuditUndeleteSuccess (@Nonnull final ObjectType aObjectType, @Nullable final Object... aArgs)
  {
    getAuditor ().onUndeleteSuccess (aObjectTypeaArgs);
  }
  @SuppressWarnings ("unused")
  public static void onAuditUndeleteFailure (@Nonnull final ObjectType aObjectType)
  {
    throw new UnsupportedOperationException ();
  }
  public static void onAuditUndeleteFailure (@Nonnull final ObjectType aObjectType, @Nullable final Object... aArgs)
  {
    getAuditor ().onUndeleteFailure (aObjectTypeaArgs);
  }
  public static void onAuditExecuteSuccess (@Nonnull final String sWhat, @Nullable final Object... aArgs)
  {
    getAuditor ().onExecuteSuccess (sWhataArgs);
  }
  public static void onAuditExecuteFailure (@Nonnull final String sWhat, @Nullable final Object... aArgs)
  {
    getAuditor ().onExecuteFailure (sWhataArgs);
  }
  public static void onAuditExecuteSuccess (@Nonnull final ObjectType aObjectType,
                                            @Nonnull final String sWhat,
                                            @Nullable final Object... aArgs)
  {
    getAuditor ().onExecuteSuccess (aObjectTypesWhataArgs);
  }
  public static void onAuditExecuteFailure (@Nonnull final ObjectType aObjectType,
                                            @Nonnull final String sWhat,
                                            @Nullable final Object... aArgs)
  {
    getAuditor ().onExecuteFailure (aObjectTypesWhataArgs);
  }
New to GrepCode? Check out our FAQ X