Re: [appengine-java] Re: Mvenizing GAE/GWT project

2010-09-22 Thread Ravi Sharma
actually i was following this link
http://googlewebtoolkit.blogspot.com/2010/08/how-to-use-google-plugin-for-eclipse.html

may be i am not able to understand it or i am doing something wrong...
I have tried this roo pom too but i am not able to make it work.
Do you guys have a sample pom for GAE+GWT(No extra Spring or roo related
jars, just minimum GAE GWT jars and plugins only) project which a starter
like me can use

Thanks,
Ravi.




On Tue, Sep 21, 2010 at 6:06 PM, har_shan harsha...@gmail.com wrote:

 See

 http://googlewebtoolkit.blogspot.com/2010/08/how-to-use-google-plugin-for-eclipse.html

 Specifically, you might want to see the sample maven + gwt + gae
 project that they have given :

 http://code.google.com/p/google-web-toolkit/source/browse/trunk/samples/expenses/pom.xml

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



[appengine-java] Re: gae.encoded-pk not working on MySQL

2010-09-22 Thread Ian Marshall
Hi,

This is what I do/did. Sadly, my method requires commenting and
commenting out for each persistent entity class, but I could not get
pre-compilation directives to work (quickly), so I lost patience with
that approach.

Enjoy(?)


@PersistenceCapable(identityType = IdentityType.APPLICATION,
 detachable = true)
public class Stuff implements Serializable
{
  private static final long serialVersionUID = 1L;

  //
  // This block is required since this entity has an entity group
root.
  // It does not work with MySQL, so we use an alternative for that
database.
  // We have the getter method for getting the encoded key here for
convenience.
  //

  @PrimaryKey
  @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
  @Extension(vendorName=datanucleus, key=gae.encoded-pk,
value=true)
  private String sEncodedKey;

  @Persistent
  @Extension(vendorName=datanucleus, key=gae.pk-id, value=true)
  private Long loID;

  public String getEncodedKey()
  {
return sEncodedKey;
  }

//***  Change any list orderings from loID to sEncodedKey  ***

  //
  //


  /*
  //
  // This block is required for MySQL only, and will not work
  // for Google BigTable.
  //

  @PrimaryKey
  @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
  private Long loID;

  ***  Change any list orderings from sEncodedKey to loID  ***

  //
  //
  */


//@Persistent
//...

// Getter and setter methods
//...
}



On Sep 20, 4:10 pm, Daniel Ruiz Giménez druizgime...@gmail.com
wrote:
 Hi all,

 I'm experiencing some problems using gae.encoded-pk on MySQL.

 Reading the documentation (http://code.google.com/intl/en/appengine/
 docs/java/datastore/creatinggettinganddeletingdata.html) I found that:

 Encoded string keys allow you to write your application in a portable
 manner...

 but I can't find any information on how to achieve this. Consider this
 sample code from the docs:

     @PrimaryKey
     @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
     @Extension(vendorName=datanucleus, key=gae.encoded-pk,
 value=true)
     private String encodedKey;

 This will work on appengine, but if used on an alternative stack of
 DataNucleus + MySQL, then it won't work (the automatic schema tool
 ignored the extension, and attempts to create a varchar column with an
 AUTO_INCREMENT attribute, which makes no sense).

 Does anybody know how to achieve the desired behaviour?

 Many thanks in advance!!

-- 
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: Restricting upload size to the blob store

2010-09-22 Thread timwhunt
I don't see anything in the docs about limiting the size of blobs that
can be uploaded.  My guess (if it's helpful) is you have to check the
size after it's uploaded (via BlobInfo) and delete a blob that's too
large and return an error to the user.  I don't think there's any
reliable http/html/browser standard that would limit the size of a
file upload and handle the UI to alert the user, so it's seems fair
that the blobstore gives the basic building blocks up a file upload
and you have to add your limit and code/UI to handle files over the
limit.  If you're interested, I did find the following discussion
about a JavaScript approach to check and limit file sizes for uploads,
but apparently it doesn't work in all browsers
http://forums.digitalpoint.com/showthread.php?t=1461121

-- 
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] Securing JSESSIONID cookie

