Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
Copyright (C) 2014-2015 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.exchange.bulkimport;
 
 import java.util.List;
 import java.util.Map;
 
 
 
This class represents the results of a bulk import.

Author(s):
boris, philip
 
 public class BulkImportResult implements ISuccessIndicator
 {
  
Default success value
 
   public static final boolean DEFAULT_SUCCESS = true;
  
Default value for maximum number of warnings to maintain in a list.
 
   public static final int DEFAULT_MAX_WARNINGS = 1000;
   private static final Logger s_aLogger = LoggerFactory.getLogger (BulkImportResult.class);
 
   protected final ReadWriteLock m_aRWLock = new ReentrantReadWriteLock ();
   private final int m_nMaxWarnings;
   private boolean m_bSuccess = ;
   private final Map <StringITypedObject <String>> m_aAdded = new LinkedHashMap <StringITypedObject <String>> ();
   private final Map <StringITypedObject <String>> m_aChanged = new LinkedHashMap <StringITypedObject <String>> ();
   private final List <Stringm_aFailed = new ArrayList <String> ();
   private final List <Stringm_aWarnings = new ArrayList <String> ();
   private int m_nAdditionalWarnings = 0;
 
   public BulkImportResult ()
   {
     this ();
   }
 
   public BulkImportResult (@Nonnegative final int nMaxWarnings)
   {
      = nMaxWarnings;
   }
 
   public final void registerAdded (@Nonnull final ITypedObject <StringaObj)
   {
     .writeLock ().lock ();
     try
     {
       .put (aObj.getID (), aObj);
     }
     finally
     {
       .writeLock ().unlock ();
     }
   }
 
   @Nonnull
   public final List <ITypedObject <String>> getAdded ()
   {
     .readLock ().lock ();
     try
     {
       return ContainerHelper.newList (.values ());
     }
     finally
     {
      .readLock ().unlock ();
    }
  }
  public final int getAddedCount ()
  {
    .readLock ().lock ();
    try
    {
      return .size ();
    }
    finally
    {
      .readLock ().unlock ();
    }
  }
  public final boolean containsAdded (@Nonnull final ITypedObject <StringaObj)
  {
    .readLock ().lock ();
    try
    {
      // linear scanning :(
      return .containsKey (aObj.getID ());
    }
    finally
    {
      .readLock ().unlock ();
    }
  }
  public final void registerChanged (@Nonnull final ITypedObject <StringaObj)
  {
    .writeLock ().lock ();
    try
    {
      .put (aObj.getID (), aObj);
    }
    finally
    {
      .writeLock ().unlock ();
    }
  }
  public final List <ITypedObject <String>> getChanged ()
  {
    .readLock ().lock ();
    try
    {
      return ContainerHelper.newList (.values ());
    }
    finally
    {
      .readLock ().unlock ();
    }
  }
  public final int getChangedCount ()
  {
    .readLock ().lock ();
    try
    {
      return .size ();
    }
    finally
    {
      .readLock ().unlock ();
    }
  }
  public final boolean containsChanged (@Nonnull final ITypedObject <StringaObj)
  {
    .readLock ().lock ();
    try
    {
      // linear scanning :(
      return .containsKey (aObj.getID ());
    }
    finally
    {
      .readLock ().unlock ();
    }
  }
  public final void registerFailed (final String sID)
  {
    .writeLock ().lock ();
    try
    {
      .add (sID);
    }
    finally
    {
      .writeLock ().unlock ();
    }
  }
  public final List <StringgetFailed ()
  {
    .readLock ().lock ();
    try
    {
      return ContainerHelper.newList ();
    }
    finally
    {
      .readLock ().unlock ();
    }
  }
  public final int getFailedCount ()
  {
    .readLock ().lock ();
    try
    {
      return .size ();
    }
    finally
    {
      .readLock ().unlock ();
    }
  }
  public final boolean containsFailed (@Nullable final String sID)
  {
    .readLock ().lock ();
    try
    {
      // linear scanning :(
      return .contains (sID);
    }
    finally
    {
      .readLock ().unlock ();
    }
  }
  public final void addWarning (final String sWarningMsg)
  {
    .writeLock ().lock ();
    try
    {
      if (.size () < )
      {
        if (false)
          .warn (sWarningMsg);
        .add (sWarningMsg);
      }
      else
        ++;
    }
    finally
    {
      .writeLock ().unlock ();
    }
  }
  public final List <StringgetWarnings ()
  {
    .readLock ().lock ();
    try
    {
      return ContainerHelper.newList ();
    }
    finally
    {
      .readLock ().unlock ();
    }
  }

  

Returns:
The number of all warnings. Always &ge; 0.
  public final int getWarningsCount ()
  {
    .readLock ().lock ();
    try
    {
      return .size () + ;
    }
    finally
    {
      .readLock ().unlock ();
    }
  }
  public final void setSuccess (final boolean bSuccess)
  {
    .writeLock ().lock ();
    try
    {
       = bSuccess;
    }
    finally
    {
      .writeLock ().unlock ();
    }
  }

  
Indicates, that the overall import succeeded. Default is true.

Returns:
true for import success, false for import failure.
  public final boolean isSuccess ()
  {
    .readLock ().lock ();
    try
    {
      return ;
    }
    finally
    {
      .readLock ().unlock ();
    }
  }

  
Indicates, that the overall import failed.

Returns:
Inverse of isSuccess()
  public final boolean isFailure ()
  {
    return !isSuccess ();
  }
New to GrepCode? Check out our FAQ X