package com.extensiblejava.ui; //import org.osgi.framework.BundleActivator; //import org.osgi.framework.BundleContext; //import org.osgi.framework.ServiceReference; import com.extensiblejava.bill.*; import com.extensiblejava.audit.*; import java.math.*; //If I put this class in the same component as Bill, I've logically decoupled Bill from //AuditFacade implementations, but have not physically decoupled them. If I put it in the UI //I limit ability to use it in batch. Putting it in billpay.jar (ie. mediator) works well. public class AuditFacadeFactoryImpl { //private static AuditFacade auditFacade; //private static AuditFacadeFactoryImpl auditFactory; //private AuditFacadeFactoryImpl() { } public void start() throws Exception { } public void stop() throws Exception { } /*public static AuditFacadeFactoryImpl getInstance(AuditFacade auditFacade) { if (auditFacade == null) { auditFactory = new AuditFacadeFactoryImpl(); auditFactory.setAuditFacade(auditFacade); return auditFactory; } else { return auditFactory; } } public static AuditFacadeFactoryImpl getInstance() { return auditFactory; }*/ public void setAuditFacade(AuditFacade auditFacade) { /*if (auditFacade == null) { System.out.println("audit facade null"); } else { System.out.println("setting auditfacade"); } auditFacade = auditFacade;*/ AuditAction.setAuditor(auditFacade); } //public static AuditFacade getAuditFacade(Bill bill) { return auditFacade;} /* public void start(BundleContext context) { ServiceReference ref = context.getServiceReference(AuditFacade.class.getName()); auditor = (AuditFacade) context.getService(ref); } public void stop(BundleContext context) { // NOTE: The service is automatically unregistered. } public static AuditFacade getAuditFacade(Bill bill) { return auditor; }*/ }