Re: [appengine-java] Null Pointer Exception at the time of transaction commit.

2010-02-19 Thread Sushama Khadilkar
Thanks,
But i'm not getting wat are u saying so can u plz explain clearly...

-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-j...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.



Re: [appengine-java] Null Pointer Exception at the time of transaction commit.

2010-02-17 Thread Stephan Hartmann
Could you please provide the source of your Employee and Department classes?
And AFAIK you must not use full qualified class names in queries but the
simple class name (Department only).

Regards,
Stephan

2010/2/16 Sushama Khadilkar sush.khadil...@gmail.com

 package com.wissen.enterprisebysush.server;

 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 + !brbrI am running  + serverInfo +
 .brbrIt looks like you are using:br + 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);
 ListDepartment 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(Abcdh);
 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 is::


 The server is running at http://localhost:8090/
 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::nullat
 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
 

Re: [appengine-java] Null Pointer Exception at the time of transaction commit.

2010-02-17 Thread Sushama Khadilkar
Thanks Stephan Hartmann,
But there is another problem now .
Does the DataStore will have a Foreign Key of Department in Employee?
And , is it visible in the Employee table?

Following are my POJO's ::

/Department///

import java.io.Serializable;
import java.util.List;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;

import com.google.appengine.api.datastore.Key;


/**
 * @author Sushama Khadilkar.
 *
 * Create Date : 17-Feb-2010
 */
@SuppressWarnings(serial)
@Entity
public class Department implements Serializable{

@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Key dept_id;

private String dept_name;

private String head;

@OneToMany(mappedBy=department)
public ListEmployeeemployee;


public Key getDept_id() {
return dept_id;
}


public void setDept_id(Key dept_id) {
this.dept_id = dept_id;
}


public String getDept_name() {
return dept_name;
}


public void setDept_name(String dept_name) {
this.dept_name = dept_name;
}


public String getHead() {
return head;
}


public void setHead(String head) {
this.head = head;
}


public ListEmployee getEmployee() {
return employee;
}


public void setEmployee(ListEmployee employee) {
this.employee = employee;
}




}


//Employee/

import java.io.Serializable;

import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToOne;

import com.google.appengine.api.datastore.Key;


/**
 * @author Sushama Khadilkar.
 *
 * Create Date : 17-Feb-2010
 */
@SuppressWarnings(serial)
@Entity
public class Employee implements Serializable{

@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Key emp_id;

private String emp_name;

private String emp_sal;

@ManyToOne(cascade = CascadeType.ALL)
private Department department;


public Key getEmp_id() {
return emp_id;
}


public void setEmp_id(Key emp_id) {
this.emp_id = emp_id;
}


public String getEmp_name() {
return emp_name;
}


public void setEmp_name(String emp_name) {
this.emp_name = emp_name;
}


public String getEmp_sal() {
return emp_sal;
}


public void setEmp_sal(String emp_sal) {
this.emp_sal = emp_sal;
}


public Department getDepartment() {
return department;
}


public void setDepartment(Department department) {
this.department = department;
}




}

-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-j...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.



Re: [appengine-java] Null Pointer Exception at the time of transaction commit.

2010-02-17 Thread Stephan Hartmann
In your addEmp method i would add

dept.getEmployee().add(e)

after you instantiate your new employee object.
If i remember correctly, according to the JPA spec, managing relationships
is up to you.
BTW i would refactor the name of the list field employee to employees
(and its get and set method).

Regards,
Stephan

2010/2/17 Sushama Khadilkar sush.khadil...@gmail.com

 Thanks Stephan Hartmann,
 But there is another problem now .
 Does the DataStore will have a Foreign Key of Department in Employee?
 And , is it visible in the Employee table?

 Following are my POJO's ::


 /Department///

 import java.io.Serializable;
 import java.util.List;

 import javax.persistence.Entity;
 import javax.persistence.GeneratedValue;
 import javax.persistence.GenerationType;
 import javax.persistence.Id;
 import javax.persistence.OneToMany;

 import com.google.appengine.api.datastore.Key;


 /**
  * @author Sushama Khadilkar.
  *
  * Create Date : 17-Feb-2010
  */
 @SuppressWarnings(serial)
 @Entity
 public class Department implements Serializable{

 @Id
 @GeneratedValue(strategy=GenerationType.IDENTITY)
 private Key dept_id;

 private String dept_name;

 private String head;

 @OneToMany(mappedBy=department)
 public ListEmployeeemployee;


 public Key getDept_id() {
 return dept_id;
 }


 public void setDept_id(Key dept_id) {
 this.dept_id = dept_id;
 }


 public String getDept_name() {
 return dept_name;
 }


 public void setDept_name(String dept_name) {
 this.dept_name = dept_name;
 }


 public String getHead() {
 return head;
 }


 public void setHead(String head) {
 this.head = head;
 }


 public ListEmployee getEmployee() {
 return employee;
 }


 public void setEmployee(ListEmployee employee) {
 this.employee = employee;
 }




 }



 //Employee/

 import java.io.Serializable;

 import javax.persistence.CascadeType;
 import javax.persistence.Entity;
 import javax.persistence.GeneratedValue;
 import javax.persistence.GenerationType;
 import javax.persistence.Id;
 import javax.persistence.ManyToOne;

 import com.google.appengine.api.datastore.Key;


 /**
  * @author Sushama Khadilkar.
  *
  * Create Date : 17-Feb-2010
  */
 @SuppressWarnings(serial)
 @Entity
 public class Employee implements Serializable{

 @Id
 @GeneratedValue(strategy=GenerationType.IDENTITY)
 private Key emp_id;

 private String emp_name;

 private String emp_sal;

 @ManyToOne(cascade = CascadeType.ALL)
 private Department department;


 public Key getEmp_id() {
 return emp_id;
 }


 public void setEmp_id(Key emp_id) {
 this.emp_id = emp_id;
 }


 public String getEmp_name() {
 return emp_name;
 }


 public void setEmp_name(String emp_name) {
 this.emp_name = emp_name;
 }


 public String getEmp_sal() {
 return emp_sal;
 }


 public void setEmp_sal(String emp_sal) {
 this.emp_sal = emp_sal;
 }


 public Department getDepartment() {
 return department;
 }


 public void setDepartment(Department department) {
 this.department = department;

 }




 }


  --
 You received this message because you are subscribed to the Google Groups
 Google App Engine for Java group.
 To post to this group, send email to
 google-appengine-j...@googlegroups.com.
 To unsubscribe from this group, send email to
 google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com
 .
 For more options, visit this group at
 http://groups.google.com/group/google-appengine-java?hl=en.


