package uk.org.mygrid.cagrid.servicewrapper.service.interproscan.invoker;

import uk.org.mygrid.cagrid.servicewrapper.serviceinvoker.interproscan.DummyInterProScanInvoker;
import uk.org.mygrid.cagrid.servicewrapper.serviceinvoker.interproscan.InterProScanInvoker;

public class InvokerFactory {
	private static InterProScanInvoker invoker;

	public static InterProScanInvoker getInvoker() {
		if (invoker == null) {
			synchronized (InvokerFactory.class) {
				if (invoker == null) {
					invoker = new DummyInterProScanInvoker();
					//invoker = new InterProScanInvoker();
				}
			}
		}
		return invoker;
	}
}

@@ -132,45 +132,24 @@
 ker.
-interproscan.DummyInterProScanInvoker
+InvokerException
 ;%0D%0Ai
@@ -239,16 +239,113 @@
 nvoker;%0D
+%0Aimport uk.org.mygrid.cagrid.servicewrapper.serviceinvoker.interproscan.InterProScanInvokerImpl;%0D
 %0A%0D%0Apubli
@@ -570,16 +570,18 @@
 %7B%0D%0A%09%09%09%09%09
+//
 invoker 
@@ -616,26 +616,37 @@
 er();%0D%0A%09%09%09%09%09
-//
+try %7B%0D%0A%09%09%09%09%09%09
 invoker = ne
@@ -662,27 +662,156 @@
 oScanInvoker
-();
+Impl();%0D%0A%09%09%09%09%09%7D catch (InvokerException e) %7B%0D%0A%09%09%09%09%09%09throw new RuntimeException(%22Can't instantiate InterProScan invoker%22, e);%0D%0A%09%09%09%09%09%7D
 %0D%0A%09%09%09%09%7D%0D%0A%09%09%09

Use real invoker by default