package org.yournamehere.server;
import com.google.gwt.user.server.rpc.RemoteServiceServlet;
import java.util.ArrayList;
import java.util.List;
import javax.jdo.Extent;
import javax.jdo.JDOHelper;
import javax.jdo.PersistenceManager;
import javax.jdo.PersistenceManagerFactory;
import org.yournamehere.client.GWTService;
/**
* Service implementation using JDO.
*/
public class GWTServiceImpl extends RemoteServiceServlet implements GWTService {
private PersistenceManagerFactory pmfInstance = JDOHelper.
getPersistenceManagerFactory("transactions-optional");
public void addMessage(String message) {
PersistenceManager pm = pmfInstance.getPersistenceManager();
try {
pm.makePersistent(new Message(message));
} finally {
pm.close();
}
}
public String[] getMessages() {
PersistenceManager pm = pmfInstance.getPersistenceManager();
try {
List<String> messages = new ArrayList<String>();
Extent<Message> extent = pm.getExtent(Message.class, false);
for (Message message : extent) {
messages.add(message.getText());
}
extent.closeAll();
return messages.toArray(new String[0]);
} finally {
pm.close();
}
}
}