0,0 → 1,167 |
package ak.hostadmiral.core.servlet; |
|
import java.io.IOException; |
import javax.servlet.ServletRequest; |
import javax.servlet.ServletResponse; |
import javax.servlet.GenericServlet; |
import javax.servlet.ServletException; |
|
import org.apache.log4j.Logger; |
|
import ak.hostadmiral.core.model.*; |
|
public class ListenerRegistratorServlet |
extends GenericServlet |
{ |
private static final Logger logger = Logger.getLogger(ListenerRegistratorServlet.class); |
|
public void init() |
throws ServletException |
{ |
// -- user -------------------------------------------------------------------------------- |
register("UserCreatedListener", new Registrar() { |
public void reg(Object o) { |
UserManager.getInstance().addCreatedListener((UserCreatedListener)o); |
} |
}); |
register("UserModifiedListener", new Registrar() { |
public void reg(Object o) { |
UserManager.getInstance().addModifiedListener((UserModifiedListener)o); |
} |
}); |
register("UserBeforeDeleteListener", new Registrar() { |
public void reg(Object o) { |
UserManager.getInstance().addBeforeDeleteListener((UserBeforeDeleteListener)o); |
} |
}); |
register("UserDeletedListener", new Registrar() { |
public void reg(Object o) { |
UserManager.getInstance().addDeletedListener((UserDeletedListener)o); |
} |
}); |
|
// -- inet domain ------------------------------------------------------------------------- |
register("InetDomainCreatedListener", new Registrar() { |
public void reg(Object o) { |
InetDomainManager.getInstance().addCreatedListener((InetDomainCreatedListener)o); |
} |
}); |
register("InetDomainModifiedListener", new Registrar() { |
public void reg(Object o) { |
InetDomainManager.getInstance().addModifiedListener((InetDomainModifiedListener)o); |
} |
}); |
register("InetDomainBeforeDeleteListener", new Registrar() { |
public void reg(Object o) { |
InetDomainManager.getInstance().addBeforeDeleteListener( |
(InetDomainBeforeDeleteListener)o); |
} |
}); |
register("InetDomainDeletedListener", new Registrar() { |
public void reg(Object o) { |
InetDomainManager.getInstance().addDeletedListener((InetDomainDeletedListener)o); |
} |
}); |
|
// -- system user ------------------------------------------------------------------------- |
register("SystemUserCreatedListener", new Registrar() { |
public void reg(Object o) { |
SystemUserManager.getInstance().addCreatedListener((SystemUserCreatedListener)o); |
} |
}); |
register("SystemUserModifiedListener", new Registrar() { |
public void reg(Object o) { |
SystemUserManager.getInstance().addModifiedListener((SystemUserModifiedListener)o); |
} |
}); |
register("SystemUserBeforeDeleteListener", new Registrar() { |
public void reg(Object o) { |
SystemUserManager.getInstance().addBeforeDeleteListener( |
(SystemUserBeforeDeleteListener)o); |
} |
}); |
register("SystemUserDeletedListener", new Registrar() { |
public void reg(Object o) { |
SystemUserManager.getInstance().addDeletedListener((SystemUserDeletedListener)o); |
} |
}); |
|
// -- mailbox ----------------------------------------------------------------------------- |
register("MailboxCreatedListener", new Registrar() { |
public void reg(Object o) { |
MailboxManager.getInstance().addCreatedListener((MailboxCreatedListener)o); |
} |
}); |
register("MailboxModifiedListener", new Registrar() { |
public void reg(Object o) { |
MailboxManager.getInstance().addModifiedListener((MailboxModifiedListener)o); |
} |
}); |
register("MailboxBeforeDeleteListener", new Registrar() { |
public void reg(Object o) { |
MailboxManager.getInstance().addBeforeDeleteListener( |
(MailboxBeforeDeleteListener)o); |
} |
}); |
register("MailboxDeletedListener", new Registrar() { |
public void reg(Object o) { |
MailboxManager.getInstance().addDeletedListener((MailboxDeletedListener)o); |
} |
}); |
|
// -- mail alias -------------------------------------------------------------------------- |
register("MailAliasCreatedListener", new Registrar() { |
public void reg(Object o) { |
MailAliasManager.getInstance().addCreatedListener((MailAliasCreatedListener)o); |
} |
}); |
register("MailAliasModifiedListener", new Registrar() { |
public void reg(Object o) { |
MailAliasManager.getInstance().addModifiedListener((MailAliasModifiedListener)o); |
} |
}); |
register("MailAliasBeforeDeleteListener", new Registrar() { |
public void reg(Object o) { |
MailAliasManager.getInstance().addBeforeDeleteListener( |
(MailAliasBeforeDeleteListener)o); |
} |
}); |
register("MailAliasDeletedListener", new Registrar() { |
public void reg(Object o) { |
MailAliasManager.getInstance().addDeletedListener((MailAliasDeletedListener)o); |
} |
}); |
} |
|
private void register(String paramName, Registrar registrar) |
{ |
String param = getInitParameter(paramName); |
if(param == null) return; |
|
String[] names = param.split("\\s*;\\s*"); |
for(int i = 0; i < names.length; i++) { |
String name = names[i].trim(); |
if(name.equals("")) continue; |
try { |
Class c = Class.forName(name); |
registrar.reg(c.newInstance()); |
} |
catch(ClassCastException ex) { |
logger.error("class " + name + " has wrong type", ex); |
} |
catch(Exception ex) { |
logger.error("cannot get class " + name, ex); |
} |
} |
} |
|
public void service(ServletRequest req, ServletResponse res) |
throws ServletException, IOException |
{ |
} |
|
private interface Registrar |
{ |
public void reg(Object o); |
} |
} |