Subversion Repositories general

Compare Revisions

Ignore whitespace Rev 1009 → Rev 1010

/hostadmiral/trunk/src/ak/hostadmiral/core/listener/dummy/UserModifiedDummyListener.java
0,0 → 1,16
package ak.hostadmiral.core.listener.dummy;
 
import ak.hostadmiral.util.ModelException;
import ak.hostadmiral.core.model.User;
import ak.hostadmiral.core.model.UserModifiedListener;
 
public class UserModifiedDummyListener
implements UserModifiedListener
{
public void userModified(User editor, User user, User oldUser)
throws ModelException
{
System.out.println("UserCreatedDummyListener.userModified: from " + oldUser
+ " to " + user + " by " + editor);
}
}
/hostadmiral/trunk/src/ak/hostadmiral/core/listener/dummy/UserDeletedDummyListener.java
0,0 → 1,16
package ak.hostadmiral.core.listener.dummy;
 
import ak.hostadmiral.util.ModelException;
import ak.hostadmiral.core.model.User;
import ak.hostadmiral.core.model.UserDeletedListener;
 
public class UserDeletedDummyListener
implements UserDeletedListener
{
public void userDeleted(User editor, User user)
throws ModelException
{
System.out.println("UserCreatedDummyListener.userDeleted: "
+ user + " by " + editor);
}
}
/hostadmiral/trunk/src/ak/hostadmiral/core/listener/dummy/UserCreatedDummyListener.java
0,0 → 1,16
package ak.hostadmiral.core.listener.dummy;
 
import ak.hostadmiral.util.ModelException;
import ak.hostadmiral.core.model.User;
import ak.hostadmiral.core.model.UserCreatedListener;
 
public class UserCreatedDummyListener
implements UserCreatedListener
{
public void userCreated(User editor, User user)
throws ModelException
{
System.out.println("UserCreatedDummyListener.userCreated: "
+ user + " by " + editor);
}
}
/hostadmiral/trunk/src/ak/hostadmiral/core/listener/file/UserCreatedFileListener.java
0,0 → 1,22
package ak.hostadmiral.core.listener.file;
 
import ak.hostadmiral.util.ModelException;
import ak.hostadmiral.core.model.User;
import ak.hostadmiral.core.model.UserCreatedListener;
 
import org.apache.log4j.Logger;
 
public class UserCreatedFileListener
implements UserCreatedListener
{
private static final Logger logger = Logger.getLogger(UserCreatedFileListener.class);
 
public void userCreated(User editor, User user)
throws ModelException
{
InterfaceFile.send("user\tcreate\t" + InterfaceFile.escape(user.getLogin()) + "\t"
+ InterfaceFile.escape(/* FIXME user.getPassword() */ "") + "\t"
+ user.getEnabled() + "\t"
+ InterfaceFile.escape(user.getComment()));
}
}
/hostadmiral/trunk/src/ak/hostadmiral/core/listener/file/InterfaceFile.java
0,0 → 1,68
package ak.hostadmiral.core.listener.file;
 
import java.io.Writer;
import java.io.BufferedWriter;
import java.io.FileWriter;
 
import ak.hostadmiral.util.ModelException;
import ak.hostadmiral.core.model.User;
import ak.hostadmiral.core.model.UserModifiedListener;
 
import org.apache.log4j.Logger;
 
public class InterfaceFile
{
private static final Logger logger = Logger.getLogger(InterfaceFile.class);
 
private static String fileName;
protected static Object lock = new Object();
 
public static final String PROTOCOL_NAME = "HostAdmiral_FileInterface";
public static final String PROTOCOL_VERSION = "0.1";
 
public static String getFileName()
{
return fileName;
}
 
public static void setFileName(String fileName_)
{
fileName = fileName_;
}
 
protected static String escape(String s)
{
// FIXME: any other problem characters? optimize it?
s = s.replaceAll("\0", "\\\\0");
s = s.replaceAll("\\\\", "\\\\\\\\");
s = s.replaceAll("\t", "\\\\t");
s = s.replaceAll("\n", "\\\\n");
return s;
}
 
protected static void send(String message)
throws ModelException
{
synchronized(lock) {
try {
Writer out = new BufferedWriter(new FileWriter(fileName));
if(PROTOCOL_NAME != null) {
out.write(PROTOCOL_NAME);
out.write(" ");
}
if(PROTOCOL_VERSION != null) {
out.write(PROTOCOL_VERSION);
out.write("\n");
}
out.write(message);
out.write("\n\n");
out.close();
}
catch(Exception ex) {
logger.error("Cannot save message to file", ex);
throw new ModelException("Cannot save message to file:" + ex.getMessage());
// FIMXE: or just throw "internal server error" message?
}
}
}
}
/hostadmiral/trunk/src/ak/hostadmiral/core/listener/file/UserModifiedFileListener.java
0,0 → 1,23
package ak.hostadmiral.core.listener.file;
 
import ak.hostadmiral.util.ModelException;
import ak.hostadmiral.core.model.User;
import ak.hostadmiral.core.model.UserModifiedListener;
 
import org.apache.log4j.Logger;
 
public class UserModifiedFileListener
implements UserModifiedListener
{
private static final Logger logger = Logger.getLogger(UserModifiedFileListener.class);
 
public void userModified(User editor, User user, User oldUser)
throws ModelException
{
InterfaceFile.send("user\tmodify\t" + InterfaceFile.escape(oldUser.getLogin()) + "\t"
+ InterfaceFile.escape(user.getLogin()) + "\t"
+ InterfaceFile.escape(/* FIXME user.getPassword() */ "") + "\t"
+ user.getEnabled() + "\t"
+ InterfaceFile.escape(user.getComment()));
}
}
/hostadmiral/trunk/src/ak/hostadmiral/core/listener/file/ConfigServlet.java
0,0 → 1,26
package ak.hostadmiral.core.listener.file;
 
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;
 
public class ConfigServlet
extends GenericServlet
{
private static final Logger logger = Logger.getLogger(ConfigServlet.class);
 
public void init()
throws ServletException
{
InterfaceFile.setFileName(getInitParameter("fileName"));
}
 
public void service(ServletRequest req, ServletResponse res)
throws ServletException, IOException
{
}
}
/hostadmiral/trunk/src/ak/hostadmiral/core/listener/file/UserDeletedFileListener.java
0,0 → 1,19
package ak.hostadmiral.core.listener.file;
 
import ak.hostadmiral.util.ModelException;
import ak.hostadmiral.core.model.User;
import ak.hostadmiral.core.model.UserDeletedListener;
 
import org.apache.log4j.Logger;
 
public class UserDeletedFileListener
implements UserDeletedListener
{
private static final Logger logger = Logger.getLogger(UserCreatedFileListener.class);
 
public void userDeleted(User editor, User user)
throws ModelException
{
InterfaceFile.send("user\tdelete\t" + InterfaceFile.escape(user.getLogin()));
}
}