Re: [appengine-java] NullPointerException at Transaction.commit()

2010-02-17 Thread Max Ross (Google)
Can you please post your model object definitions for Employee and
Department?

Thanks,
Max

On Mon, Feb 15, 2010 at 11:53 PM, sushama  wrote:

> import java.util.List;
>
> import javax.jdo.JDOHelper;
> import javax.jdo.PersistenceManager;
> import javax.jdo.PersistenceManagerFactory;
> import javax.jdo.Transaction;
> import javax.persistence.EntityManager;
> import javax.persistence.EntityManagerFactory;
> import javax.persistence.EntityTransaction;
> import javax.persistence.Persistence;
> import javax.persistence.Query;
>
> import com.google.gwt.user.client.Window;
> import com.google.gwt.user.server.rpc.RemoteServiceServlet;
> import com.wissen.enterprisebysush.client.GreetingService;
> import com.wissen.enterprisebysush.server.domainobject.Department;
> import com.wissen.enterprisebysush.server.domainobject.Employee;
>
> /**
>  * The server side implementation of the RPC service.
>  */
> @SuppressWarnings("serial")
> public class GreetingServiceImpl extends RemoteServiceServlet
> implements GreetingService {
>
>EntityManagerFactory emf =
> Persistence.createEntityManagerFactory("transactions-optional");
>
>public String greetServer(String input) {
>String serverInfo = getServletContext().getServerInfo();
>String userAgent = getThreadLocalRequest().getHeader("User-
> Agent");
>return "Hello, " + input + "!I am running " +
> serverInfo + ".It looks like you are using:" + userAgent;
>}
>
>@SuppressWarnings("unchecked")
>public void addDept(String dept_name, String dept_head) {
>
>EntityManager em = null;
>
>try {
>em = emf.createEntityManager();
>em.getTransaction().begin();
>Department d = new Department();
>d.setDept_name(dept_name);
>d.setHead(dept_head);
>
>Query q = em.createQuery("select from
> com.wissen.enterprisebysush.server.domainobject.Department d");
>List deptList = q.getResultList();
>
>for (Department dept : deptList) {
>System.out.println("Department name: " +
> dept.getDept_name());
>}
>
>em.persist(d);
>
>} finally {
>em.getTransaction().commit();
>em.close();
>
>}
>
>}
>
>public void addEmp(String emp_name, String emp_sal, String did) {
>EntityManager em = emf.createEntityManager();
>try {
>
>
>String s = did;
>
>EntityTransaction transaction = em.getTransaction();
>transaction.begin();
>System.out.println("value of Department_name is::" + s);
>System.out.println("Transaction is active and
> is::"+transaction);
>
>//Query q = em.createQuery("select dept_id
> from com.wissen.enterprisebysush.server.domainobject.Department d
> where d.dept_name = ?1");
>//q.setParameter(1, s);
>//System.out.println("Name of Department is::"
> + s);
>//Department dept = (Department)
> q.getSingleResult();
>
>Query q = em.createQuery("select from
> com.wissen.enterprisebysush.server.domainobject.Department d");
>Department dept = (Department) q.getResultList().get(0);
>System.out.println("Name of Department is::" +
> dept.getDept_name());
>
>//System.out.println("Query executed
> Successfully!!" + q.getSingleResult());
>Employee e = new Employee();
>e.setEmp_name("Abdch");
>e.setEmp_sal("5000");
>e.setDepartment(dept);
>em.persist(e);
>
>System.out.println("Transaction: " + transaction);
>
>transaction.commit();
>em.close();
>
>} catch (NullPointerException e) {
>e.printStackTrace();
>System.out.println("Exception::" + e.getCause());
>} finally {
>
>}
>}
>
> }
>
> output::
>
>
> value of Department_name is::Production
> Transaction is active and
> is::org.datanucleus.jpa.entitytransactioni...@1a21c7d
> Name of Department is::Accounts
> Transaction: org.datanucleus.jpa.entitytransactioni...@1a21c7d
> java.lang.NullPointerException
> Exception::null at
> com.google.appengine.api.datastore.KeyFactory.stringToKey(KeyFactory.java:
> 181)
>at
>
> org.datanucleus.store.appengine.DatastoreElementContainerStoreSpecialization.extractElementKey(DatastoreElementContainerStoreSpecialization.java:
> 170)
>at
>
> org.datanucleus.store.appengine.DatastoreAbstractCollectionStoreSpecialization.contains(DatastoreAbstractCollectionStoreSpecialization.java:
> 57)
>at
>
> org.datanucleus.store.mapped.scostore.AbstractCollectionStore.contains(AbstractCollectionStore.java:
> 116)
>at org.datanucleus.sco.backed.List.contains(List.java:455)
>at
>
> org.datanucleus.state.RelationshipManager.processManyToOneBidirectionalRelation(RelationshipManager.java:
> 690)
>at
> org.da

[appengine-java] NullPointerException at Transaction.commit()

2010-02-16 Thread sushama
import java.util.List;

import javax.jdo.JDOHelper;
import javax.jdo.PersistenceManager;
import javax.jdo.PersistenceManagerFactory;
import javax.jdo.Transaction;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.EntityTransaction;
import javax.persistence.Persistence;
import javax.persistence.Query;

import com.google.gwt.user.client.Window;
import com.google.gwt.user.server.rpc.RemoteServiceServlet;
import com.wissen.enterprisebysush.client.GreetingService;
import com.wissen.enterprisebysush.server.domainobject.Department;
import com.wissen.enterprisebysush.server.domainobject.Employee;

/**
 * The server side implementation of the RPC service.
 */
@SuppressWarnings("serial")
public class GreetingServiceImpl extends RemoteServiceServlet
implements GreetingService {

EntityManagerFactory emf =
Persistence.createEntityManagerFactory("transactions-optional");

public String greetServer(String input) {
String serverInfo = getServletContext().getServerInfo();
String userAgent = getThreadLocalRequest().getHeader("User-
Agent");
return "Hello, " + input + "!I am running " +
serverInfo + ".It looks like you are using:" + userAgent;
}

@SuppressWarnings("unchecked")
public void addDept(String dept_name, String dept_head) {

EntityManager em = null;

try {
em = emf.createEntityManager();
em.getTransaction().begin();
Department d = new Department();
d.setDept_name(dept_name);
d.setHead(dept_head);

Query q = em.createQuery("select from
com.wissen.enterprisebysush.server.domainobject.Department d");
List deptList = q.getResultList();

for (Department dept : deptList) {
System.out.println("Department name: " +
dept.getDept_name());
}

em.persist(d);

} finally {
em.getTransaction().commit();
em.close();

}

}

public void addEmp(String emp_name, String emp_sal, String did) {
EntityManager em = emf.createEntityManager();
try {


String s = did;

EntityTransaction transaction = em.getTransaction();
transaction.begin();
System.out.println("value of Department_name is::" + s);
System.out.println("Transaction is active and
is::"+transaction);

//Query q = em.createQuery("select dept_id
from com.wissen.enterprisebysush.server.domainobject.Department d
where d.dept_name = ?1");
//q.setParameter(1, s);
//System.out.println("Name of Department is::"
+ s);
//Department dept = (Department)
q.getSingleResult();

Query q = em.createQuery("select from
com.wissen.enterprisebysush.server.domainobject.Department d");
Department dept = (Department) q.getResultList().get(0);
System.out.println("Name of Department is::" +
dept.getDept_name());

//System.out.println("Query executed
Successfully!!" + q.getSingleResult());
Employee e = new Employee();
e.setEmp_name("Abdch");
e.setEmp_sal("5000");
e.setDepartment(dept);
em.persist(e);

System.out.println("Transaction: " + transaction);

transaction.commit();
em.close();

} catch (NullPointerException e) {
e.printStackTrace();
System.out.println("Exception::" + e.getCause());
} finally {

}
}

}

output::


value of Department_name is::Production
Transaction is active and
is::org.datanucleus.jpa.entitytransactioni...@1a21c7d
Name of Department is::Accounts
Transaction: org.datanucleus.jpa.entitytransactioni...@1a21c7d
java.lang.NullPointerException
Exception::null at
com.google.appengine.api.datastore.KeyFactory.stringToKey(KeyFactory.java:
181)
at
org.datanucleus.store.appengine.DatastoreElementContainerStoreSpecialization.extractElementKey(DatastoreElementContainerStoreSpecialization.java:
170)
at
org.datanucleus.store.appengine.DatastoreAbstractCollectionStoreSpecialization.contains(DatastoreAbstractCollectionStoreSpecialization.java:
57)
at
org.datanucleus.store.mapped.scostore.AbstractCollectionStore.contains(AbstractCollectionStore.java:
116)
at org.datanucleus.sco.backed.List.contains(List.java:455)
at
org.datanucleus.state.RelationshipManager.processManyToOneBidirectionalRelation(RelationshipManager.java:
690)
at
org.datanucleus.state.RelationshipManager.process(RelationshipManager.java:
294)
at
org.datanucleus.state.JDOStateManagerImpl.processManagedRelations(JDOStateManagerImpl.java:
2377)
at
org.datanucleus.ObjectManagerImpl.performManagedRelationships(ObjectManagerImpl.java:
2706)
at org.datanucleus.ObjectManagerImpl.flush(ObjectManager