BigDecimal is not emulated in GWT and thus cannot be compiled to javascript.
Have a look at what is available to you: http://code.google.com/webtoolkit/doc/1.6/RefJreEmulation.html -jason On Jul 28, 2009, at 11:55 PM, akshi wrote: > > Hi Folks, > > I am using GWT as a beginner and at the time of using > java.math.BigDecimal it gives me exception. > > Compiling module com.techjini.app.SwordFish > Refreshing module from source > Validating newly compiled units > Removing units with errors > [ERROR] Errors in 'file:/D:/dev/GWT/gwt_workspace/ > SwordFish/src/com/techjini/app/client/InvoiceService.java' > [ERROR] Line 3: The import java.math cannot be resolved > [ERROR] Line 13: BigDecimal cannot be resolved to a > type > Removing units with errors > [ERROR] Errors in 'file:/D:/dev/GWT/gwt_workspace/ > SwordFish/src/com/techjini/app/client/invoice/CreateInvoice.java' > [ERROR] Line 341: No source code is available for type > java.math.BigDecimal; did you forget to inherit a required module? > [ERROR] Errors in 'file:/D:/dev/GWT/gwt_workspace/ > SwordFish/src/com/techjini/app/client/InvoiceServiceAsync.java' > [ERROR] Line 10: No source code is available for type > java.math.BigDecimal; did you forget to inherit a required module? > Removing invalidated units > [WARN] Compilation unit 'file:/D:/dev/GWT/gwt_workspace/ > SwordFish/src/com/techjini/app/client/invoice/InvoiceScreen.java' is > removed due to invalid reference(s): > [WARN] file:/D:/dev/GWT/gwt_workspace/SwordFish/src/com/ > techjini/app/client/invoice/CreateInvoice.java > [WARN] Compilation unit 'file:/D:/dev/GWT/gwt_workspace/ > SwordFish/src/com/techjini/app/client/SwordFish.java' is removed due > to invalid reference(s): > [WARN] file:/D:/dev/GWT/gwt_workspace/SwordFish/src/com/ > techjini/app/client/invoice/InvoiceScreen.java > Computing all possible rebind results for > 'com.techjini.app.client.SwordFish' > Rebinding com.techjini.app.client.SwordFish > Checking rule <generate-with > class='com.google.gwt.user.rebind.ui.ImageBundleGenerator'/> > [ERROR] Unable to find type > 'com.techjini.app.client.SwordFish' > [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 > > > Following is the code : > > Model class : > import java.math.BigDecimal; > import java.util.Date; > > import javax.jdo.annotations.IdGeneratorStrategy; > import javax.jdo.annotations.IdentityType; > import javax.jdo.annotations.PersistenceCapable; > import javax.jdo.annotations.Persistent; > import javax.jdo.annotations.PrimaryKey; > > import com.google.appengine.api.datastore.Blob; > import com.techjini.app.server.util.DateUtil; > > @PersistenceCapable(identityType=IdentityType.APPLICATION) > public class Invoice { > > public static final Short ACTIVE_STATUS = 1; > public static final Short INACTIVE_STATUS = 2; > > > @PrimaryKey > @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY) > private Long invoiceId; > @Persistent > private ClientCustomer clientCustomer; > @Persistent > private InvoiceTemplate invoiceTemplate; > @Persistent > private InvoiceSetting invoiceSetting; > @Persistent > private Date dueDate; > @Persistent > private Date invoiceDate; > @Persistent > private BigDecimal amount; > @Persistent > private Short InvoiceStatus; > @Persistent > private Blob invoiceContent; > @Persistent > private Date createdAt; > @Persistent > private Long createdBy; > @Persistent > private Date lastUpdatedAt; > @Persistent > private Long lastUpdatedBy; > @Persistent > private boolean isDeleted; > @Persistent > private Integer version; > > public Invoice(Long clientCustomerId, Date dueDate, > Date invoiceDate, BigDecimal amount, Short > invoiceStatus) { > this.amount = amount; > this.createdAt = DateUtil.getCurrentDate(); > this.dueDate = dueDate; > this.invoiceDate = invoiceDate; > this.lastUpdatedAt = DateUtil.getCurrentDate(); > this.InvoiceStatus = invoiceStatus; > } > // and getter setter of the fields > } > > > Interface : > > import java.math.BigDecimal; > import java.util.Date; > > import com.google.gwt.user.client.rpc.RemoteService; > import com.google.gwt.user.client.rpc.RemoteServiceRelativePath; > > > @RemoteServiceRelativePath("createInvoice") > public interface InvoiceService extends RemoteService { > String createInvoice(String invoiceNo, Long clientCustomerId, Date > dueDate, Date invoiceDate, BigDecimal amount ) throws Throwable; > } > > > import java.math.BigDecimal; > import java.util.Date; > > import com.google.gwt.user.client.rpc.AsyncCallback; > > > public interface InvoiceServiceAsync { > String createInvoice(String invoiceNo, Long clientCustomerId, Date > dueDate, Date invoiceDate, BigDecimal amount, AsyncCallback<String> > callback); > } > > > Action > > import java.math.BigDecimal; > import java.util.Date; > > import javax.jdo.PersistenceManager; > > import com.google.gwt.user.server.rpc.RemoteServiceServlet; > import com.techjini.app.client.InvoiceService; > import com.techjini.app.persistance.PMF; > import com.techjini.app.server.pojo.Invoice; > > > public class CreateInvoiceAction extends RemoteServiceServlet > implements InvoiceService { > > //private static transient Log LOG = LogFactory.getLog > (CreateInvoiceAction.class); > Invoice invoice; > > @Override > public String createInvoice(String invoiceNo, Long clientCustomerId, > Date dueDate, Date invoiceDate, BigDecimal amount) throws Throwable { > > PersistenceManager pm = PMF.get().getPersistenceManager(); > > invoice = new Invoice(clientCustomerId, dueDate, invoiceDate, > amount, Invoice.ACTIVE_STATUS); > > > try { > pm.makePersistent(invoice); > } catch (Exception ex) { > ex.printStackTrace(); > > throw new Throwable( "Sorry due to " + ex + " invoice could > not created" ); > } > finally { > pm.close(); > } > return "Successfully created invoice"; > } > > } > > > Client side code > > public class CreateInvoice { > > //private static transient Log LOG = LogFactory.getLog > (CreateInvoice.class); > /** > * Create a remote service proxy to talk to the server-side Invoice > service. > */ > private final InvoiceServiceAsync invoiceService = GWT > .create(InvoiceService.class); > ......................... > ....................... > private void sendInvoiceDetailToServer() { > > //Invoice invoice = new Invoice(); > //invoice.setInvoiceStatus(invoice.ACTIVE_STATUS); > invoiceService.createInvoice(invoiceNo.getText(), new > Long > (customerList.getSelectedIndex()), dueDate.getValue(), > invoiceDate.getValue() > , new BigDecimal(amount.getText()), new > AsyncCallback<String>() { > public void onFailure(Throwable > caught) { > // Show the RPC error > message to the user > try { > > System.out.println("Remote Procedure Call - Failure"); > } catch (Exception e) { > > System.out.println(e.getMessage()); > } > } > > @Override > public void onSuccess(String > result) { > > System.out.println("Remote Procedure Call"); > > System.out.println("Remote"); > } > }); > } > > ...................... > > } > > Can you please help me if I have to add anything to the module gwt.xml > class. > > Looking forward for help! > > Thanks in advance. > > Akshi > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/Google-Web-Toolkit?hl=en -~----------~----~----~----~------~----~------~--~---
