/*
 * $Id$
 *
 * Copyright 2006, The jCoderZ.org Project. All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 *    * Redistributions of source code must retain the above copyright
 *      notice, this list of conditions and the following disclaimer.
 *    * Redistributions in binary form must reproduce the above
 *      copyright notice, this list of conditions and the following
 *      disclaimer in the documentation and/or other materials
 *      provided with the distribution.
 *    * Neither the name of the jCoderZ.org Project nor the names of
 *      its contributors may be used to endorse or promote products
 *      derived from this software without specific prior written
 *      permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS" AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS
 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
 * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
package org.jcoderz.phoenix.report.samples;

import java.awt.Color;

/**
 * Simple class to demonstrate some Findbugs finder.
 * 
 * @author Andreas
 *
 */
public class FindbugsFindings
{
    private static String sLock = "LOCK";

    /**
     * Method to demonstrate the finder that detects calls to equals
     * with different classes. 
     */
    public void compareWithEquals ()
    {
        final String foo = "FOO";
        final Color bar = Color.GREEN;
        
        if (foo.equals(bar))
        {
            throw new RuntimeException(
                    "Ups, this should never happen, JDK bug?");
        }

        synchronized (sLock) 
        {
            // a test
        }

    }
    
    
    public void noInfinitLoop ()
    {
        final int offset = 5;
        final int current = 10;
        final int start = current - offset;    
        final int end = current + offset;
        
        for (int i = start; i <= end; i++)
        {
            System.out.println("At " + i);
        }
    }
}

@@ -1735,18 +1735,17 @@
 nder.%0A *
- 
 %0A
+
  * @auth
@@ -1944,17 +1944,16 @@
 classes.
- 
 %0A     */
@@ -2069,25 +2069,17 @@
 .GREEN;%0A
-        
 %0A
+
         
@@ -2252,17 +2252,16 @@
  (sLock)
- 
 %0A       
@@ -2302,25 +2302,17 @@
 %0A%0A    %7D%0A
-    %0A    
+%0A
 %0A    pub
@@ -2448,20 +2448,16 @@
  offset;
-    
 %0A       
@@ -2495,17 +2495,9 @@
 et;%0A
-        
 %0A
+
     
@@ -2588,16 +2588,16 @@
 %22 + i);%0A
-
         
@@ -2603,11 +2603,294 @@
  %7D%0A    %7D
+%0A%0A    public void couldBeStaticInnerClass (final String test)%0A    %7B%0A        final Runnable go = new Runnable()%0A        %7B%0A            public void run ()%0A            %7B%0A                System.out.println(%22Input was %22 + test);%0A            %7D%0A        %7D;%0A        new Thread(go).run();%0A    %7D
 %0A%7D%0A

Test for code that is falsely flagged as SIC_INNER_SHOULD_BE_STATIC_ANON