Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 323050 - Improved GWT Support.
Summary: Improved GWT Support.
Status: CLOSED FIXED
Alias: None
Product: EMF
Classification: Modeling
Component: Tools (show other bugs)
Version: 2.7.0   Edit
Hardware: PC Windows XP
: P3 enhancement (vote)
Target Milestone: ---   Edit
Assignee: Dave Steinberg CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-08-18 11:13 EDT by Ed Merks CLA
Modified: 2013-06-19 17:53 EDT (History)
6 users (show)

See Also:


Attachments
Improvements to the generator (87.55 KB, patch)
2010-08-18 11:16 EDT, Ed Merks CLA
no flags Details | Diff
An updated version of the EMF GWT runtime. (1.20 MB, application/x-itunes-itlp)
2010-08-18 11:17 EDT, Ed Merks CLA
no flags Details
More improvements to the generator (92.28 KB, patch)
2010-08-19 13:48 EDT, Ed Merks CLA
no flags Details | Diff
More improvements to the runtime (1.20 MB, application/x-itunes-itlp)
2010-08-19 13:50 EDT, Ed Merks CLA
no flags Details
A quick and dirty utility for migrating *.properties files to Messages format (20.78 KB, application/x-itunes-itlp)
2010-08-19 17:59 EDT, Ed Merks CLA
no flags Details
Fix messages and logic for what's in *.properties files (118.05 KB, patch)
2010-08-21 19:33 EDT, Ed Merks CLA
no flags Details | Diff
Support Validate and Navigate (1.21 MB, application/x-itunes-itlp)
2010-08-21 19:34 EDT, Ed Merks CLA
no flags Details
Improve Create enablement and labels; properties for resource set and resource (1.21 MB, application/x-itunes-itlp)
2010-08-23 14:00 EDT, Ed Merks CLA
no flags Details
Style improvements (1.21 MB, application/x-itunes-itlp)
2010-08-25 15:14 EDT, Ed Merks CLA
no flags Details
2 ecore models used (1.83 KB, application/zip)
2010-10-25 16:59 EDT, Sam CLA
no flags Details
Plugin configuration after install (1.39 MB, image/png)
2011-01-06 21:18 EST, Sam CLA
no flags Details
the patch fixed GWT Boolean SerializationException (4.36 KB, application/octet-stream)
2013-01-16 20:19 EST, bluetlck Mising name CLA
no flags Details
the patch fixed GWT Boolean SerializationException v0.2 (5.45 KB, application/octet-stream)
2013-06-19 17:53 EDT, bluetlck Mising name CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ed Merks CLA 2010-08-18 11:13:19 EDT
We need improvements to both the generator and the runtime itself.
Comment 1 Ed Merks CLA 2010-08-18 11:16:49 EDT
Created attachment 176902 [details]
Improvements to the generator
Comment 2 Ed Merks CLA 2010-08-18 11:17:58 EDT
Created attachment 176903 [details]
An updated version of the EMF GWT runtime.

This archive contains a modified/fixed copy of the GWT cell tree class.
Comment 3 Ed Merks CLA 2010-08-19 13:48:54 EDT
Created attachment 177031 [details]
More improvements to the generator
Comment 4 Ed Merks CLA 2010-08-19 13:50:29 EDT
Created attachment 177032 [details]
More improvements to the runtime
Comment 5 Ed Merks CLA 2010-08-19 17:59:26 EDT
Created attachment 177054 [details]
A quick and dirty utility for migrating *.properties files to Messages format
Comment 6 Ed Merks CLA 2010-08-21 19:33:19 EDT
Created attachment 177168 [details]
Fix messages and logic for what's in *.properties files
Comment 7 Ed Merks CLA 2010-08-21 19:34:43 EDT
Created attachment 177169 [details]
Support Validate and Navigate
Comment 8 Ed Merks CLA 2010-08-23 14:00:09 EDT
Created attachment 177243 [details]
Improve Create enablement and labels; properties for resource set and resource
Comment 9 Ed Merks CLA 2010-08-25 15:14:04 EDT
Created attachment 177462 [details]
Style improvements
Comment 10 Ed Merks CLA 2010-08-25 15:16:13 EDT
The generator changes are committed to CVS for 2.7/HEAD; we're spinning a build for it.
Comment 11 Miles Parker CLA 2010-09-17 15:30:46 EDT
(In reply to comment #10)
> The generator changes are committed to CVS for 2.7/HEAD; we're spinning a build
> for it.

Ed, is this available via update site, or do we just still build from CVS? The only thing I could find online is this..

http://wiki.eclipse.org/EMF/New_and_Noteworthy/Helios

Is there any reason we could not simply use the GWT SDK and Plugins from the Google update site?
Comment 12 Ed Merks CLA 2010-09-17 15:40:07 EDT
Kenn and I are working on two things...

1) A build of the 2.7 EMF base against Eclipse Helios so that the enhanced generator can be used with the GDT tools for Helios.

2) A build of the GWT runtime.  This is complicated by the fact that we're using GWT 2.1 which isn't IP approved and we've made copies of several files to fix bugs.

We want to end up with two p2 repositories.  One for installing EMF and GDT into the IDE and the other for provisioning the target platform with the EMF GWT runtime.  Hopefully we can accomplish those things in the coming week and publicize them.
Comment 13 Miles Parker CLA 2010-09-17 15:55:53 EDT
(In reply to comment #12)
> Kenn and I are working on two things...
> We want to end up with two p2 repositories.  One for installing EMF and GDT
> into the IDE and the other for provisioning the target platform with the EMF
> GWT runtime.  Hopefully we can accomplish those things in the coming week and
> publicize them.

Excellent. I'll hold off then. Let me know if you want me to test the install.
Comment 14 Miles Parker CLA 2010-09-30 15:18:31 EDT
(In reply to comment #13)

> Excellent. I'll hold off then. Let me know if you want me to test the install.

Sorry to be a pest, but I'm really wanting to try this out -- is there perhaps a bucky build or something that I could try just to play with it locally here?
Comment 15 Kenn Hussey CLA 2010-09-30 15:22:59 EDT
(In reply to comment #14)
> 
> Sorry to be a pest, but I'm really wanting to try this out -- is there perhaps
> a bucky build or something that I could try just to play with it locally here?

Ed will be posting the details on Monday.
Comment 16 Ed Merks CLA 2010-10-04 09:39:22 EDT
If you're interested to try out EMF's support for GWT, here are the details.

    http://ed-merks.blogspot.com/2010/10/eclipse-modeling-smith-for-cloud.html
    http://wiki.eclipse.org/EMF/GWT
Comment 17 Sam CLA 2010-10-25 14:11:37 EDT
Good day,

I followed instruction steps for setting up Eclipse, GWT and Google Engine APIs described at http://wiki.eclipse.org/EMF/GWT. Generated model code has @GwtTransient, but further I have 2 problems:

1. Generation of the editor fails with errors in the Manifest.mf file's Export-Package section, where presentation packages are being exported. Those never got generated, with the exception of one package for the root ecore package selected using generation of the genmodel.

2. I tried using one of the generated classes from the generated model (java code below) inside an external GWT application by passing it to a service method, and got the following exception. The most peculiar part is that it is complaints about java.lang.Boolean serialization, which I believe is supported by Google App Engine as one of the serializable types. I ran using both hosted mode and deployed to Google - same error.

I had this code more or less running (no RPC issues) previously using EMF 2.6, using directions at http://wiki.eclipse.org/EMF/New_and_Noteworthy/Helios#Support_for_Google_Web_Toolkit_.28GWT.29

Class:

package com.ararat.client.software.impl;

import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.PersistenceCapable;
import javax.jdo.annotations.Persistent;
import javax.jdo.annotations.PrimaryKey;
import com.google.appengine.api.datastore.Key;
import com.ararat.client.software.SoftwarePackage;
import com.ararat.client.software.UserCredential;

import com.google.gwt.user.client.rpc.GwtTransient;

import org.eclipse.emf.common.notify.Notification;

import org.eclipse.emf.ecore.EClass;

import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.emf.ecore.impl.EObjectImpl;

/**
 *
 * @generated
 */

@PersistenceCapable
public class UserCredentialImpl extends EObjectImpl implements UserCredential {

@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
@GwtTransient
public Key id=null; public void setId(Key key) { this.id = key; }
public Key getId() { return this.id; }

	/**
	 * The default value of the '{@link #getUserEmail() <em>User Email</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getUserEmail()
	 * @generated
	 * @ordered
	 */
	protected static final String USER_EMAIL_EDEFAULT = null;

	/**
	 * The cached value of the '{@link #getUserEmail() <em>User Email</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getUserEmail()
	 * @generated
	 * @ordered
	 */
	@GwtTransient
	protected String userEmail = USER_EMAIL_EDEFAULT;

	/**
	 * The default value of the '{@link #getUserPassword() <em>User Password</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getUserPassword()
	 * @generated
	 * @ordered
	 */
	protected static final String USER_PASSWORD_EDEFAULT = null;

	/**
	 * The cached value of the '{@link #getUserPassword() <em>User Password</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getUserPassword()
	 * @generated
	 * @ordered
	 */
	@GwtTransient
	protected String userPassword = USER_PASSWORD_EDEFAULT;

	/**
	 * The default value of the '{@link #getAuthenticationToken() <em>Authentication Token</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getAuthenticationToken()
	 * @generated
	 * @ordered
	 */
	protected static final long AUTHENTICATION_TOKEN_EDEFAULT = 0L;

	/**
	 * The cached value of the '{@link #getAuthenticationToken() <em>Authentication Token</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getAuthenticationToken()
	 * @generated
	 * @ordered
	 */
	@GwtTransient
	protected long authenticationToken = AUTHENTICATION_TOKEN_EDEFAULT;

	/**
	 * The default value of the '{@link #isIsFacebook() <em>Is Facebook</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #isIsFacebook()
	 * @generated
	 * @ordered
	 */
	protected static final boolean IS_FACEBOOK_EDEFAULT = false;

	/**
	 * The cached value of the '{@link #isIsFacebook() <em>Is Facebook</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #isIsFacebook()
	 * @generated
	 * @ordered
	 */
	@GwtTransient
	protected boolean isFacebook = IS_FACEBOOK_EDEFAULT;

	/**
	 * The default value of the '{@link #isIsValidated() <em>Is Validated</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #isIsValidated()
	 * @generated
	 * @ordered
	 */
	protected static final boolean IS_VALIDATED_EDEFAULT = false;

	/**
	 * The cached value of the '{@link #isIsValidated() <em>Is Validated</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #isIsValidated()
	 * @generated
	 * @ordered
	 */
	@GwtTransient
	protected boolean isValidated = IS_VALIDATED_EDEFAULT;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected UserCredentialImpl() {
		super();
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	protected EClass eStaticClass() {
		return SoftwarePackage.Literals.USER_CREDENTIAL;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public String getUserEmail() {
		return userEmail;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setUserEmail(String newUserEmail) {
		String oldUserEmail = userEmail;
		userEmail = newUserEmail;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, SoftwarePackage.USER_CREDENTIAL__USER_EMAIL, oldUserEmail, userEmail));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public String getUserPassword() {
		return userPassword;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setUserPassword(String newUserPassword) {
		String oldUserPassword = userPassword;
		userPassword = newUserPassword;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, SoftwarePackage.USER_CREDENTIAL__USER_PASSWORD, oldUserPassword, userPassword));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public long getAuthenticationToken() {
		return authenticationToken;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setAuthenticationToken(long newAuthenticationToken) {
		long oldAuthenticationToken = authenticationToken;
		authenticationToken = newAuthenticationToken;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, SoftwarePackage.USER_CREDENTIAL__AUTHENTICATION_TOKEN, oldAuthenticationToken, authenticationToken));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean isIsFacebook() {
		return isFacebook;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setIsFacebook(boolean newIsFacebook) {
		boolean oldIsFacebook = isFacebook;
		isFacebook = newIsFacebook;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, SoftwarePackage.USER_CREDENTIAL__IS_FACEBOOK, oldIsFacebook, isFacebook));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean isIsValidated() {
		return isValidated;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setIsValidated(boolean newIsValidated) {
		boolean oldIsValidated = isValidated;
		isValidated = newIsValidated;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, SoftwarePackage.USER_CREDENTIAL__IS_VALIDATED, oldIsValidated, isValidated));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Object eGet(int featureID, boolean resolve, boolean coreType) {
		switch (featureID) {
			case SoftwarePackage.USER_CREDENTIAL__USER_EMAIL:
				return getUserEmail();
			case SoftwarePackage.USER_CREDENTIAL__USER_PASSWORD:
				return getUserPassword();
			case SoftwarePackage.USER_CREDENTIAL__AUTHENTICATION_TOKEN:
				return getAuthenticationToken();
			case SoftwarePackage.USER_CREDENTIAL__IS_FACEBOOK:
				return isIsFacebook();
			case SoftwarePackage.USER_CREDENTIAL__IS_VALIDATED:
				return isIsValidated();
		}
		return super.eGet(featureID, resolve, coreType);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public void eSet(int featureID, Object newValue) {
		switch (featureID) {
			case SoftwarePackage.USER_CREDENTIAL__USER_EMAIL:
				setUserEmail((String)newValue);
				return;
			case SoftwarePackage.USER_CREDENTIAL__USER_PASSWORD:
				setUserPassword((String)newValue);
				return;
			case SoftwarePackage.USER_CREDENTIAL__AUTHENTICATION_TOKEN:
				setAuthenticationToken((Long)newValue);
				return;
			case SoftwarePackage.USER_CREDENTIAL__IS_FACEBOOK:
				setIsFacebook((Boolean)newValue);
				return;
			case SoftwarePackage.USER_CREDENTIAL__IS_VALIDATED:
				setIsValidated((Boolean)newValue);
				return;
		}
		super.eSet(featureID, newValue);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public void eUnset(int featureID) {
		switch (featureID) {
			case SoftwarePackage.USER_CREDENTIAL__USER_EMAIL:
				setUserEmail(USER_EMAIL_EDEFAULT);
				return;
			case SoftwarePackage.USER_CREDENTIAL__USER_PASSWORD:
				setUserPassword(USER_PASSWORD_EDEFAULT);
				return;
			case SoftwarePackage.USER_CREDENTIAL__AUTHENTICATION_TOKEN:
				setAuthenticationToken(AUTHENTICATION_TOKEN_EDEFAULT);
				return;
			case SoftwarePackage.USER_CREDENTIAL__IS_FACEBOOK:
				setIsFacebook(IS_FACEBOOK_EDEFAULT);
				return;
			case SoftwarePackage.USER_CREDENTIAL__IS_VALIDATED:
				setIsValidated(IS_VALIDATED_EDEFAULT);
				return;
		}
		super.eUnset(featureID);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public boolean eIsSet(int featureID) {
		switch (featureID) {
			case SoftwarePackage.USER_CREDENTIAL__USER_EMAIL:
				return USER_EMAIL_EDEFAULT == null ? userEmail != null : !USER_EMAIL_EDEFAULT.equals(userEmail);
			case SoftwarePackage.USER_CREDENTIAL__USER_PASSWORD:
				return USER_PASSWORD_EDEFAULT == null ? userPassword != null : !USER_PASSWORD_EDEFAULT.equals(userPassword);
			case SoftwarePackage.USER_CREDENTIAL__AUTHENTICATION_TOKEN:
				return authenticationToken != AUTHENTICATION_TOKEN_EDEFAULT;
			case SoftwarePackage.USER_CREDENTIAL__IS_FACEBOOK:
				return isFacebook != IS_FACEBOOK_EDEFAULT;
			case SoftwarePackage.USER_CREDENTIAL__IS_VALIDATED:
				return isValidated != IS_VALIDATED_EDEFAULT;
		}
		return super.eIsSet(featureID);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public String toString() {
		if (eIsProxy()) return super.toString();

		StringBuffer result = new StringBuffer(super.toString());
		result.append(" (userEmail: ");
		result.append(userEmail);
		result.append(", userPassword: ");
		result.append(userPassword);
		result.append(", authenticationToken: ");
		result.append(authenticationToken);
		result.append(", isFacebook: ");
		result.append(isFacebook);
		result.append(", isValidated: ");
		result.append(isValidated);
		result.append(')');
		return result.toString();
	}

} //UserCredentialImpl


Exception:
[ERROR] javax.servlet.ServletContext log: Exception while dispatching incoming RPC call
com.google.gwt.user.client.rpc.SerializationException: java.lang.reflect.InvocationTargetException
	at com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serializeWithCustomSerializer(ServerSerializationStreamWriter.java:764)
	at com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serializeImpl(ServerSerializationStreamWriter.java:727)
	at com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serializeClass(ServerSerializationStreamWriter.java:716)
	at com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serializeImpl(ServerSerializationStreamWriter.java:734)
	at com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serializeClass(ServerSerializationStreamWriter.java:716)
	at com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serializeImpl(ServerSerializationStreamWriter.java:734)
	at com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serialize(ServerSerializationStreamWriter.java:616)
	at com.google.gwt.user.client.rpc.impl.AbstractSerializationStreamWriter.writeObject(AbstractSerializationStreamWriter.java:126)
	at com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter$ValueWriter$8.write(ServerSerializationStreamWriter.java:152)
	at com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serializeValue(ServerSerializationStreamWriter.java:534)
	at com.google.gwt.user.server.rpc.RPC.encodeResponse(RPC.java:609)
	at com.google.gwt.user.server.rpc.RPC.encodeResponseForSuccess(RPC.java:467)
	at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:564)
	at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:207)
	at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:243)
	at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:713)
	at com.ararat.server.ServiceImpl.service(ServiceImpl.java:110)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
	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: 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.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serializeWithCustomSerializer(ServerSerializationStreamWriter.java:746)
	... 43 more
Caused by: com.google.gwt.user.client.rpc.SerializationException: Type 'java.lang.Boolean' was not included in the set of types which can be serialized by this SerializationPolicy or its Class object could not be loaded. For security purposes, this type will not be serialized.: instance = true
	at com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serialize(ServerSerializationStreamWriter.java:614)
	at com.google.gwt.user.client.rpc.impl.AbstractSerializationStreamWriter.writeObject(AbstractSerializationStreamWriter.java:126)
	at org.eclipse.emf.ecore.impl.BasicEObjectImpl_CustomFieldSerializer.serialize(BasicEObjectImpl_CustomFieldSerializer.java:59)
	... 49 more


Not quite sure what's going on .... any thoughts?

Any help would be appreciated, Thanks.

Sam.

(In reply to comment #16)
> If you're interested to try out EMF's support for GWT, here are the details.
> 
>     http://ed-merks.blogspot.com/2010/10/eclipse-modeling-smith-for-cloud.html
>     http://wiki.eclipse.org/EMF/GWT
Comment 18 Sam CLA 2010-10-25 14:21:35 EDT
Forgot to mention, I pass the object to the service method using its interface, if that has any significance...
Comment 19 Sam CLA 2010-10-25 15:32:14 EDT
Solved issue #2, it had noting to do with EMF. Issue #1, though, does pertain to EMF editor generation.

Thanks
Comment 20 Ed Merks CLA 2010-10-25 16:27:50 EDT
Sam,

I'd need an Ecore model that reproduces the problem locally to comment.
Comment 21 Sam CLA 2010-10-25 16:59:57 EDT
Created attachment 181679 [details]
2 ecore models used

Ed, 

These are the 2 models I used. I generated the genmodel using the auction.ecore model as root.

Also, if anyone is interested, the issue with not being able to serialize java.lang.Boolean is because the GWT compiler could not determine if that type is needed by RPC, and did not include it in the rpc policy file. The solution (ugly one) is to include a dummy Boolean anywhere in your code that is seen by compiler.

Thanks,
Sam
Comment 22 Ed Merks CLA 2010-10-25 17:03:05 EDT
Note that we generate a utility class XyzPackageImpl.Whitespace to help populate the white lists.  A a dummy method like this in your service interface will ensure that all your modeled class and data type instance can be serialized.

  URISerice.WhiteList whiteList(URIService.WhiteList whiteList);
Comment 23 Sam CLA 2010-10-25 17:18:10 EDT
Great to know. Thanks!

(In reply to comment #22)
> Note that we generate a utility class XyzPackageImpl.Whitespace to help
> populate the white lists.  A a dummy method like this in your service interface
> will ensure that all your modeled class and data type instance can be
> serialized.
> 
>   URISerice.WhiteList whiteList(URIService.WhiteList whiteList);
Comment 24 Sam CLA 2010-10-25 19:23:59 EDT
Ed, 

One mode question. I understand this EMF 2.7 has been built against 3.6 versions... If I want to install EMFT (for diagraming) which versions should I get? Just want to save time hunting for the right version. Thanks.
Comment 25 Ed Merks CLA 2010-10-25 19:26:31 EDT
Gosh, I'm not sure if the Helios version of Ecore Tools will install with this version of EMF.  It depends on whether it or any of its dependencies upper bound on EMF 2.6.  I'd try that first though and see if there are complaints...
Comment 26 Ed Merks CLA 2010-10-25 19:34:06 EDT
Okay, I was able to reproduce that problem.  We do only want to generate a single editor, so we shouldn't refer to packages we won't generated.  As a workaround, you can edit the MANIFEST.MF to fix it and set Update Classpath to false so it's not regenerated with the error next time...
Comment 27 Sam CLA 2010-10-25 21:54:20 EDT
Awesome. Thanks! Yes, that's what I did, and that got rid of that issue... I did, however, run into another minor one... The *.gwt.xml files produced by genmodel generator are put into the root package under "war/WEB-INF/classes/com" directory. When trying to launch the project as Web Application, the launch configuration can't locate the modules on the classpath. I moved it in the directory just under the client package ("war/WEB-INF/classes/com/ararat/client in my case), and it started up without problems. Also. the first letter of the package names within the *.gwt.xml files are truncated, so it looks like this:

<source path="om.ararat.client.auction"/>

This can easily be corrected, of course.

Thanks for your help!
Sam.

(In reply to comment #26)
> Okay, I was able to reproduce that problem.  We do only want to generate a
> single editor, so we shouldn't refer to packages we won't generated.  As a
> workaround, you can edit the MANIFEST.MF to fix it and set Update Classpath to
> false so it's not regenerated with the error next time...
Comment 28 Ed Merks CLA 2010-12-13 16:40:29 EST
The M4 build has good support now.
Comment 29 Ed Merks CLA 2010-12-13 16:42:46 EST
The fixes are available in a published build.
Comment 30 Ed Merks CLA 2010-12-14 23:28:07 EST
Try again to resolve as fixed (and available in a build).
Comment 31 Ed Merks CLA 2010-12-14 23:29:45 EST
Oh, I guess I have to close them!
Comment 32 Sam CLA 2011-01-03 18:47:44 EST
Ed, I am having difficulty installing from
http://download.cloudsmith.com/emf4gwt/sdk

I am following instructions on http://wiki.eclipse.org/EMF/GWT with fresh Eclipse 3.6.1 Classic install on Mac64

Is this where the milestone build is? The installer seems to "loop" and gets stuck on 47% completion fetching org.eclipse.emf.mapping.ecore2... packages, and never get past that point.

It finally fails with the following error:

An error occurred while collecting items to be installed
session context was:(profile=SDKProfile, phase=org.eclipse.equinox.internal.p2.engine.phases.Collect, operand=, action=).
No repository found containing: osgi.bundle,com.google.appengine.eclipse.core,1.4.1.v201012170127
No repository found containing: osgi.bundle,com.google.gdt.eclipse.core,1.4.1.v201012170127
No repository found containing: osgi.bundle,com.google.gdt.eclipse.maven,1.4.1.v201012170127
No repository found containing: osgi.bundle,com.google.gdt.eclipse.platform,1.4.1.v201012170127
No repository found containing: osgi.bundle,com.google.gdt.eclipse.platform.e36,1.4.1.v201012170127
No repository found containing: osgi.bundle,com.google.gdt.eclipse.platform.shared,1.4.1.v201012170127
No repository found containing: osgi.bundle,com.google.gdt.eclipse.suite,1.4.1.v201012170127
No repository found containing: org.eclipse.update.feature,com.google.gdt.eclipse.suite.e36.feature,1.4.1.v201012170127
No repository found containing: osgi.bundle,com.google.gwt.eclipse.core,1.4.1.v201012170127
No repository found containing: osgi.bundle,com.google.gwt.eclipse.oophm,1.4.1.v201012170127
Unable to connect to repository http://download.cloudsmith.com/emf4gwt/sdk/I201012222039/plugins/org.eclipse.emf.codegen.ecore.source_2.7.0.v20101222-2039.jar
Connection refused
Unable to connect to repository http://download.cloudsmith.com/emf4gwt/sdk/I201012222039/plugins/org.eclipse.emf.common.ui.source_2.7.0.v20101222-2039.jar
Connection refused
Multiple problems occurred while downloading.
Unable to connect to repository http://download.cloudsmith.com/emf4gwt/sdk/I201012222039/plugins/org.eclipse.emf.mapping_2.7.0.v20101222-2039.jar.pack.gz
Connection refused
Unable to connect to repository http://download.cloudsmith.com/emf4gwt/sdk/I201012222039/plugins/org.eclipse.emf.mapping_2.7.0.v20101222-2039.jar
Connection refused
Unable to connect to repository http://download.cloudsmith.com/emf4gwt/sdk/I201012222039/plugins/org.eclipse.emf.mapping.ecore_2.6.0.v20101222-2039.jar
Connection refused
Unable to connect to repository http://download.cloudsmith.com/emf4gwt/sdk/I201012222039/plugins/org.eclipse.emf.mapping.ecore.editor_2.6.0.v20101222-2039.jar
Connection refused
Unable to connect to repository http://download.cloudsmith.com/emf4gwt/sdk/I201012222039/features/org.eclipse.emf.mapping.ecore.editor_2.6.0.v20101222-0000.jar
Connection refused
Unable to connect to repository http://download.cloudsmith.com/emf4gwt/sdk/I201012222039/features/org.eclipse.emf.mapping.ecore.editor.source_2.6.0.v20101222-0000.jar
Connection refused
Unable to connect to repository http://download.cloudsmith.com/emf4gwt/sdk/I201012222039/binary/org.eclipse.emf.mapping.ecore.editor_root_2.6.0.v20101222-0000
Connection refused
Unable to connect to repository http://download.cloudsmith.com/emf4gwt/sdk/I201012222039/features/org.eclipse.emf.mapping.ecore_2.6.0.v20101222-0000.jar
Connection refused
Unable to connect to repository http://download.cloudsmith.com/emf4gwt/sdk/I201012222039/features/org.eclipse.emf.mapping.ecore.source_2.6.0.v20101222-0000.jar
Connection refused
Problems downloading artifact: osgi.bundle,org.eclipse.emf.mapping.ecore2ecore.editor.source,2.4.0.v20100521-1847.
MD5 hash is not as expected. Expected: 4e73654de1ee67c1b5aee0fc9eccd1c5 and found 2b5f99197b25b3c6fd3bd191fe27d722.
Problems downloading artifact: osgi.bundle,org.eclipse.emf.mapping.ecore2ecore.source,2.5.0.v20100521-1847.
MD5 hash is not as expected. Expected: a92406f8133725e19e73348167d83887 and found 886f3a5bb29a0ce87b4a09ba854927ef.
HTTP Server 'Service Unavailable': http://ftp.ussg.iu.edu/eclipse/releases/helios/201009240900/aggregate/plugins/org.eclipse.emf.mapping.ecore2xml.source_2.5.0.v20100521-1847.jar
HttpClient connection error response code 503.
Problems downloading artifact: osgi.bundle,org.eclipse.emf.mapping.ecore2xml.ui.source,2.5.0.v20100521-1847.
MD5 hash is not as expected. Expected: d36d13a76216390b87315a8b9ee82eec and found ad46d41861999dbace58a912f1901f2d.
Unable to connect to repository http://download.cloudsmith.com/emf4gwt/sdk/I201012222039/binary/org.eclipse.emf.mapping.ecore_root_2.6.0.v20101222-0000
Connection refused
Unable to connect to repository http://download.cloudsmith.com/emf4gwt/sdk/I201012222039/features/org.eclipse.emf.mapping_2.7.0.v20101222-0000.jar
Connection refused
Unable to connect to repository http://download.cloudsmith.com/emf4gwt/sdk/I201012222039/plugins/org.eclipse.emf.mapping.source_2.7.0.v20101222-2039.jar
Connection refused
Unable to connect to repository http://download.cloudsmith.com/emf4gwt/sdk/I201012222039/features/org.eclipse.emf.mapping.source_2.7.0.v20101222-0000.jar
Connection refused
Multiple problems occurred while downloading.
Unable to connect to repository http://download.cloudsmith.com/emf4gwt/sdk/I201012222039/plugins/org.eclipse.emf.mapping.ui_2.6.0.v20101222-2039.jar.pack.gz
Connection refused
Unable to connect to repository http://download.cloudsmith.com/emf4gwt/sdk/I201012222039/plugins/org.eclipse.emf.mapping.ui_2.6.0.v20101222-2039.jar
Connection refused
Unable to connect to repository http://download.cloudsmith.com/emf4gwt/sdk/I201012222039/features/org.eclipse.emf.mapping.ui_2.6.0.v20101222-0000.jar
Operation timed out
Unable to connect to repository http://download.cloudsmith.com/emf4gwt/sdk/I201012222039/plugins/org.eclipse.emf.mapping.ui.source_2.6.0.v20101222-2039.jar
Connection refused
Unable to connect to repository http://download.cloudsmith.com/emf4gwt/sdk/I201012222039/features/org.eclipse.emf.mapping.ui.source_2.6.0.v20101222-0000.jar
Connection refused
Unable to connect to repository http://download.cloudsmith.com/emf4gwt/sdk/I201012222039/binary/org.eclipse.emf.mapping.ui_root_2.6.0.v20101222-0000
Connection refused
Problems downloading artifact: osgi.bundle,org.eclipse.emf.mapping.xsd2ecore.editor.source,2.6.0.v20100521-1855.
MD5 hash is not as expected. Expected: 7753305766937edb3b943754dd3dee32 and found 0c1ca52c3ab8d3d01a2f58f201afdcd9.
Problems downloading artifact: osgi.bundle,org.eclipse.emf.mapping.xsd2ecore.source,2.5.0.v20100521-1855.
MD5 hash is not as expected. Expected: a59787c1fc85c99d90852d857be7931c and found 7d5f497d900f5afc741d4e9aaeb85b25.
Unable to connect to repository http://download.cloudsmith.com/emf4gwt/sdk/I201012222039/binary/org.eclipse.emf.mapping_root_2.7.0.v20101222-0000
Connection refused
Unable to connect to repository http://download.cloudsmith.com/emf4gwt/sdk/I201012222039/features/org.eclipse.emf.sdk_2.7.0.v20101222-0000.jar
Connection refused
Unable to connect to repository http://download.cloudsmith.com/emf4gwt/sdk/I201012222039/binary/org.eclipse.emf.sdk_root_2.7.0.v20101222-0000
Connection refused
Unable to connect to repository http://download.cloudsmith.com/emf4gwt/sdk/I201012222039/features/org.eclipse.emf.source_2.7.0.v20101222-0000.jar
Connection refused
Unable to connect to repository http://download.cloudsmith.com/emf4gwt/sdk/I201012222039/binary/org.eclipse.emf_root_2.7.0.v20101222-0000
Connection refused
Multiple problems occurred while downloading.
Unable to connect to repository http://download.cloudsmith.com/emf4gwt/sdk/I201012222039/plugins/org.eclipse.xsd_2.7.0.v20101222-2039.jar.pack.gz
Connection refused
Unable to connect to repository http://download.cloudsmith.com/emf4gwt/sdk/I201012222039/plugins/org.eclipse.xsd_2.7.0.v20101222-2039.jar
Connection refused
Problems downloading artifact: osgi.bundle,org.eclipse.xsd.cheatsheets,2.6.0.v20100521-1855.
MD5 hash is not as expected. Expected: db535c8541b223cea9eb2008a3c008b2 and found 62e0d8b1d63493cd773fcf4361329174.
Problems downloading artifact: osgi.bundle,org.eclipse.xsd.cheatsheets.source,2.6.0.v20100521-1855.
MD5 hash is not as expected. Expected: d3259dede07d5328feed2143b8c68f16 and found fc5766117656ef77ed16bfb6819dbedb.
Unable to connect to repository http://download.cloudsmith.com/emf4gwt/sdk/I201012222039/plugins/org.eclipse.xsd.doc_2.6.0.v20101222-2039.jar
Connection refused
Unable to connect to repository http://download.cloudsmith.com/emf4gwt/sdk/I201012222039/features/org.eclipse.xsd.doc_2.6.0.v20101222-0000.jar
Connection refused
Unable to connect to repository http://download.cloudsmith.com/emf4gwt/sdk/I201012222039/features/org.eclipse.xsd.doc.source_2.6.0.v20101222-0000.jar
Connection refused
Unable to connect to repository http://download.cloudsmith.com/emf4gwt/sdk/I201012222039/binary/org.eclipse.xsd.doc_root_2.6.0.v20101222-0000
Connection refused
Unable to connect to repository http://download.cloudsmith.com/emf4gwt/sdk/I201012222039/plugins/org.eclipse.xsd.ecore.converter_2.6.0.v20101222-2039.jar
Connection refused
Unable to connect to repository http://download.cloudsmith.com/emf4gwt/sdk/I201012222039/features/org.eclipse.xsd.ecore.converter_2.6.0.v20101222-0000.jar
Connection refused
Unable to connect to repository http://download.cloudsmith.com/emf4gwt/sdk/I201012222039/features/org.eclipse.xsd.ecore.converter.source_2.6.0.v20101222-0000.jar
Connection refused
Unable to connect to repository http://download.cloudsmith.com/emf4gwt/sdk/I201012222039/binary/org.eclipse.xsd.ecore.converter_root_2.6.0.v20101222-0000
Connection refused
Problems downloading artifact: osgi.bundle,org.eclipse.xsd.ecore.exporter.source,2.5.0.v20100521-1855.
MD5 hash is not as expected. Expected: 5968ebee60f15dd0dec2387ff2b23076 and found c757087f91970b3b15debb3b714b7ba9.
Problems downloading artifact: osgi.bundle,org.eclipse.xsd.ecore.importer.source,2.6.0.v20100521-1855.
MD5 hash is not as expected. Expected: b8fc5410e64382496ac6ea18a626514b and found 88a62461b9a8f0bc999cb1316484841a.
Multiple problems occurred while downloading.
Unable to connect to repository http://download.cloudsmith.com/emf4gwt/sdk/I201012222039/plugins/org.eclipse.xsd.edit_2.6.0.v20101222-2039.jar.pack.gz
Connection refused
Unable to connect to repository http://download.cloudsmith.com/emf4gwt/sdk/I201012222039/plugins/org.eclipse.xsd.edit_2.6.0.v20101222-2039.jar
Connection refused
Unable to connect to repository http://download.cloudsmith.com/emf4gwt/sdk/I201012222039/features/org.eclipse.xsd.edit_2.6.0.v20101222-0000.jar
Operation timed out
Unable to connect to repository http://download.cloudsmith.com/emf4gwt/sdk/I201012222039/features/org.eclipse.xsd.edit.source_2.6.0.v20101222-0000.jar
Connection refused
Multiple problems occurred while downloading.
Unable to connect to repository http://download.cloudsmith.com/emf4gwt/sdk/I201012222039/plugins/org.eclipse.xsd.editor_2.6.0.v20101222-2039.jar.pack.gz
Connection refused
Unable to connect to repository http://download.cloudsmith.com/emf4gwt/sdk/I201012222039/plugins/org.eclipse.xsd.editor_2.6.0.v20101222-2039.jar
Connection refused
Unable to connect to repository http://download.cloudsmith.com/emf4gwt/sdk/I201012222039/features/org.eclipse.xsd.editor_2.6.0.v20101222-0000.jar
Connection refused
Unable to connect to repository http://download.cloudsmith.com/emf4gwt/sdk/I201012222039/plugins/org.eclipse.xsd.editor.source_2.6.0.v20101222-2039.jar
Connection refused
Unable to connect to repository http://download.cloudsmith.com/emf4gwt/sdk/I201012222039/binary/org.eclipse.xsd.editor_root_2.6.0.v20101222-0000
Connection refused
Unable to connect to repository http://download.cloudsmith.com/emf4gwt/sdk/I201012222039/plugins/org.eclipse.xsd.example.installer_1.1.0.v20100824-1606.jar
Connection refused
Unable to connect to repository http://download.cloudsmith.com/emf4gwt/sdk/I201012222039/features/org.eclipse.xsd_2.7.0.v20101222-0000.jar
Connection refused


Sam.



(In reply to comment #31)
> Oh, I guess I have to close them!
Comment 33 Kenn Hussey CLA 2011-01-04 09:28:14 EST
For some reason there was a problem with the last repository that was published. It's been updated and I've verified that it now works.
Comment 34 Sam CLA 2011-01-04 09:58:34 EST
Thank you, Kenn.

(In reply to comment #33)
> For some reason there was a problem with the last repository that was
> published. It's been updated and I've verified that it now works.
Comment 35 Sam CLA 2011-01-05 20:27:30 EST
Ken, I can confirm that installation works as per above instructions, however, GWT compile fails with the following error:

      [ERROR] Errors in 'jar:file:/Users/samd/epiSphere/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/org.eclipse.emf.gwt.edit.ui_2.7.0.v20101129-1629.jar!/org/eclipse/emf/edit/ui/EditorEntryPoint.java'
         [ERROR] Line 571: The type new AbstractCell<Object>(){} must implement the inherited abstract method AbstractCell<Object>.render(Cell.Context, Object, SafeHtmlBuilder)
         [ERROR] Line 574: The method render(Object, Object, SafeHtmlBuilder) of type new AbstractCell<Object>(){} must override or implement a supertype method
   Removing invalidated units

Should I open a separate bug, since this one has been closed?

Thanks
Sam.

(In reply to comment #34)
> Thank you, Kenn.
> 
> (In reply to comment #33)
> > For some reason there was a problem with the last repository that was
> > published. It's been updated and I've verified that it now works.
Comment 36 Kenn Hussey CLA 2011-01-05 20:42:49 EST
(In reply to comment #35)
> Ken, I can confirm that installation works as per above instructions, however,
> GWT compile fails with the following error:
> 
>       [ERROR] Errors in
> 'jar:file:/Users/samd/epiSphere/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/org.eclipse.emf.gwt.edit.ui_2.7.0.v20101129-1629.jar!/org/eclipse/emf/edit/ui/EditorEntryPoint.java'
>          [ERROR] Line 571: The type new AbstractCell<Object>(){} must implement
> the inherited abstract method AbstractCell<Object>.render(Cell.Context, Object,
> SafeHtmlBuilder)
>          [ERROR] Line 574: The method render(Object, Object, SafeHtmlBuilder)
> of type new AbstractCell<Object>(){} must override or implement a supertype
> method
>    Removing invalidated units
> 

Which version of GWT are you using? This latest build depends on GWT 2.1.1.
Comment 37 Sam CLA 2011-01-05 23:18:32 EST
I was using 2.1M3, as per instructions. I will upgrade to 2.1.1 and retry. Thanks.

(In reply to comment #36)
> (In reply to comment #35)
> > Ken, I can confirm that installation works as per above instructions, however,
> > GWT compile fails with the following error:
> > 
> >       [ERROR] Errors in
> > 'jar:file:/Users/samd/epiSphere/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/org.eclipse.emf.gwt.edit.ui_2.7.0.v20101129-1629.jar!/org/eclipse/emf/edit/ui/EditorEntryPoint.java'
> >          [ERROR] Line 571: The type new AbstractCell<Object>(){} must implement
> > the inherited abstract method AbstractCell<Object>.render(Cell.Context, Object,
> > SafeHtmlBuilder)
> >          [ERROR] Line 574: The method render(Object, Object, SafeHtmlBuilder)
> > of type new AbstractCell<Object>(){} must override or implement a supertype
> > method
> >    Removing invalidated units
> > 
> 
> Which version of GWT are you using? This latest build depends on GWT 2.1.1.
Comment 38 Sam CLA 2011-01-06 00:12:31 EST
Actually, I just checked... I am using GWT 2.1.1 12/17 build. A regular GWT project (not extending EditorEntryPoint) compiles OK.

(In reply to comment #37)
> I was using 2.1M3, as per instructions. I will upgrade to 2.1.1 and retry.
> Thanks.
> 
> (In reply to comment #36)
> > (In reply to comment #35)
> > > Ken, I can confirm that installation works as per above instructions, however,
> > > GWT compile fails with the following error:
> > > 
> > >       [ERROR] Errors in
> > > 'jar:file:/Users/samd/epiSphere/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/org.eclipse.emf.gwt.edit.ui_2.7.0.v20101129-1629.jar!/org/eclipse/emf/edit/ui/EditorEntryPoint.java'
> > >          [ERROR] Line 571: The type new AbstractCell<Object>(){} must implement
> > > the inherited abstract method AbstractCell<Object>.render(Cell.Context, Object,
> > > SafeHtmlBuilder)
> > >          [ERROR] Line 574: The method render(Object, Object, SafeHtmlBuilder)
> > > of type new AbstractCell<Object>(){} must override or implement a supertype
> > > method
> > >    Removing invalidated units
> > > 
> > 
> > Which version of GWT are you using? This latest build depends on GWT 2.1.1.
Comment 39 Ed Merks CLA 2011-01-06 02:39:37 EST
You're sure?  You've deleted the old SDK and ensured the new one is the default?

The problem you describe is exactly the one needed to move from 2.1 to 2.1.1, so I'm very doubtful.
Comment 40 Sam CLA 2011-01-06 15:13:01 EST
Pretty certain, Ed. I did a clean install, and the GWT 2.1.1 I am using is part of the plugin bundles registered, and set as default. I will try to remove metadata directory, clean up, and if that does not work will reinstall one more time from scratch. Thanks. Will give it another clean try.

Sam.
(In reply to comment #39)
> You're sure?  You've deleted the old SDK and ensured the new one is the
> default?
> 
> The problem you describe is exactly the one needed to move from 2.1 to 2.1.1,
> so I'm very doubtful.
Comment 41 Ed Merks CLA 2011-01-06 15:34:18 EST
Looking closely at your error message, can I ask that you have a close look at what's on the line that it's complaining about.  It should look like this:

              public void render(Context context, Object value, SafeHtmlBuilder safeHtmlBuilder)
              {

I.e., the first argument should be of type Context not Object.  Your comment makes it sound like there's an older version of the source involved.
Comment 42 Sam CLA 2011-01-06 21:04:23 EST
Thanks for looking further into this, Ed. I will double check. It is possible that somehow the source is out of sync with the runtime, that's why I want to clear cache (metadata) and retry.

Sam.

(In reply to comment #41)
> Looking closely at your error message, can I ask that you have a close look at
> what's on the line that it's complaining about.  It should look like this:
> 
>               public void render(Context context, Object value, SafeHtmlBuilder
> safeHtmlBuilder)
>               {
> 
> I.e., the first argument should be of type Context not Object.  Your comment
> makes it sound like there's an older version of the source involved.
Comment 43 Sam CLA 2011-01-06 21:17:34 EST
I attached the screenshot with my plugin configuration. There are some plugin libraries that refer to 2.6.0, and some 2.7. I am not sure how I got them, since I used the link to install EMF for GWT, not any external sources. Is it possible that http://download.cloudsmith.com/emf4gwt/sdk bundles incorrectly? I will try reinstalling from scratch again. Will let you know.

(In reply to comment #42)
> Thanks for looking further into this, Ed. I will double check. It is possible
> that somehow the source is out of sync with the runtime, that's why I want to
> clear cache (metadata) and retry.
> 
> Sam.
> 
> (In reply to comment #41)
> > Looking closely at your error message, can I ask that you have a close look at
> > what's on the line that it's complaining about.  It should look like this:
> > 
> >               public void render(Context context, Object value, SafeHtmlBuilder
> > safeHtmlBuilder)
> >               {
> > 
> > I.e., the first argument should be of type Context not Object.  Your comment
> > makes it sound like there's an older version of the source involved.
Comment 44 Sam CLA 2011-01-06 21:18:50 EST
Created attachment 186242 [details]
Plugin configuration after install

Install using instruction on http://wiki.eclipse.org/EMF/GWT
Comment 45 Ed Merks CLA 2011-01-06 21:31:37 EST
I don't think it's possible for the source to be out of sync.  It's correct that some bundles are at version 2.7 (they've been changed since the last release) and some are at 2.6 or earlier (they've not been changed since that release. Try using Ctrl-Shift-T to open EditorEntryPoint and verify what you see as the source at the lines GWT is complaining about...
Comment 46 Sam CLA 2011-01-06 21:41:21 EST
After the very first step of installation, installing
http://download.cloudsmith.com/emf4gwt/sdk

I have similar references to 2.6 sources. So, which one contains the EntryPoint source? I assume it is the edit.ui package, which is 2.6

(In reply to comment #44)
> Created attachment 186242 [details]
> Plugin configuration after install
> 
> Install using instruction on http://wiki.eclipse.org/EMF/GWT
Comment 47 Sam CLA 2011-01-06 21:44:03 EST
OK. Let me complete installation and veryfy...
(In reply to comment #45)
> I don't think it's possible for the source to be out of sync.  It's correct
> that some bundles are at version 2.7 (they've been changed since the last
> release) and some are at 2.6 or earlier (they've not been changed since that
> release. Try using Ctrl-Shift-T to open EditorEntryPoint and verify what you
> see as the source at the lines GWT is complaining about...
Comment 48 Sam CLA 2011-01-06 21:55:50 EST
Nope. After installation the source code for EditorEntryPoint has:

public void render(Object value, Object key, SafeHtmlBuilder safeHtmlBuilder)

So, you are right, somehow the old source is pulled. I used nothing but the 4 steps described on Wiki:
1. Install EMF4GWT SDK
2. Install GWT 2.1.1 (based on Kenn's comment)
3. install App Engine 1.4.0
4. Install EMF4GWT Runtime

All this on clean Classic Eclipse 3.6.1 installation

(In reply to comment #41)
> Looking closely at your error message, can I ask that you have a close look at
> what's on the line that it's complaining about.  It should look like this:
> 
>               public void render(Context context, Object value, SafeHtmlBuilder
> safeHtmlBuilder)
>               {
> 
> I.e., the first argument should be of type Context not Object.  Your comment
> makes it sound like there's an older version of the source involved.
Comment 49 Sam CLA 2011-01-06 22:06:38 EST
And this source is indeed pulled from
.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/org.eclipse.emf.gwt.edit.ui_2.7.0.v20101129-1629.jar of the newly installed plugin

(In reply to comment #48)
> Nope. After installation the source code for EditorEntryPoint has:
> 
> public void render(Object value, Object key, SafeHtmlBuilder safeHtmlBuilder)
> 
> So, you are right, somehow the old source is pulled. I used nothing but the 4
> steps described on Wiki:
> 1. Install EMF4GWT SDK
> 2. Install GWT 2.1.1 (based on Kenn's comment)
> 3. install App Engine 1.4.0
> 4. Install EMF4GWT Runtime
> 
> All this on clean Classic Eclipse 3.6.1 installation
> 
> (In reply to comment #41)
> > Looking closely at your error message, can I ask that you have a close look at
> > what's on the line that it's complaining about.  It should look like this:
> > 
> >               public void render(Context context, Object value, SafeHtmlBuilder
> > safeHtmlBuilder)
> >               {
> > 
> > I.e., the first argument should be of type Context not Object.  Your comment
> > makes it sound like there's an older version of the source involved.
Comment 50 Kenn Hussey CLA 2011-01-07 09:26:36 EST
(In reply to comment #49)
> And this source is indeed pulled from
> .metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/org.eclipse.emf.gwt.edit.ui_2.7.0.v20101129-1629.jar
> of the newly installed plugin
> 

This timestamp seems old. From where are you installing the runtime components? Looking at the wiki, I see that it still says to obtain them from the Cloudsmith repository (http://download.cloudsmith.com/emf4gwt/runtime), but as of M4 they are now being built (and hosted) at Eclipse. If you haven't already, please try installing the target components from http://download.eclipse.org/modeling/emf/emf/updates/2.7milestones (or http://download.eclipse.org/modeling/emf/emf/updates/2.7-I-builds).

Ed, could you please update the wiki page as previously requested?
Comment 51 Sam CLA 2011-01-07 11:05:11 EST
I did install the runtime from the link on Wiki, so I will try pulling runtime from the Eclipse site instead. Do I still use the Wiki link for the SDK? I guess we did establish that the source code that gets pulled is incorrect, and I am trying to confirm if pulling runtime from Eclipse update site will correct this issue.

Sam.

(In reply to comment #50)
> (In reply to comment #49)
> > And this source is indeed pulled from
> > .metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/org.eclipse.emf.gwt.edit.ui_2.7.0.v20101129-1629.jar
> > of the newly installed plugin
> > 
> 
> This timestamp seems old. From where are you installing the runtime components?
> Looking at the wiki, I see that it still says to obtain them from the
> Cloudsmith repository (http://download.cloudsmith.com/emf4gwt/runtime), but as
> of M4 they are now being built (and hosted) at Eclipse. If you haven't already,
> please try installing the target components from
> http://download.eclipse.org/modeling/emf/emf/updates/2.7milestones (or
> http://download.eclipse.org/modeling/emf/emf/updates/2.7-I-builds).
> 
> Ed, could you please update the wiki page as previously requested?
Comment 52 Sam CLA 2011-01-07 12:12:04 EST
Installing runtime from Eclipse site dies not address my issue - the source code is still the one with the wrong signature.

(In reply to comment #51)
> I did install the runtime from the link on Wiki, so I will try pulling runtime
> from the Eclipse site instead. Do I still use the Wiki link for the SDK? I
> guess we did establish that the source code that gets pulled is incorrect, and
> I am trying to confirm if pulling runtime from Eclipse update site will correct
> this issue.
> 
> Sam.
> 
> (In reply to comment #50)
> > (In reply to comment #49)
> > > And this source is indeed pulled from
> > > .metadata/.plugins/org.eclipse.pde.core/.bundle_pool/plugins/org.eclipse.emf.gwt.edit.ui_2.7.0.v20101129-1629.jar
> > > of the newly installed plugin
> > > 
> > 
> > This timestamp seems old. From where are you installing the runtime components?
> > Looking at the wiki, I see that it still says to obtain them from the
> > Cloudsmith repository (http://download.cloudsmith.com/emf4gwt/runtime), but as
> > of M4 they are now being built (and hosted) at Eclipse. If you haven't already,
> > please try installing the target components from
> > http://download.eclipse.org/modeling/emf/emf/updates/2.7milestones (or
> > http://download.eclipse.org/modeling/emf/emf/updates/2.7-I-builds).
> > 
> > Ed, could you please update the wiki page as previously requested?
Comment 53 Ed Merks CLA 2011-01-07 12:14:44 EST
I'll update the wiki steps in the next hours and get back to you here with my findings.
Comment 54 Sam CLA 2011-01-07 12:23:30 EST
Thanks Ed. One other thing to note is that the Eclipse site also has SDK plugin (in addition to Runtime), but if I try to install both from Eclipse site, I get dependency errors.

(In reply to comment #53)
> I'll update the wiki steps in the next hours and get back to you here with my
> findings.
Comment 55 Ed Merks CLA 2011-01-07 14:03:16 EST
I updated the wiki and got it working.  Note it's important to use http://download.eclipse.org/modeling/emf/emf/updates/2.7-I-builds because that's where the 20101220 or later builds are located which are needed to work with GWT 2.1.1.
Comment 56 Sam CLA 2011-01-07 14:52:48 EST
Ed, thanks. Just to clarify, the SDK should still be installed from cloudsmith, and runtime from updates/2.7-I-builds?

(In reply to comment #55)
> I updated the wiki and got it working.  Note it's important to use
> http://download.eclipse.org/modeling/emf/emf/updates/2.7-I-builds because
> that's where the 20101220 or later builds are located which are needed to work
> with GWT 2.1.1.
Comment 57 Sam CLA 2011-01-07 15:27:53 EST
GWT compilation is back on track using updated site. Thank you!

Sam.

(In reply to comment #55)
> I updated the wiki and got it working.  Note it's important to use
> http://download.eclipse.org/modeling/emf/emf/updates/2.7-I-builds because
> that's where the 20101220 or later builds are located which are needed to work
> with GWT 2.1.1.
Comment 58 Kenn Hussey CLA 2011-01-07 15:43:37 EST
(In reply to comment #56)
> Ed, thanks. Just to clarify, the SDK should still be installed from cloudsmith,
> and runtime from updates/2.7-I-builds?

Correct. The only reason the SDK (only) should be installed from Cloudsmith is that it needs to be built against Helios (whereas the version at Eclipse is built against Indigo, but the GDT does not yet support Indigo).
Comment 59 Sam CLA 2011-01-07 16:00:37 EST
And, for others that may be interested.... The EMF Tools plugin from the Eclipse Helios update site (Ecore Tools SDK (Incubation)	0.10.0.v20100615-1639) does work with this release of EMF as well. Ed and Kenn, thank you for all your support on this - invaluable! 


(In reply to comment #57)
> GWT compilation is back on track using updated site. Thank you!
> 
> Sam.
> 
> (In reply to comment #55)
> > I updated the wiki and got it working.  Note it's important to use
> > http://download.eclipse.org/modeling/emf/emf/updates/2.7-I-builds because
> > that's where the 20101220 or later builds are located which are needed to work
> > with GWT 2.1.1.
Comment 60 Sam CLA 2011-01-07 16:01:56 EST
Got it, makes sense... I forgot about that nuance.

(In reply to comment #58)
> (In reply to comment #56)
> > Ed, thanks. Just to clarify, the SDK should still be installed from cloudsmith,
> > and runtime from updates/2.7-I-builds?
> 
> Correct. The only reason the SDK (only) should be installed from Cloudsmith is
> that it needs to be built against Helios (whereas the version at Eclipse is
> built against Indigo, but the GDT does not yet support Indigo).
Comment 61 Miles Parker CLA 2011-01-07 16:23:28 EST
(In reply to comment #59)
> And, for others that may be interested.... The EMF Tools plugin from the
> Eclipse Helios update site (Ecore Tools SDK (Incubation)   
> 0.10.0.v20100615-1639) does work with this release of EMF as well. Ed and Kenn,
> thank you for all your support on this - invaluable! 

Continuing this epic thread, does that mean GWT support for Helios as well? That's becoming less and less important every day but could be helpful.
Comment 62 Sam CLA 2011-01-07 16:47:18 EST
Yeah, that's pretty much what it is.

(In reply to comment #61)
> (In reply to comment #59)
> > And, for others that may be interested.... The EMF Tools plugin from the
> > Eclipse Helios update site (Ecore Tools SDK (Incubation)   
> > 0.10.0.v20100615-1639) does work with this release of EMF as well. Ed and Kenn,
> > thank you for all your support on this - invaluable! 
> 
> Continuing this epic thread, does that mean GWT support for Helios as well?
> That's becoming less and less important every day but could be helpful.
Comment 63 Sam CLA 2011-01-20 21:12:54 EST
Kenn/Ed, I successfully deployed application to GAE, just want to point out a problem I ran to in the process (I found a workaround). When deploying to the cloud (local works fine), I ran into:
java.lang.SecurityException: SHA1 digest error exception at runtime on 
URIService class in org.eclipse.emf.gwt.common_2.6.0.v20101222-0915.jar
and another class in org.eclipse.emf.gwt.ecore_2.6.0.v20101222-0915.jar

The obvious solution is to remove signatures from the jar files and patch deployed code, but I thought going forward you may want to know.

Thanks
Sam.
Comment 64 Ed Merks CLA 2011-01-20 21:20:12 EST
Yes, we've changed our most recent build to turn off signing of the jars to avoid this issue.  Thanks for letting us know about your experience!
Comment 65 Sam CLA 2011-01-20 23:44:20 EST
Thank YOU for the support! Ed, where would be the best place to discuss / post on the latest EMF4GWT release related question going forward? This thread must die :-) I feel like I have overstayed my welcome in this bugzilla that has been closed. Is there a forum dedicated to EMF4GWT specifically?

(In reply to comment #64)
> Yes, we've changed our most recent build to turn off signing of the jars to
> avoid this issue.  Thanks for letting us know about your experience!
Comment 66 Ed Merks CLA 2011-01-20 23:48:58 EST
Using the regular EMF forum and prefixing the subject line with [GWT] when it's specific to the GWT runtime should work well.  You'll see there's a recent thread from Miles Parker there...
Comment 67 Sam CLA 2011-01-21 00:09:41 EST
Great, thank you.

(In reply to comment #66)
> Using the regular EMF forum and prefixing the subject line with [GWT] when it's
> specific to the GWT runtime should work well.  You'll see there's a recent
> thread from Miles Parker there...
Comment 68 bluetlck Mising name CLA 2013-01-16 20:19:06 EST
Created attachment 225741 [details]
the patch fixed GWT  Boolean SerializationException

Caused by: com.google.gwt.user.client.rpc.SerializationException: Type 'java.lang.Boolean' was not included in the set of types which can be serialized by this SerializationPolicy or its Class object could not be loaded. For security purposes, this type will not be serialized.: instance = true

Except Boolean, Integer\Date.. type also appears this bug.


My solution is to modify org.eclipse.emf.ecore.impl.BasicEObjectImpl_CustomFieldSerializer.java

repace the .class file in org.eclipse.emf.gwt.ecore_....jar
Comment 69 Ed Merks CLA 2013-01-17 08:22:30 EST
I'm not sure what you want to me to do with this or what problem its fixing.  The symptom just sounds like Boolean isn't on the white list.  The code looks very different from what's in http://git.eclipse.org/c/emf/org.eclipse.emf.git

It seems closely related to the issues in http://www.eclipse.org/forums/index.php/t/447651/ which I believe are addressed with a "dummy" method in the service interface that ensures that all classes and data types for all models end up on the white list...
Comment 70 bluetlck Mising name CLA 2013-02-07 05:06:01 EST
thank  for you reply.

I use the GWT version of the EMF both  the client and server.

if the EAttribute's dataType is int,boolean,double,date...and so on, when the client callback,the SerializationException was throw.(Type 'java.lang.Boolean' was not included in the set of types which can be serialized by this SerializationPolicy or its Class object could not be loaded.) 

so i read the source of BasicEObjectImpl_CustomFieldSerializer,i found when  serialize and deserialize the attribue, the Primitive types,such as int ,is stored as Integer . and Integer is not default in WhiteList.

so i modified the source of  BasicEObjectImpl_CustomFieldSerializer,no using Object,using primitive type store attribute.

may be has other better methods,for example,default add Integer to WhiteList,but i don't know have to do.








(In reply to comment #69)
> I'm not sure what you want to me to do with this or what problem its fixing.
> The symptom just sounds like Boolean isn't on the white list.  The code
> looks very different from what's in
> http://git.eclipse.org/c/emf/org.eclipse.emf.git
> 
> It seems closely related to the issues in
> http://www.eclipse.org/forums/index.php/t/447651/ which I believe are
> addressed with a "dummy" method in the service interface that ensures that
> all classes and data types for all models end up on the white list...
Comment 71 bluetlck Mising name CLA 2013-06-19 17:53:51 EDT
Created attachment 232574 [details]
the patch fixed GWT Boolean SerializationException v0.2

use primitive data types serialize and deserialize EObjects.
so no need to add data types for all models end up on the white list.