All Downloads are FREE. Search and download functionalities are using the official Maven repository.

src.samples.java.ex.MDM_Sample Maven / Gradle / Ivy

Go to download

An auxiliary findbugs.sourceforge.net plugin for java bug detectors that fall outside the narrow scope of detectors to be packaged with the product itself.

There is a newer version: 7.6.8
Show newest version
package ex;
import java.math.BigDecimal;
import java.net.InetAddress;
import java.net.ServerSocket;
import java.security.SecureRandom;
import java.util.Locale;
import java.util.Random;
import java.util.concurrent.locks.Condition;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;

import javax.net.ServerSocketFactory;
import javax.net.ssl.SSLServerSocketFactory;

public class MDM_Sample implements Runnable {
    private ReentrantLock myLock;
    
    
    public MDM_Sample() throws Exception {
        boolean b;

        { // Halt tests
            Runtime r = Runtime.getRuntime();
            r.exit(0); // WARNING
            r.halt(0); // WARNING
            r.runFinalization(); // WARNING
            System.runFinalization(); // WARNING
        }

        { // equals() tests
            BigDecimal bd1 = new BigDecimal(0);
            BigDecimal bd2 = new BigDecimal(0);
            b = bd1.equals(bd2); // WARNING
        }

        { // Socket tests
            InetAddress localhost = InetAddress.getLocalHost(); // WARNING
            if (localhost == null) {
                localhost = InetAddress.getByName("booya");
            }
            ServerSocket ss = new ServerSocket(0);
            touch(ss); // WARNING
            ss = new ServerSocket(0, 0);
            touch(ss); // WARNING
            ServerSocketFactory ssf = SSLServerSocketFactory.getDefault();
            ss = ssf.createServerSocket(0);
            touch(ss); // WARNING
            ss = ssf.createServerSocket(0, 0);
            touch(ss); // WARNING
        }

        { // RNG tests
            Random r = new Random();// WARNING
            touch(r);
            byte[] seed = SecureRandom.getSeed(1); // WARNING (jdk 1.5 or older)
            r = new SecureRandom(seed); // WARNING (jdk 1.5 or older)
            touch(r);
        }

        { // Thread tests
            Thread t = new Thread(this);
            int priority = t.getPriority(); // WARNING
            t.setPriority(priority); // WARNING
            t.join(); // WARNING

            Thread.sleep(0); // WARNING
            Thread.sleep(0, 0); // WARNING
            Thread.yield(); // WARNING
        }

        { // Timeout tests
            ReentrantLock rl = new ReentrantLock();
            rl.lock(); // WARNING
            rl.lockInterruptibly(); // WARNING
            b = rl.isHeldByCurrentThread(); // WARNING
            b = rl.isLocked(); // WARNING

            Object o = new Object();
            do {
                b = rl.tryLock(); // WARNING
                o.wait(); // WARNING
            } while (b);

            Lock l = rl;
            l.lock(); // WARNING
            b = l.tryLock();
            touch(b); // WARNING
            l.lockInterruptibly(); // WARNING

            Condition c = l.newCondition();
            c.signal(); // WARNING
            c.await(); // WARNING
        }

        { // String tests
            byte[] bytes = "".getBytes(); // WARNING
            String s = new String(bytes); // WARNING
            bytes = s.getBytes("UTF-8");

            Locale.setDefault(Locale.ENGLISH); // WARNING
        }
    }

    @Override
    public void run() {
    }

    private static void touch(Object o) {
    }
    
    private void fpAssertReentrantLock() {
        assert myLock.isHeldByCurrentThread();
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy