nicko       2004/12/19 11:24:00

  Modified:    src/Repository/Hierarchy Hierarchy.cs
  Log:
  Updates suggested by FxCop.
  Minor naming changes to internal types.
  Perf improvements to type check + type cast code.
  
  Revision  Changes    Path
  1.12      +34 -23    logging-log4net/src/Repository/Hierarchy/Hierarchy.cs
  
  Index: Hierarchy.cs
  ===================================================================
  RCS file: /home/cvs/logging-log4net/src/Repository/Hierarchy/Hierarchy.cs,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- Hierarchy.cs      13 Dec 2004 02:12:20 -0000      1.11
  +++ Hierarchy.cs      19 Dec 2004 19:24:00 -0000      1.12
  @@ -510,9 +510,10 @@
                        {
                                appenderList.Add(appender);
   
  -                             if (appender is IAppenderAttachable)
  +                             IAppenderAttachable container = appender as 
IAppenderAttachable;
  +                             if (container != null)
                                {
  -                                     CollectAppenders(appenderList, 
(IAppenderAttachable)appender);
  +                                     CollectAppenders(appenderList, 
container);
                                }
                        }
                }
  @@ -704,25 +705,27 @@
                                        OnLoggerCreationEvent(logger);
                                        return logger;
                                } 
  -                             else if (node is Logger) 
  +                             
  +                             Logger nodeLogger = node as Logger;
  +                             if (nodeLogger != null) 
                                {
  -                                     return (Logger)node;
  +                                     return nodeLogger;
                                } 
  -                             else if (node is ProvisionNode) 
  +                             
  +                             ProvisionNode nodeProvisionNode = node as 
ProvisionNode;
  +                             if (nodeProvisionNode != null) 
                                {
                                        logger = factory.CreateLogger(name);
                                        logger.Hierarchy = this; 
                                        m_ht[key] = logger;
  -                                     UpdateChildren((ProvisionNode)node, 
logger);
  +                                     UpdateChildren(nodeProvisionNode, 
logger);
                                        UpdateParents(logger);  
                                        OnLoggerCreationEvent(logger);
                                        return logger;
                                }
  -                             else 
  -                             {
  -                                     // It should be impossible to arrive 
here
  -                                     return null;  // but let's keep the 
compiler happy.
  -                             }
  +
  +                             // It should be impossible to arrive here but 
let's keep the compiler happy.
  +                             return null;
                        }
                }
   
  @@ -804,20 +807,28 @@
                                        ProvisionNode pn = new 
ProvisionNode(log);
                                        m_ht[key] = pn;
                                } 
  -                             else if (node is Logger) 
  -                             {
  -                                     parentFound = true;
  -                                     log.Parent = (Logger)node;
  -                                     break; // no need to update the 
ancestors of the closest ancestor
  -                             } 
  -                             else if (node is ProvisionNode) 
  -                             {
  -                                     ((ProvisionNode)node).Add(log);
  -                             } 
                                else
                                {
  -                                     LogLog.Error("unexpected object type 
["+node.GetType()+"] in ht.", new LogException());
  -                             }
  +                                     Logger nodeLogger = node as Logger;
  +                                     if (nodeLogger != null)
  +                                     {
  +                                             parentFound = true;
  +                                             log.Parent = nodeLogger;
  +                                             break; // no need to update the 
ancestors of the closest ancestor
  +                                     }
  +                                     else
  +                                     {
  +                                             ProvisionNode nodeProvisionNode 
= node as ProvisionNode;
  +                                             if (nodeProvisionNode != null)
  +                                             {
  +                                                     
nodeProvisionNode.Add(log);
  +                                             }
  +                                             else
  +                                             {
  +                                                     
LogLog.Error("unexpected object type ["+node.GetType()+"] in ht.", new 
LogException());
  +                                             }
  +                                     } 
  +                             } 
                        }
   
                        // If we could not find any existing parents, then link 
with root.
  
  
  

Reply via email to