[appengine-java] Re: java.lang.NoSuchMethodError: com.googlecode.objectify.Objectify.delete([Ljava/lang/Object;)V

2011-01-02 Thread Didier Durand
Hi,

This is very probably a question related to Objectfify that is a
package independent, i.e 3rd party, of App Engine. You should ask it
there http://groups.google.com/group/objectify-appengine.

Question though: do you have a no-arg constructor in your class source
code ? It's required.

regards

didier

On Jan 1, 10:20 pm, Ueli Niggli ueli.nig...@gmail.com wrote:
 Hello everyone

 I added some propertys to a class which I use to store objects in a
 datastore. Now I am getting the above error message when I try to delete a
 object from the datastore. Of course I tried emptying the datastore because
 of the changed class but that didnßt help. I didn´t change anything in the
 function where the error is thrown:

     @Override
     public myClass removeMyClass(myClass objectMyClass) {
         Objectify ofy = ObjectifyService.begin();
         ofy.delete(objectMyClass);
         return objectMyClass;
     }

 I am only making some changes to this application which was written by some
 other guys, so I am pretty helpless at the moment...

 Thanks for any help.

-- 
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.



[appengine-java] Re: How to identify cause of this error?

2011-01-02 Thread Didier Durand
Hi,

The cause of your issue is defined by the line Caused by:
javax.jdo.JDOException: Error creating the MetaDataManager for  API
JDO

When you start googling this, you find quite a lot of issues related
to JDO implementation itself: maybe you face one of those bugs.

JDO in GAE is based on Datanucleus open source package: further dev of
this package is currently under scrutiny by Google. See
http://groups.google.com/group/google-appengine-java/browse_thread/thread/defc6d14445318b8/75a1e7b5bcbc1bb3#75a1e7b5bcbc1bb3
(especially messages by Ikai Lan from Google)

So, maybe it is good time for you to see what 3rd party packages like
Objectify and others you can use to replace JDO.

regards

didier

On Jan 1, 8:13 pm, Tadas ?ubonis tadas.subo...@gmail.com wrote:
 I am getting this error (stacktrace). getMessage() returns null from
 exception... How should I identify where problem lies?
 I am getting this error when trying to save object with makePersistent.
 Googled a lot and still no clues... :/

 java.lang.reflect.InvocationTargetException
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(
 NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(
 DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at com.google.appengine.tools.development.agent.runtime.Runtime.
 invoke(Runtime.java:100)
         at com.dblog.server.core.FrontController._handle(FrontController.
 java:73)
         at com.dblog.server.core.FrontController.doPost(FrontController.java
 :33)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
         at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java
 :511)
         at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(
 ServletHandler.java:1166)
         at com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(
 ServeBlobFilter.java:58)
         at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(
 ServletHandler.java:1157)
         at com.google.apphosting.utils.servlet.TransactionCleanupFilter.
 doFilter(TransactionCleanupFilter.java:
 43)
         at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(
 ServletHandler.java:1157)
         at com.google.appengine.tools.development.StaticFileFilter.doFilter(
 StaticFileFilter.java:122)
         at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(
 ServletHandler.java:1157)
         at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.
 java:388)
         at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler
 .java:216)
         at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.
 java:182)
         at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.
 java:765)
         at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:
 418)
         at com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.
 handle(DevAppEngineWebAppContext.java:70
 )
         at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.
 java:152)
         at com.google.appengine.tools.development.
 JettyContainerService$ApiProxyHandler.handle(JettyContainerService.java:349)
         at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.
 java:152)
         at org.mortbay.jetty.Server.handle(Server.java:326)
         at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.
 java:542)
         at org.mortbay.jetty.HttpConnection$RequestHandler.content(
 HttpConnection.java:938)
         at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755)
         at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
         at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
         at org.mortbay.io.nio.SelectChannelEndPoint.run(
 SelectChannelEndPoint.java:409)
         at org.mortbay.thread.QueuedThreadPool$PoolThread.run(
 QueuedThreadPool.java:582)
 Caused by: javax.jdo.JDOException: Error creating the MetaDataManager for
  API JDO :
 NestedThrowables:
 java.lang.reflect.InvocationTargetException
         at org.datanucleus.jdo.NucleusJDOHelper.
 getJDOExceptionForNucleusException(NucleusJDOHelper.java:419)
         at org.datanucleus.jdo.JDOPersistenceManager.jdoMakePersistent(
 JDOPersistenceManager.java:674)
         at org.datanucleus.jdo.JDOPersistenceManager.makePersistent(
 JDOPersistenceManager.java:694)
         at com.dblog.server.blog.Controller.newAction(Controller.java:75)
         ... 34 more
 Caused by: java.lang.reflect.InvocationTargetException
         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
 Method)
         at sun.reflect.NativeConstructorAccessorImpl.newInstance(
 NativeConstructorAccessorImpl.java:39)
         at 

[appengine-java] Re: Sharing datastore persisted objects (table) across applications

2011-01-02 Thread Didier Durand
Hi,

My understaning of Datastore based on Google BigTables is that you
can't share objects in 2 different apps (i.e using different id)
because the app id is part of the key of the entity. BigTable,
Datastore and GAD enforce a strong sandboxing based on this id.

The app id in the key is described here:
http://code.google.com/appengine/articles/storage_breakdown.html#anc-tables

So, to share unique copy of same data, you have develop some inter-app
communication via servlets called by 1 application into the other

regards

didier

On Jan 1, 1:55 pm, dreamer venugopal.vasire...@gmail.com wrote:
 Hi,

 Not sure if possible to share datastore objects across application,
 single reporting application for several customer applications,
 assuming reporting app know complete keys.

-- 
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.



[appengine-java] Re: Question About Loading HTML into a Frame

2011-01-02 Thread Didier Durand
Hi,

Is you Summary.html properly defined as a static file ? See how-to in
http://code.google.com/appengine/docs/java/config/appconfig.html#Static_Files_and_Resource_Files.

If not defined directly (or via a containing directory), GAE won't be
able to serve it to your application. Hence the 404.

regards

didier

On Jan 1, 5:33 pm, Eric Atkinson atki4...@gmail.com wrote:
 The App Engine Manual says that any file I put in the WAR (or
 subdirectory) is automatically known to the app, so why, when I use
 the following code...

 Frame frame = new Frame(/StrategicInternationalSystems/war/WEB-INF/
 pages/Summary.html);
                 dockLayoutPanel.add(frame);

 ...does it tell me:

 HTTP ERROR 404

 Problem accessing /StrategicInternationalSystems/war/WEB-INF/pages/
 Summary.html. Reason:

     NOT_FOUND

 I think it has something to do with the fact that I started coding the
 app (using a new project) using GWT Designer. Why? Because when it was
 just App Engine and the GWT Toolkit before, it executed this code
 fine.

 I'm at my wit's end; please help understand why this code no longer
 works because of using GWT Designer (I think).

-- 
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.



[appengine-java] Re: java.lang.NoSuchMethodError: com.googlecode.objectify.Objectify.delete([Ljava/lang/Object;)V

2011-01-02 Thread Ueli Niggli
Hello Didier

thank you for your reply, I will ask the question in your mentioned group.

I do have a non-arg constructor, yes.

Greetz Ueli

-- 
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.



[appengine-java] Check existence: datastoreservice.get(key) or __key__ property query(keys-only) or ancestor query(keys-only)?

2011-01-02 Thread ss.require
Let's suppose I need to check by a key if the specified entity exists
in the datastore. What is the most proper way to achieve that?I have
the next ways:

1) datastoreservice.get(key).
2) execute keys-only query with the __key__ property: new
Query(Kind).addFilter(Entity.KEY_RESERVED_PROPERTY,
FilterOperator.EQUAL, key).setKeysOnly()
3) execute keys-only query with the ancestor key: new
Query(Kind).setAncestor(key).setKeysOnly()

I think that 2) or 3) is more efficient than 1) because we don't need
to deserialize the whole entity from the datastore, just get only
keys. But I don't have any suggestions about: 2) or 3) is more
efficient?



-- 
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.



[appengine-java] Re: Check existence: datastoreservice.get(key) or __key__ property query(keys-only) or ancestor query(keys-only)?

2011-01-02 Thread Didier Durand
Hi,

You're right about 2): more efficient because only key is accessed: i/
o limited to index rather than index + table when you fetch the entire
entity. So more disk i/o and more bytes to transfer between the
datastore server and the server of your jvm.

About 3): 2 important points come to mind: (a) using ancestor key
means that you know how your entities are grouped in the datastore for
transactional purposes: i.e you need to know the parent for each
entity key you want to check  and (b) according to this grouping, get
on 1 ancestor key may return more than 1 child entity and then you may
lose the performance optimization that you are looking for.

regards

didier

On Jan 2, 11:16 am, ss.require ss.requ...@gmail.com wrote:
 Let's suppose I need to check by a key if the specified entity exists
 in the datastore. What is the most proper way to achieve that?I have
 the next ways:

 1) datastoreservice.get(key).
 2) execute keys-only query with the __key__ property: new
 Query(Kind).addFilter(Entity.KEY_RESERVED_PROPERTY,
 FilterOperator.EQUAL, key).setKeysOnly()
 3) execute keys-only query with the ancestor key: new
 Query(Kind).setAncestor(key).setKeysOnly()

 I think that 2) or 3) is more efficient than 1) because we don't need
 to deserialize the whole entity from the datastore, just get only
 keys. But I don't have any suggestions about: 2) or 3) is more
 efficient?

-- 
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.



[appengine-java] Re: Check existence: datastoreservice.get(key) or __key__ property query(keys-only) or ancestor query(keys-only)?

2011-01-02 Thread ss.require
 You're right about 2): more efficient because only key is accessed: i/
 o limited to index rather than index + table when you fetch the entire
 entity. So more disk i/o and more bytes to transfer between the
 datastore server and the server of your jvm.

OK

 About 3): 2 important points come to mind: (a) using ancestor key
 means that you know how your entities are grouped in the datastore for
 transactional purposes: i.e you need to know the parent for each
 entity key you want to check  

But I also need to know the parent key for '2)' way. What is the
difference?

and (b) according to this grouping, get
 on 1 ancestor key may return more than 1 child entity and then you may
 lose the performance optimization that you are looking for.

When I call setAncestor() I pass the complete key: all parents keys +
the entity key. So query can't return more than 1 entity.

So I don't see the benefit from '2)' way accoring to your reply.

-- 
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.



[appengine-java] Arabic support under Google App Engine for Java

2011-01-02 Thread AD
I am now stepping my first steps in Google App Engine world  I have
Arabic language  RTL support as a MUST requirements? Is there a
sample code that covers this? Pls help.

-- 
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.



[appengine-java] duplicate PersistenceManagerFactory exception. Spring transactions management

2011-01-02 Thread aka1g
Hi!
I'm new to GAE and had quite a lot of issues that I solved, but stuck with 
this one.
The app deploys/runs fine locally, but fails to run on the server.

ERROR org.springframework.web.context.ContextLoader  - Context initialization 
failed
org.springframework.beans.factory.BeanCreationException: Error creating bean 
with name 'springpmf' defined in ServletContext resource [/WEB-INF/beans.xml]: 
Invocation of init method failed; nested exception is 
javax.jdo.JDOFatalUserException: Application code attempted to create a 
PersistenceManagerFactory named keepeye, but one with this name already exists! 
 Instances of PersistenceManagerFactory are extremely slow to create and it is 
usually not necessary to create one with a given name more than once.  Instead, 
create a singleton and share it throughout your code.  If you really do need to 
create a duplicate PersistenceManagerFactory (such as for a unittest suite), 
set the appengine.orm.disable.duplicate.pmf.exception system property to avoid 
this error.

But the PMF is created just once (see below conf) by spring and injected 
into my dao. All the beans are singletons.
I have the following spring config:
!-- JDO PMF config --
bean id=springpmf 
class=org.springframework.orm.jdo.LocalPersistenceManagerFactoryBean
property name=persistenceManagerFactoryName value=keepeye /
/bean

bean id=pmfproxy 
class=org.springframework.orm.jdo.TransactionAwarePersistenceManagerFactoryProxy
property name=targetPersistenceManagerFactory ref=springpmf /
property name=allowCreate value=false /
/bean

bean id=transactionManager 
class=org.springframework.orm.jdo.JdoTransactionManager
property name=persistenceManagerFactory 
ref=pmfproxy/property
/bean
bean id=dao class=wowpop.service.DAO
property name=pmf ref=pmfproxy/property
/bean
Plz suggest something:)
The dao
public class DAO {
//private static final PersistenceManagerFactory PMF = 
JDOHelper.getPersistenceManagerFactory(keepeye);
private PersistenceManagerFactory pmf;

public void save(Object obj) {
PersistenceManager pm = pmf.getPersistenceManager();
pm.makePersistent(obj);
//pm.close();
}

/**
 * @return list of ServerStats that fit the dates range
 */
public ListServerStats findInDateRange(long from, long to) {
PersistenceManager pm = pmf.getPersistenceManager();
System.out.println(got manager);
Query q = pm.newQuery(ServerStats.class, time=:from  time 
=:to);
ListServerStats result = (ListServerStats) q.execute(from, to);
//pm.close();
return result;
}

/**
 * @param pmf the pmf to set
 */
public void setPmf(PersistenceManagerFactory pmf) {
this.pmf = pmf;
}

}

-- 
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.



[appengine-java] Re: Check existence: datastoreservice.get(key) or __key__ property query(keys-only) or ancestor query(keys-only)?

2011-01-02 Thread Didier Durand
Hi,


The difference is: in 3) you give the key of the ancestor and the ds
will return you the keys of the entities having this ancestor
(potentially more than 1 one) and in 2) you give the key of the entity
that you want to check itself.

in 2) you can get the key from somewhere without having to know if
this key contains the key of an ancestor (defining an entity group) or
not. In  3), you must have a better understanding of the underlying
app.

regards

didier

On Jan 2, 11:47 am, ss.require ss.requ...@gmail.com wrote:
  You're right about 2): more efficient because only key is accessed: i/
  o limited to index rather than index + table when you fetch the entire
  entity. So more disk i/o and more bytes to transfer between the
  datastore server and the server of your jvm.

 OK

  About 3): 2 important points come to mind: (a) using ancestor key
  means that you know how your entities are grouped in the datastore for
  transactional purposes: i.e you need to know the parent for each
  entity key you want to check  

 But I also need to know the parent key for '2)' way. What is the
 difference?

 and (b) according to this grouping, get
  on 1 ancestor key may return more than 1 child entity and then you may
  lose the performance optimization that you are looking for.

 When I call setAncestor() I pass the complete key: all parents keys +
 the entity key. So query can't return more than 1 entity.

 So I don't see the benefit from '2)' way accoring to your reply.

-- 
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.



[appengine-java] Re: Arabic support under Google App Engine for Java

2011-01-02 Thread Didier Durand
Hi,

Some interesting how-to post in App Engine for Python forum:
http://groups.google.com/group/google-appengine/browse_thread/thread/4dd9e2d2b7213311.

You can probably easily adapt that to the Java context.

With its UTF encoding, Java can support all alphabets. Isn't your
question more a front-end question rather than a back-end one ? What
is you choice for front-end: Google Web Toolkit ? other ?

please, detail your question if possible.

regards

didier

On Jan 2, 11:50 am, AD amrdarwish1...@gmail.com wrote:
 I am now stepping my first steps in Google App Engine world  I have
 Arabic language  RTL support as a MUST requirements? Is there a
 sample code that covers this? Pls help.

-- 
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.



[appengine-java] Re: How to completely erase the datastore of an app

2011-01-02 Thread meyertee
You can use the Datastore Admin tool available to Python apps that came with 
App Engine 1.3.8 to delete data more easily:
http://googleappengine.blogspot.com/2010/10/new-app-engine-sdk-138-includes-new.html
(under Delete all (or a part) of your application’s data)

As it says in the blog post you can use it for Java apps, too. I created a 
simple Python application version as version number 1, then uploaded the 
actual Java app as version 2 and set that as the default version. Works 
great.

If you're new to Python like I am there's a little how-to for Java-devs 
here:
https://groups.google.com/d/topic/google-appengine-java/aRLhRzADuF4/discussion

Once you've done that, you can use the command line utility to remove all 
unused indexes:
appcfg.py vacuum_indexes app-root/

More options are described here:
http://code.google.com/appengine/docs/python/tools/uploadinganapp.html

-- 
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.



[appengine-java] Re: Check existence: datastoreservice.get(key) or __key__ property query(keys-only) or ancestor query(keys-only)?

2011-01-02 Thread ss.require
I've got your idea.
The '2)' way is more flexible, because using '3)' we should guarantee
that the key is complete and the key is not an ancestor for other
entities(extra constraints for the app).
So now I'm agreed with you that '2)' way is a choice.

Thanks, very much!



-- 
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.



[appengine-java] JDO - I can't update an object with One-to-One Relationships

2011-01-02 Thread yoyo
Hello everyone.

I've an issue : I can't update a pojo object.

I have two classes : A user and a location.
A user HAS A location.

My servlet do this :
1) create a user without a location, make it persist
2) retrieve a user, set the location (for the first time), make it persist
3) retrieve a user, set a new location, make it persist
4) retrieve a user, show if the position has been updated

My issue :
On step 4), I see the location initialized the first time. My new position 
is never saved.

More strange, I can see pojo location objects in the DataStore Viewer (
http://localhost:/_ah/admin/datastore)

If someone know how to fix it, I'll be grateful.

~Yoann~

Complete source code are in the attached files.
A more simple source :

Pojos:

@PersistenceCapable
public class POJOUser {

/** Primary key */
@PrimaryKey
@Persistent
private String key = null;

/** Username */
@Persistent
private String username = null;

/** Password */
@Persistent
private String password = null;

/** The last location of the user */
@Persistent
private POJOLocation lastLocation = null;

}

@PersistenceCapable
public class POJOLocation implements Location {

/** Primary key */
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private Key key = null;

/** X */
@Persistent
private Double x = null;

/** Y */
@Persistent
private Double y = null;

}

PMF :

public class DataAccessLayerForGoogleAppEngine implements DataAccessLayer {

/** Persistence Manager */
private PersistenceManagerFactory PMF = JDOHelper
.getPersistenceManagerFactory(transactions-optional);

@Override
public void updateUserLocation(String username, Location newLocation) {
 PersistenceManager pm = PMF.getPersistenceManager();
try {

// Get the user
POJOUser user = pm.getObjectById(POJOUser.class, username);
if (user != null) {
// Update the location
user.setLastLocation(new POJOLocation(newLocation));
}

} catch (JDOObjectNotFoundException ex) {

} finally {
pm.close();
}
}
...
}

-- 
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.

package lan.polichouz.tracer.server.impl;

import java.util.List;

import javax.jdo.JDOHelper;
import javax.jdo.JDOObjectNotFoundException;
import javax.jdo.PersistenceManager;
import javax.jdo.PersistenceManagerFactory;
import javax.jdo.Query;

import lan.polichouz.tracer.server.DataAccessLayer;
import lan.polichouz.tracer.server.Location;
import lan.polichouz.tracer.server.impl.pojo.POJOLocation;
import lan.polichouz.tracer.server.impl.pojo.POJOUser;

/**
 * Implementation of a Data Access Layer using Google AppEngine framework.
 * 
 * @author yoyo
 */
public class DataAccessLayerForGoogleAppEngine implements DataAccessLayer {

// TODO user and admin name MUST be unique (primary key).

/** Persistence Manager */
private PersistenceManagerFactory PMF = JDOHelper
	.getPersistenceManagerFactory(transactions-optional);

@Override
public String getUsernamePassword(String username) {

	String realPassword = null;

	PersistenceManager pm = PMF.getPersistenceManager();
	try {

	// Get the user
	POJOUser user = pm.getObjectById(POJOUser.class, username);
	if (user != null) {
		realPassword = user.getPassword();
	}
	
	} catch (JDOObjectNotFoundException ex) {
	ex.printStackTrace();

	} finally {
	pm.close();
	}

	return realPassword;
}

@Override
public String getAdminPassword(String adminName) {

	String realPassword = null;

	PersistenceManager pm = PMF.getPersistenceManager();
	try {

	// Get the user
	POJOUser user = pm.getObjectById(POJOUser.class, adminName);
	if (user != null) {
		// Get the password
		realPassword = user.getPassword();
	}
	
	} catch (JDOObjectNotFoundException ex) {

	} finally {
	pm.close();
	}

	return realPassword;
}

@Override
public void updateUserLocation(String username, Location newLocation) {
	
	PersistenceManager pm = PMF.getPersistenceManager();
	try {

	// Get the user
	POJOUser user = pm.getObjectById(POJOUser.class, username);
	if (user != null) {
		// Update the location
		user.setLastLocation(new POJOLocation(newLocation)); //XXX not saved
	}
	
	} catch (JDOObjectNotFoundException ex) {

	} finally {
	pm.close();
	}
}

@Override
public Location getUserLocation(String username) {

	Location location = null;

	PersistenceManager pm = PMF.getPersistenceManager();
	try {

	// Get the user
	POJOUser user = pm.getObjectById(POJOUser.class, username);
	if 

[appengine-java] Re: Prevent filesystem writes in development mode?

2011-01-02 Thread Tobias
Upon further investigation, it seems that none of the sandbox restrictions 
are applied in local development mode. I can even create threads in my 
servlets when running them locally. Is that normal?

I tried it on two separate machines, one running Windows, the other one 
running Linux, using the Google Plugin for Eclipse and AppEngine 1.4.0. I 
created the HelloWorld-Project and added various file writes and threads to 
GreetingServiceImpl.java. I run it with the default arguments using Debug 
as Web-Application. Can someone confirm if that's the normal behaviour, or 
if something is wrong with my setups? If it's normal, how do you verify that 
your code is not doing something that will fail on the actual AppEngine 
servers?

Thanks,
Tobias

-- 
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.



[appengine-java] transacions, JDO and spring

2011-01-02 Thread aka1g
Hi, I'm trying to write a sample app with spring and JDO.
From what I've read, I've written the following config
bean id=springpmf 
class=org.springframework.orm.jdo.LocalPersistenceManagerFactoryBean
property name=persistenceManagerFactoryName value=keepeye /
/bean
  tx:annotation-driven /
bean id=pmfproxy 
class=org.springframework.orm.jdo.TransactionAwarePersistenceManagerFactoryProxy
property name=targetPersistenceManagerFactory ref=springpmf /
property name=allowCreate value=false /
/bean

bean id=transactionManager 
class=org.springframework.orm.jdo.JdoTransactionManager
property name=persistenceManagerFactory 
ref=pmfproxy/property
/bean
bean id=dao class=wowpop.service.DAO
property name=pmf ref=pmfproxy/property
/bean
Now when run the app throws an exception

rg.springframework.transaction.CannotCreateTransactionException: 
Could not open JDO PersistenceManager for transaction; nested exception is 
java.lang.IllegalStateException: 
No JDO PersistenceManager bound to thread, and configuration does not allow 
creation of non-transactional one here

Can someone help?

-- 
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.



[appengine-java] Re: Prevent filesystem writes in development mode?

2011-01-02 Thread Tobias
I have to correct myself on the HelloWorld-Project. It does throw an 
exception as expected, I think I had some mistake in my test case the first 
time I tried. However, I think i located the problem now:

The sandbox restrictions don't seem to apply while Guice initializes itself 
and any servlets. If I have my servlets controlled by Guice and put code 
that should normally throw an AccessControlException inside the guice 
module's configureServlets() method, or within any of my servlets' 
init()-method, it is executed fine. If I bind the servlet using web.xml, the 
same init() method throws an exception.

Inside the doPost or doGet-methods of the servlets, the test code always 
throws an AccessControlException, regardless of the servlet being set up by 
Guice or web.xml.

I think the Guice module code (and the configured servlet's init()-methods) 
are executed within the scope of a ServletContextListener, and somehow the 
sandbox restrictions are not applied there?

Here's the code I used to check for exceptions - it should normally fail 
within the AppEngine sandbox:

new Thread() {
{
run();
}
};
File f;
try {
f = File.createTempFile(foo, tmp);
f.createNewFile();
f.delete();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

Should I open a bug report for this? Is it a Guice or an AppEngine-problem? 
I can provide my test-case project if needed.

Regards,
Tobias

-- 
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: [objectify-appengine] Re: [appengine-java] Re: persistent and scalable global atomic counter: not possible with GAE?

2011-01-02 Thread Jeff Schnitzer
Upon deeper consideration, whether or not Monotonic currently could
produce dups depends on the exact behavior of:

MemcacheService.increment(java.lang.Object key, long delta,
java.lang.Long initialValue)

Unfortunately the documentation is ambiguous about what the return
value will be when MemcacheService is down.  Does it return null or
does it return initialValue?

If it returns null like the non-initial-value version (which is what
the code currently assumes), the current Monotonic code is safe and
won't produce duplicates.  It will throw an IllegalStateException.

If this method returns initialValue, it's still pretty easy to change
the logic to guarantee IllegalStateException instead.

Goog, any clarification of what MemcacheService.increment() does?

Jeff

On Sun, Jan 2, 2011 at 6:27 AM, Jeff Schwartz jefftschwa...@gmail.com wrote:
 It is safe. The montonic implementation expressly handled those cases where
 memcache is not available and throws an IllegalStateException. When memcache
 is not available you can be almost certain that the datastore isn't
 available as well so responding to these cases appropriately - such as
 redirecting a user to a page explaining that the datastore isn't currently
 available - will ensure that you maintain the integrity of the data.

 Jeff Schwartz




 On Sun, Jan 2, 2011 at 12:56 AM, aswath satrasala
 aswath.satras...@gmail.com wrote:

 Hi MG,
 I am currently using the following in my application.

 http://blog.appenginefan.com/2009/04/efficient-global-counters-revisited.html.
 It does not use Objectify

 But, I was planning to use the Objecify Monotic, so as to keep counter
 implementation simple and not worry about another library details.  Now,
 with your valid points, it is good discussion thread with Objectify team and
 find out what they think.

 -Aswath
 www.AccountingGuru.in

 On Sat, Jan 1, 2011 at 10:13 PM, MG michael.glas...@gmail.com wrote:

 Monotonic in Objectify, as defined here:


 http://code.google.com/p/objectify-appengine/source/browse/trunk/src/com/googlecode/objectify/helper/Monotonic.java?r=620

 is not 100% safe. For example:

 1. Memcache is off, lastMax is 100
 2. Memcache goes up for 1 sec, five requests get 101, 102, ... 105
 numbers for them
 3. Memcache goes off again for 1 sec; requests from #2 are still
 preparing data to insert in the related datastore model
 4. Memcache goes up, another five requests get 101, 102, ..., 105 numbers
 for them
 5. now we have duplicate numbers.

 MG

 On Saturday, January 1, 2011 11:08:50 AM UTC-5, aswath wrote:

 I was seeing your link.  You have used Objectify.  Objectify already
 provides Monotonic helper class.

 -Aswath
 www.accountingguru.in


 --
 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.




 --
 Jeff Schwartz



-- 
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: [objectify-appengine] Re: [appengine-java] Re: persistent and scalable global atomic counter: not possible with GAE?

2011-01-02 Thread Jeff Schnitzer
Ok, upon further further reflection, MG is right there is an
opportunity for failure, even if MemcacheService.increment() behaves
as expected.  Another description of the problem, with indentation to
distinguish the two threads:

Initial state, last value in db (and memcache) is 100
STARTING SAVE OF FIRST OBJ
value 101 obtained from memcache increment()
put() of first object with 101 begins (but not finished)
Memcache gets reset for whatever reason
 STARTING SAVE OF SECOND OBJ
 Querying for max value produces 100
 Memcache increment() with initial value produces 101
 put() of second object with 101 executes
put() of first object with 101 completes

At the end of this race you end up with duplicate objects with value of 101.

On the whole this seems pretty unlikely.  It's worth putting a note in
Monotonic's documentation, but even with a small risk of occasional
duplicates the tool works effectively enough for my needs
(synchronization of rapidly changing data with a slave pseudo-database
outside of GAE).

MG, I'm curious about how you're approaching the problem, because my
gut sense right now is that there isn't a scalable way to produce a
100% guaranteed monotonically increasing number given the tools
available in GAE.

Jeff

On Sun, Jan 2, 2011 at 8:36 AM, Jeff Schnitzer j...@infohazard.org wrote:
 Upon deeper consideration, whether or not Monotonic currently could
 produce dups depends on the exact behavior of:

 MemcacheService.increment(java.lang.Object key, long delta,
 java.lang.Long initialValue)

 Unfortunately the documentation is ambiguous about what the return
 value will be when MemcacheService is down.  Does it return null or
 does it return initialValue?

 If it returns null like the non-initial-value version (which is what
 the code currently assumes), the current Monotonic code is safe and
 won't produce duplicates.  It will throw an IllegalStateException.

 If this method returns initialValue, it's still pretty easy to change
 the logic to guarantee IllegalStateException instead.

 Goog, any clarification of what MemcacheService.increment() does?

 Jeff

 On Sun, Jan 2, 2011 at 6:27 AM, Jeff Schwartz jefftschwa...@gmail.com wrote:
 It is safe. The montonic implementation expressly handled those cases where
 memcache is not available and throws an IllegalStateException. When memcache
 is not available you can be almost certain that the datastore isn't
 available as well so responding to these cases appropriately - such as
 redirecting a user to a page explaining that the datastore isn't currently
 available - will ensure that you maintain the integrity of the data.

 Jeff Schwartz




 On Sun, Jan 2, 2011 at 12:56 AM, aswath satrasala
 aswath.satras...@gmail.com wrote:

 Hi MG,
 I am currently using the following in my application.

 http://blog.appenginefan.com/2009/04/efficient-global-counters-revisited.html.
 It does not use Objectify

 But, I was planning to use the Objecify Monotic, so as to keep counter
 implementation simple and not worry about another library details.  Now,
 with your valid points, it is good discussion thread with Objectify team and
 find out what they think.

 -Aswath
 www.AccountingGuru.in

 On Sat, Jan 1, 2011 at 10:13 PM, MG michael.glas...@gmail.com wrote:

 Monotonic in Objectify, as defined here:


 http://code.google.com/p/objectify-appengine/source/browse/trunk/src/com/googlecode/objectify/helper/Monotonic.java?r=620

 is not 100% safe. For example:

 1. Memcache is off, lastMax is 100
 2. Memcache goes up for 1 sec, five requests get 101, 102, ... 105
 numbers for them
 3. Memcache goes off again for 1 sec; requests from #2 are still
 preparing data to insert in the related datastore model
 4. Memcache goes up, another five requests get 101, 102, ..., 105 numbers
 for them
 5. now we have duplicate numbers.

 MG

 On Saturday, January 1, 2011 11:08:50 AM UTC-5, aswath wrote:

 I was seeing your link.  You have used Objectify.  Objectify already
 provides Monotonic helper class.

 -Aswath
 www.accountingguru.in


 --
 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.




 --
 Jeff Schwartz




-- 
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.



[appengine-java] Tutorial 1: Getting started with guit framework. 2:30 minutes video

2011-01-02 Thread Gal Dolber
http://www.youtube.com/watch?v=S_u7CkU_NnI

-- 
Guit: Elegant, beautiful, modular and *production ready* gwt applications.

http://code.google.com/p/guit/

-- 
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.



[appengine-java] Re: Lightweight Best performing MVC framework - Recommendation

2011-01-02 Thread systemsplanet
I've got http://www.stripesframework.org/
cold starting in under 2 secs
with http sessions enabled


On Dec 29, 9:08 am, Sree sreeju...@gmail.com wrote:
 Hello,

 I am new to Java and App Engine, and coming from ASP.NET C# and
 Windows Azure world. I am looking for a lightweight  best performing
 java based MVC framework.  I would like to migrate my ASP.NET MVC
 project to App Engine (Java).

 It would be great if you can share your experience.  I am open to
 Python as well, but learning Java is faster than Python, since I am
 good at C#.

 Thanks in Advance.

 Regards
 Sree

-- 
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.



[appengine-java] Nice Online XSLT Transformer Hosted in GAE

2011-01-02 Thread XSLT Master
Useful for tests when developing XSLT:

http://xslttest.appspot.com/

Developed with Java, GWT and Google Plugin for Eclipse. Hosted in GAE.

Cheers

-- 
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] Re: Lightweight Best performing MVC framework - Recommendation

2011-01-02 Thread Vinny
For the Groovy inclined, I've been having a lot of fun learning Gaelyk:
http://gaelyk.appspot.com/
--
biz: http://www.linkedin.com/in/vincentstoessel/
personal: http://www.xaymaca-studios.com/



On Thu, Dec 30, 2010 at 5:56 AM, Davi Nogueira davis...@gmail.com wrote:
 I like, VRaptor, http://vraptor.caelum.com.br/en/


 Icarus wrote:
 Stripes ?

 Thanks,
 Ic

 On Dec 30, 12:02 am, Ikai Lan (Google) ikai.l+gro...@google.com
 wrote:
  Um ... those are like the opposite of lightweight.
 
  Here are some I like:
 
  Play Framework: probably the most underrated Java framework I've ever 
  seehttp://www.playframework.org/
 
  Slim3: built for App Engine. Cons: kind of needs deep Eclipse 
  integrationhttp://sites.google.com/site/slim3appengine/
 
  There are more. I'll post in a bit. What are other frameworks everyone else
  here likes?
 
  --
  Ikai Lan
  Developer Programs Engineer, Google App Engine
  Blogger:http://googleappengine.blogspot.com
  Reddit:http://www.reddit.com/r/appengine
  Twitter:http://twitter.com/app_engineOn Wed, Dec 29, 2010 at 10:49 AM, 
  Nasif Noorudeen nas...@gmail.com wrote:
   spring  jsf
 
   On 12/29/10, Sree sreeju...@gmail.com wrote:
Hello,
 
I am new to Java and App Engine, and coming from ASP.NET C# and
Windows Azure world. I am looking for a lightweight  best performing
java based MVC framework.  I would like to migrate my ASP.NET MVC
project to App Engine (Java).
 
It would be great if you can share your experience.  I am open to
Python as well, but learning Java is faster than Python, since I am
good at C#.
 
Thanks in Advance.
 
Regards
Sree
 
--
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.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.



-- 
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.



[appengine-java] Re: Question About Loading HTML into a Frame

2011-01-02 Thread Eric Atkinson
Your question, although not the answer that worked, got me to thinking
about whether the html file itself was properly defined, because
before I used OpenOffice to create the html document and this time I
used Google Docs to create the html document, and that was the
problem. For whatever very strange reason, app engine won't load an
html page if I create on google docs and then download it into the
war. On the other hand, when I created the document again using
OpenOffice, it worked. Thank you for hinting at the definition of the
file itself even if this didn't turn out to be the problem.

On Jan 2, 3:50 am, Didier Durand durand.did...@gmail.com wrote:
 Hi,

 Is you Summary.html properly defined as a static file ? See how-to 
 inhttp://code.google.com/appengine/docs/java/config/appconfig.html#Stat

 If not defined directly (or via a containing directory), GAE won't be
 able to serve it to your application. Hence the 404.

 regards

 didier

 On Jan 1, 5:33 pm, Eric Atkinson atki4...@gmail.com wrote:







  The App Engine Manual says that any file I put in the WAR (or
  subdirectory) is automatically known to the app, so why, when I use
  the following code...

  Frame frame = new Frame(/StrategicInternationalSystems/war/WEB-INF/
  pages/Summary.html);
                  dockLayoutPanel.add(frame);

  ...does it tell me:

  HTTP ERROR 404

  Problem accessing /StrategicInternationalSystems/war/WEB-INF/pages/
  Summary.html. Reason:

      NOT_FOUND

  I think it has something to do with the fact that I started coding the
  app (using a new project) using GWT Designer. Why? Because when it was
  just App Engine and the GWT Toolkit before, it executed this code
  fine.

  I'm at my wit's end; please help understand why this code no longer
  works because of using GWT Designer (I think).

-- 
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.



[appengine-java] Re: Nice Online XSLT Transformer Hosted in GAE

2011-01-02 Thread Daniel
looks cool

On Jan 2, 10:23 pm, XSLT Master xslt@gmail.com wrote:
 Useful for tests when developing XSLT:

 http://xslttest.appspot.com/

 Developed with Java, GWT and Google Plugin for Eclipse. Hosted in GAE.

 Cheers

-- 
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.



[appengine-java] Re: Lightweight Best performing MVC framework - Recommendation

2011-01-02 Thread Lars Borup Jensen
+1 on Stripes. Extremely easy to setup and use - very powerfull and
performs quite well on GAE as its basically just a somewhat simple
filter/servlet and JSP with a stripes taglib though still, as I said,
powerfull.
I had to make a few adjustments to get it to serve @UrlBinding(/)
for example and I ALWAYS want it to exec controller before being
forwarded to any JSP files.

Regards, Lars Borup

-- 
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] Lightweight Best performing MVC framework - Recommendation

2011-01-02 Thread Rusty Wright

Stripes; easy, powerful, and flexible.


On 2010-12-29 11:02, Ikai Lan (Google) wrote:

Um ... those are like the opposite of lightweight.

Here are some I like:

Play Framework: probably the most underrated Java framework I've ever see
http://www.playframework.org/

Slim3: built for App Engine. Cons: kind of needs deep Eclipse integration
http://sites.google.com/site/slim3appengine/

There are more. I'll post in a bit. What are other frameworks everyone else 
here likes?

--
Ikai Lan
Developer Programs Engineer, Google App Engine
Blogger: http://googleappengine.blogspot.com 
http://googleappengine.blogspot.com/
Reddit: http://www.reddit.com/r/appengine
Twitter: http://twitter.com/app_engine



On Wed, Dec 29, 2010 at 10:49 AM, Nasif Noorudeen nas...@gmail.com 
mailto:nas...@gmail.com wrote:

spring  jsf

On 12/29/10, Sree sreeju...@gmail.com mailto:sreeju...@gmail.com wrote:
 Hello,

 I am new to Java and App Engine, and coming from ASP.NET http://ASP.NET 
C# and
 Windows Azure world. I am looking for a lightweight  best performing
 java based MVC framework.  I would like to migrate my ASP.NET 
http://ASP.NET MVC
 project to App Engine (Java).

 It would be great if you can share your experience.  I am open to
 Python as well, but learning Java is faster than Python, since I am
 good at C#.

 Thanks in Advance.

 Regards
 Sree

 --
 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-java@googlegroups.com 
mailto:google-appengine-java@googlegroups.com.
 To unsubscribe from this group, send email to
 google-appengine-java+unsubscr...@googlegroups.com 
mailto:google-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-java@googlegroups.com 
mailto:google-appengine-java@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com 
mailto:google-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.


--
0x2B | ~0x2b  --  Hamlet

--
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.



[appengine-java] Error on my application

2011-01-02 Thread Viskaya Purbowo H
Hi all,

I want to ask about error message diplayed on my application :
Error: Server Error The server encountered an error and could not complete 
your request. If the problem persists, please report your problem and 
mention this error message and the query that caused it.

this error message appeared when i deployed my application to appengine. But 
on my localhost the application runs normally.
Could anyone give me an advice to solve this problem ?


thank you

-- 
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.