2010-09-22 Thread James
Is there a config setting to have this cookie marked as secure (so
it'll only be sent over SSL)?

-- 
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: Securing JSESSIONID cookie

2010-09-22 Thread James
Or a better question, since I don't actually want to use sessions:

Why is the JSESSIONID cookie set even though sessions aren't enabled
in appengine-web.xml, per 
http://code.google.com/appengine/docs/java/config/appconfig.html#Enabling%5FSessions

You can get rid of it by adding %@ page session=false % to each
JSP, so this is an academic question I guess.



On Sep 22, 9:33 am, James jamesk...@gmail.com wrote:
 Is there a config setting to have this cookie marked as secure (so
 it'll only be sent over SSL)?

-- 
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] How to make GWT + App Engine application crawlable?

2010-09-22 Thread Hez
Hi

I planning to develop an application in GWT + App Engine.

Do I still make the application crawlable by following the guidelines
described at http://code.google.com/web/ajaxcrawling ?
E.g. my application should parse the ugly URL and return a HTML
snapshot?

I think we need to do that for a GWT application which is not deploy
on the App Engine.

-- 
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] Issues with JavaMail

2010-09-22 Thread Velu
Hi,

I'm using the MailService feature of Google App Engine in my
application.  It works fine in one application without any issues.
But the same code doesn't work in another app. I'm not able to figure
it out.  Please help.  Following is the piece of code that I use to
send mail.

public static void sendHTMLEmail(String from, String fromName, String
to,
String toName, String subject, String body) {

_logger.info(entering ...);
Properties props = new Properties();
Session session = Session.getDefaultInstance(props, null);
_logger.info(got mail session ...);
String htmlBody = body;
try {
Message msg = new MimeMessage(session);
_logger.info(created mimemessage ...);
msg.setFrom(new InternetAddress(from,
fromName));
_logger.info(from is set ...);
msg.addRecipient(Message.RecipientType.TO, new 
InternetAddress(
to, toName));
_logger.info(recipient is set ...);
msg.setSubject(subject);
_logger.info(subject is set ...);
Multipart mp = new MimeMultipart();
MimeBodyPart htmlPart = new MimeBodyPart();
htmlPart.setContent(htmlBody, text/html);
mp.addBodyPart(htmlPart);
_logger.info(body part added ...);

msg.setContent(mp);
_logger.info(content is set ...);
Transport.send(msg);
_logger.info(email sent successfully.);
} catch (AddressException e) {
e.printStackTrace();
} catch (MessagingException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
System.err.println(e.getMessage());
}
}

When I look at the log (on the server admin console), it prints the
statement content is set ... and after that there is nothing in the
log.  The mail is not sent.  At times I get the following error after
the above statement is printed (and the mail is not sent).

com.google.appengine.repackaged.com.google.common.base.internal.Finalizer
getInheritableThreadLocalsField: Couldn't access
Thread.inheritableThreadLocals. Reference finalizer threads will
inherit thread local values.

But the mail quota usage keeps increasing.

Remember this works fine in one application, but not in other.  I'm
using the same set of email addresses in both the apps (for from and
to).

I'm really stuck with this.  Appreciate any help.

Thank you.
Velu


-- 
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] How to make GWT + App Engine application crawlable?

2010-09-22 Thread Katharina Probst
Yes, that's right.  This technique is still current.

kathrin

On Wed, Sep 22, 2010 at 7:16 AM, Hez hezj...@gmail.com wrote:

 Hi

 I planning to develop an application in GWT + App Engine.

 Do I still make the application crawlable by following the guidelines
 described at http://code.google.com/web/ajaxcrawling ?
 E.g. my application should parse the ugly URL and return a HTML
 snapshot?

 I think we need to do that for a GWT application which is not deploy
 on the App Engine.

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



[appengine-java] [SOLVED] Problem with admin pages

2010-09-22 Thread Moritz
For the record: The problem was that I didn't add the application to
my app services as described on http://code.google.com/intl/de-DE/
appengine/articles/auth.html at the bottom section.

On 20 Sep., 23:25, Moritz mor...@cloudme.org wrote:
 Hi,

 I'm trying to use admin pages embedded in the Administration Console
 as described here http://code.google.com/appengine/docs/java/config/
 appconfig.html#Administration_Console_Custom_Pages. The menu entry
 for the admin page is shown correctly, but when I call the page, I get
 the error:

 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.

 The logs show a warning entry:

 Authentication for the Google Apps domain cloudme.org can only be
 performed when requests are served from a subdomain of that domain or
 it has been approved through the Google Apps Control Panel. 
 Seehttp://code.google.com/appengine/articles/auth.html;

 In my application I'm using authentication for users of the
 cloudme.org domain only and I'm using the admin console at https://
 appengine.google.com/a/cloudme.org.

 I tried before using authentication for all Google accounts, but that
 displayed the login screen on the admin page itself. Therefore I
 thought that using the domain authentication type would be more
 adequate for my setup.

 In my appengine-web.xml I have configured:

   admin-console
     page name=Dataload url=/admin/dataload /
   /admin-console

 and in the web.xml I have:

   security-constraint
     web-resource-collection
       web-resource-nameAdmin pages/web-resource-name
       url-pattern/admin/*/url-pattern
     /web-resource-collection
     auth-constraint
       role-nameadmin/role-name
     /auth-constraint
   /security-constraint

 Of course, the domain works on the development server.

 Any ideas what's wrong?

 Mo.

-- 
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] java.lang.NoClassDefFoundError: java.net.InetAddress is a restricted class. Trying to send email

2010-09-22 Thread Shaun
I know I must be doing something really simple wrong here, but I
followed the example (http://code.google.com/appengine/docs/java/mail/
overview.html) for sending mail through GAE and I getting:

WARNING: /invoiceactions.do
java.lang.NoClassDefFoundError: java.net.InetAddress is a restricted
class. Please see the Google  App Engine developer's guide for more
details.
at
com.google.appengine.tools.development.agent.runtime.Runtime.reject(Runtime.java:
51)
at
javax.mail.internet.InternetAddress.getLocalAddress(InternetAddress.java:
479)
at
javax.mail.internet.UniqueValue.getUniqueMessageIDValue(UniqueValue.java:
75)
at javax.mail.internet.MimeMessage.updateHeaders(MimeMessage.java:
1933)
at javax.mail.internet.MimeMessage.saveChanges(MimeMessage.java:1911)

My code looks like (email addresses have been changed to protect the
innocent):

java.util.Properties props = new Properties();
Session session = Session.getDefaultInstance(props, null);
Message msg = new MimeMessage(session);
msg.setFrom(new InternetAddress(ad...@bob.com, Admin));
msg.addRecipient(Message.RecipientType.TO, new
InternetAddress(b...@bob.com, Bob));
msg.setSubject(Invoice Payment Email);
msg.setText(writer.toString());
Transport.send(msg);
pm.close();

Thanks!
Shaun

Any ideas? Thanks!

-- 
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] Exception: Unable to complete the HTTP request

2010-09-22 Thread Miko Aguilar
Hi everyone,

I'm getting an Timeout while fetching... message every time I'm trying to
read dynamically generated XML files. But when I try accessing static XML
files, I don't have any problems.

Changing the timeout limit will work sometimes, but the exception still
appears most of the time. Does this mean that the XML files are taking too
much time before they are generated? I do have to wait for a few seconds
before they get loaded in a browser, but it's not like 10 or 5 seconds
waiting time. Any inputs on this matter?

Thanks!
Miko

-- 
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] How to make GWT + App Engine application crawlable?

2010-09-22 Thread hezjing
I'm using Google plugin for Eclipse to build two identical GWT application
except that one is built with App Engine and the other without App Engine.

Both application are configured with the same servlet filter and mapped to
URL pattern /*

public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest) request;
// query is null when run on App Engine
String query = req.getQueryString();
...
}

When run in the GWT development mode, e.g.
http://127.0.0.1:/X.html?_escaped_fragment_=gwt.codesvr=127.0.0.1:9997,
the
application without App Engine is able to retrieve the query string as
_escaped_fragment_=gwt.codesvr=127.0.0.1:9997.

The problem is, the application with App Engine is always getting the null
query string!


Can anyone help me on this?


On Wed, Sep 22, 2010 at 10:44 PM, Katharina Probst kpro...@google.comwrote:

 Yes, that's right.  This technique is still current.

 kathrin

 On Wed, Sep 22, 2010 at 7:16 AM, Hez hezj...@gmail.com wrote:

 Hi

 I planning to develop an application in GWT + App Engine.

 Do I still make the application crawlable by following the guidelines
 described at http://code.google.com/web/ajaxcrawling ?
 E.g. my application should parse the ugly URL and return a HTML
 snapshot?

 I think we need to do that for a GWT application which is not deploy
 on the App Engine.

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




-- 

Hez

-- 
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] How to make GWT + App Engine application crawlable?

2010-09-22 Thread John Patterson


On 23 Sep 2010, at 07:47, hezjing wrote:


When run in the GWT development mode, e.g. http://127.0.0.1:/X.html?_escaped_fragment_=gwt.codesvr=127.0.0.1:9997 
, the application without App Engine is able to retrieve the query  
string as _escaped_fragment_=gwt.codesvr=127.0.0.1:9997.


The problem is, the application with App Engine is always getting  
the null query string!


You need to encode the query string - the  character is not allowed  
in a value.


http://download.oracle.com/javase/1.4.2/docs/api/java/net/URLEncoder.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: Problem with persist a child class

2010-09-22 Thread lisandrodc
Hi ! I have a problem when persist a chid class.
The parent class:

@PersistenceCapable

@Inheritance(strategy = InheritanceStrategy.SUBCLASS_TABLE)
public  abstract class Fecha   {

@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private Key id;
@Persistent
private String nombre;
@Persistent
private Date fechaIni;
@Persistent
private Date fechaFin;

@Persistent(defaultFetchGroup = true)
ListPartido partidos;

private Long id2;

private Long kind;

The child class:
@PersistenceCapable(identityType =
IdentityType.APPLICATION,detachable=true)
public class RegFechaUsuario extends Fecha  {

@Persistent
private int puntos;
@Persistent
private Long idUsuarioFecha;
@Persistent
private Long idFechaOriginal;

The method at persist:

public void crearRegFechaUsuario(RegFechaUsuario regFechaUsuario) {
//regFechaUsuario is an object initialized
Transaction tx = pm.currentTransaction();
try {
tx.begin();

pm.makePersistentAll(regFechaUsuario);
   //here is the exception
tx.commit();
} finally {
// pm.close();
if (tx.isActive()) {
tx.rollback();
}
}

}


And the exception is (internal error of the library of google apps or
datanucleus), the cast:


Problem accessing /Prode/JugarFecha.action. Reason:

java.lang.Long cannot be cast to java.lang.String

Caused by:

java.lang.ClassCastException: java.lang.Long cannot be cast to
java.lang.String
at
org.datanucleus.store.appengine.DatastoreRelationFieldManager.checkForParentSwitch(DatastoreRelationFieldManager.java:
202)
at org.datanucleus.store.appengine.DatastoreRelationFieldManager
$1.setObjectViaMapping(DatastoreRelationFieldManager.java:133)
at org.datanucleus.store.appengine.DatastoreRelationFieldManager
$1.apply(DatastoreRelationFieldManager.java:112)
at
org.datanucleus.store.appengine.DatastoreRelationFieldManager.storeRelations(DatastoreRelationFieldManager.java:
81)
at
org.datanucleus.store.appengine.DatastoreFieldManager.storeRelations(DatastoreFieldManager.java:
955)
at
org.datanucleus.store.appengine.DatastorePersistenceHandler.storeRelations(DatastorePersistenceHandler.java:
546)
at
org.datanucleus.store.appengine.DatastorePersistenceHandler.insertPostProcess(DatastorePersistenceHandler.java:
304)
at
org.datanucleus.store.appengine.DatastorePersistenceHandler.insertObjects(DatastorePersistenceHandler.java:
256)
at
org.datanucleus.store.appengine.DatastorePersistenceHandler.insertObject(DatastorePersistenceHandler.java:
240)
at
org.datanucleus.state.JDOStateManagerImpl.internalMakePersistent(JDOStateManagerImpl.java:
3185)
at
org.datanucleus.state.JDOStateManagerImpl.makePersistent(JDOStateManagerImpl.java:
3161)
at
org.datanucleus.ObjectManagerImpl.persistObjectInternal(ObjectManagerImpl.java:
1298)
at
org.datanucleus.sco.SCOUtils.validateObjectForWriting(SCOUtils.java:
1476)
at
org.datanucleus.store.mapped.scostore.ElementContainerStore.validateElementForWriting(ElementContainerStore.java:
380)
at
org.datanucleus.store.mapped.scostore.FKListStore.validateElementForWriting(FKListStore.java:
609)
at
org.datanucleus.store.mapped.scostore.FKListStore.internalAdd(FKListStore.java:
344)
at
org.datanucleus.store.appengine.DatastoreFKListStore.internalAdd(DatastoreFKListStore.java:
146)
at
org.datanucleus.store.mapped.scostore.AbstractListStore.addAll(AbstractListStore.java:
128)
at
org.datanucleus.store.mapped.mapping.CollectionMapping.postInsert(CollectionMapping.java:
157)
at
org.datanucleus.store.appengine.DatastoreRelationFieldManager.runPostInsertMappingCallbacks(DatastoreRelationFieldManager.java:
217)
at
org.datanucleus.store.appengine.DatastoreRelationFieldManager.access
$200(DatastoreRelationFieldManager.java:48)
at org.datanucleus.store.appengine.DatastoreRelationFieldManager
$1.apply(DatastoreRelationFieldManager.java:116)
at
org.datanucleus.store.appengine.DatastoreRelationFieldManager.storeRelations(DatastoreRelationFieldManager.java:
81)
at
org.datanucleus.store.appengine.DatastoreFieldManager.storeRelations(DatastoreFieldManager.java:
955)
at
org.datanucleus.store.appengine.DatastorePersistenceHandler.storeRelations(DatastorePersistenceHandler.java:
546)
at
org.datanucleus.store.appengine.DatastorePersistenceHandler.insertPostProcess(DatastorePersistenceHandler.java:
304)
at
org.datanucleus.store.appengine.DatastorePersistenceHandler.insertObjects(DatastorePersistenceHandler.java:
256)
  

[appengine-java] Problem with persist a child class

2010-09-22 Thread lisandrodc
Hi ! I have a problem when persist a chid class.
The parent class:

@PersistenceCapable

@Inheritance(strategy = InheritanceStrategy.SUBCLASS_TABLE)
public  abstract class Fecha   {

@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private Key id;
@Persistent
private String nombre;
@Persistent
private Date fechaIni;
@Persistent
private Date fechaFin;

@Persistent(defaultFetchGroup = true)
ListPartido partidos;

private Long id2;

private Long kind;

The child class:
@PersistenceCapable(identityType =
IdentityType.APPLICATION,detachable=true)
public class RegFechaUsuario extends Fecha  {

@Persistent
private int puntos;
@Persistent
private Long idUsuarioFecha;
@Persistent
private Long idFechaOriginal;

The method at persist:

public void crearRegFechaUsuario(RegFechaUsuario
regFechaUsuario) {
//regFechaUsuario is an object initialized
Transaction tx = pm.currentTransaction();
try {
tx.begin();

pm.makePersistentAll(regFechaUsuario);
   //here is the exception
tx.commit();
} finally {
// pm.close();
if (tx.isActive()) {
tx.rollback();
}
}

}

And the exception is (internal error of the library of google apps or
datanucleus), the cast:

Problem accessing /Prode/JugarFecha.action. Reason:

java.lang.Long cannot be cast to java.lang.String

Caused by:

java.lang.ClassCastException: java.lang.Long cannot be cast to
java.lang.String
at
org.datanucleus.store.appengine.DatastoreRelationFieldManager.checkForParentSwitch(DatastoreRelationFieldManager.java:
202)
at
org.datanucleus.store.appengine.DatastoreRelationFieldManager
$1.setObjectViaMapping(DatastoreRelationFieldManager.java:133)
at
org.datanucleus.store.appengine.DatastoreRelationFieldManager
$1.apply(DatastoreRelationFieldManager.java:112)
at
org.datanucleus.store.appengine.DatastoreRelationFieldManager.storeRelations(DatastoreRelationFieldManager.java:
81)
at
org.datanucleus.store.appengine.DatastoreFieldManager.storeRelations(DatastoreFieldManager.java:
955)
at
org.datanucleus.store.appengine.DatastorePersistenceHandler.storeRelations(DatastorePersistenceHandler.java:
546)
at
org.datanucleus.store.appengine.DatastorePersistenceHandler.insertPostProcess(DatastorePersistenceHandler.java:
304)
at
org.datanucleus.store.appengine.DatastorePersistenceHandler.insertObjects(DatastorePersistenceHandler.java:
256)
at
org.datanucleus.store.appengine.DatastorePersistenceHandler.insertObject(DatastorePersistenceHandler.java:
240)
at
org.datanucleus.state.JDOStateManagerImpl.internalMakePersistent(JDOStateManagerImpl.java:
3185)
at
org.datanucleus.state.JDOStateManagerImpl.makePersistent(JDOStateManagerImpl.java:
3161)
at
org.datanucleus.ObjectManagerImpl.persistObjectInternal(ObjectManagerImpl.java:
1298)
at
org.datanucleus.sco.SCOUtils.validateObjectForWriting(SCOUtils.java:
1476)
at
org.datanucleus.store.mapped.scostore.ElementContainerStore.validateElementForWriting(ElementContainerStore.java:
380)
at
org.datanucleus.store.mapped.scostore.FKListStore.validateElementForWriting(FKListStore.java:
609)
at
org.datanucleus.store.mapped.scostore.FKListStore.internalAdd(FKListStore.java:
344)
at
org.datanucleus.store.appengine.DatastoreFKListStore.internalAdd(DatastoreFKListStore.java:
146)
at
org.datanucleus.store.mapped.scostore.AbstractListStore.addAll(AbstractListStore.java:
128)
at
org.datanucleus.store.mapped.mapping.CollectionMapping.postInsert(CollectionMapping.java:
157)
at
org.datanucleus.store.appengine.DatastoreRelationFieldManager.runPostInsertMappingCallbacks(DatastoreRelationFieldManager.java:
217)
at
org.datanucleus.store.appengine.DatastoreRelationFieldManager.access
$200(DatastoreRelationFieldManager.java:48)
at
org.datanucleus.store.appengine.DatastoreRelationFieldManager
$1.apply(DatastoreRelationFieldManager.java:116)
at
org.datanucleus.store.appengine.DatastoreRelationFieldManager.storeRelations(DatastoreRelationFieldManager.java:
81)
at
org.datanucleus.store.appengine.DatastoreFieldManager.storeRelations(DatastoreFieldManager.java:
955)
at
org.datanucleus.store.appengine.DatastorePersistenceHandler.storeRelations(DatastorePersistenceHandler.java:
546)
at
org.datanucleus.store.appengine.DatastorePersistenceHandler.insertPostProcess(DatastorePersistenceHandler.java:
304)
at
org.datanucleus.store.appengine.DatastorePersistenceHandler.insertObjects(DatastorePersistenceHandler.java:
256)

Re: [appengine-java] How to make GWT + App Engine application crawlable?

2010-09-22 Thread hezjing
Probably that was a bad query string, but the servlet filter is not able to
retrieve the query string from
http://127.0.0.1:/Hello.html?A=Bgwt.codesvr=127.0.0.1:9997 too!
http://127.0.0.1:/Hello.html?A=Bgwt.codesvr=127.0.0.1:9997

On Thu, Sep 23, 2010 at 10:04 AM, John Patterson jdpatter...@gmail.comwrote:


 On 23 Sep 2010, at 07:47, hezjing wrote:


 When run in the GWT development mode, e.g.
 http://127.0.0.1:/X.html?_escaped_fragment_=gwt.codesvr=127.0.0.1:9997, 
 the
 application without App Engine is able to retrieve the query string as
 _escaped_fragment_=gwt.codesvr=127.0.0.1:9997.

 The problem is, the application with App Engine is always getting the null
 query string!


 You need to encode the query string - the  character is not allowed in a
 value.

 http://download.oracle.com/javase/1.4.2/docs/api/java/net/URLEncoder.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.comgoogle-appengine-java%2bunsubscr...@googlegroups.com
 .
 For more options, visit this group at
 http://groups.google.com/group/google-appengine-java?hl=en.




-- 

Hez

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