-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-j...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.



Re: [appengine-java] Null Pointer Exception at the time of transaction commit.

2010-02-17 Thread Sushama Khadilkar
Thanks Again Stephan Hartmann,But can u tell me one thing ,

  cant we use List or Set or something else for the return type of the
addEmp() method. because while using SetEmployee as a return type in Async
 in greeting Service i m gettin a error. so plz can u tell it me. Plz
Plz.

The output is::



Compiling module com.employeedepartmentgae.Employeedepartmentgae
   Refreshing module from source
  Validating newly compiled units
 Removing units with errors
[ERROR] Errors in
'file:/home/wissen18/employeedepartmentgae/src/com/employeedepartmentgae/client/GreetingServiceAsync.java'
   [ERROR] Line 6: The import
com.employeedepartmentgae.server.domainobject.Employee cannot be resolved
   [ERROR] Line 18: Employee cannot be resolved to a type
[ERROR] Errors in
'file:/home/wissen18/employeedepartmentgae/src/com/employeedepartmentgae/client/GreetingService.java'
   [ERROR] Line 6: The import
com.employeedepartmentgae.server.domainobject.Employee cannot be resolved
   [ERROR] Line 20: Employee cannot be resolved to a type
[ERROR] Errors in
'file:/home/wissen18/employeedepartmentgae/src/com/employeedepartmentgae/client/EmployeeWidget.java'
   [ERROR] Line 12: The import
com.employeedepartmentgae.server.domainobject.Employee cannot be resolved
   [ERROR] Line 75: The method addEmp(String, String, String,
AsyncCallbackSetEmployee) from the type GreetingServiceAsync refers to
the missing type Employee
   [ERROR] Line 75: The type new
AsyncCallbackSetEmployee(){} must implement the inherited abstract
method AsyncCallbackSetEmployee.onSuccess(SetEmployee)
   [ERROR] Line 75: Employee cannot be resolved to a type
   [ERROR] Line 94: The method onSuccess(SetEmployee) of type
new AsyncCallbackSetEmployee(){} must override or implement a supertype
method
   [ERROR] Line 94: Employee cannot be resolved to a type
   [ERROR] Line 96: Employee cannot be resolved to a type
   [ERROR] Line 96: Employee cannot be resolved to a type
   [ERROR] Line 98: Employee cannot be resolved to a type
 Removing invalidated units
[WARN] Compilation unit
'file:/home/wissen18/employeedepartmentgae/src/com/employeedepartmentgae/client/Employeedepartmentgae.java'
is removed due to invalid reference(s):
   [WARN]
file:/home/wissen18/employeedepartmentgae/src/com/employeedepartmentgae/client/EmployeeWidget.java
[WARN] Compilation unit
'file:/home/wissen18/employeedepartmentgae/src/com/employeedepartmentgae/client/DepartmentWidget.java'
is removed due to invalid reference(s):
   [WARN]
file:/home/wissen18/employeedepartmentgae/src/com/employeedepartmentgae/client/GreetingService.java
   [WARN]
file:/home/wissen18/employeedepartmentgae/src/com/employeedepartmentgae/client/GreetingServiceAsync.java
   Computing all possible rebind results for
'com.employeedepartmentgae.client.Employeedepartmentgae'
  Rebinding com.employeedepartmentgae.client.Employeedepartmentgae
 Checking rule generate-with
class='com.google.gwt.user.rebind.ui.ImageBundleGenerator'/
[ERROR] Unable to find type
'com.employeedepartmentgae.client.Employeedepartmentgae'
   [ERROR] Hint: Previous compiler errors may have made this
type unavailable
   [ERROR] Hint: Check the inheritance chain from your module;
it may not be inheriting a required module or a module may not be adding its
source path entries properly

-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-j...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.