Thursday, December 20, 2012

Re: Error processing @WithTokenizers, cannot find type

I have a similar problem with @WithTokenizers and I used some the
workarounds from this issue:
http://code.google.com/p/google-web-toolkit/issues/detail?id=5658

On Tue 18 Dec 2012 07:01:42 PM ART, Tony B wrote:
> Sadly, not yet. If I found out something, I will update this thread.
>
> On Tuesday, December 18, 2012 9:51:26 AM UTC-5,
> sean.l...@perceptivesoftware.com wrote:
>
> Hi Tony,
>
> Having same problem - did you find a resolution to this?
>
> Thanks
>
> Sean
>
> On Monday, December 17, 2012 5:00:25 PM UTC-5, Tony B wrote:
>
> Hello,
> I have a weird situation. I am getting the following error
> in my
>
> 16:48:34.027 [ERROR] [wmsapp] Error processing
> @WithTokenizers, cannot find type
> com.wmsvision.wmsapp.client.activities.productsearch.ProductSummaryDetailPlace.ProductSummaryDetailPlaceTokenizer
>
>
> The problem is that I know this exists. First of all, this
> happens in the following code:
>
> package com.wmsvision.wmsapp.client;
>
> import com.google.gwt.place.shared.PlaceHistoryMapper;
> import com.google.gwt.place.shared.WithTokenizers;
> import
> com.wmsvision.wmsapp.client.activities.HomePlace.HomePlaceTokenizer;
> import
> com.wmsvision.wmsapp.client.activities.WmsListPlace.WmsListPlaceTokenizer;
> import
> com.wmsvision.wmsapp.client.activities.about.AboutPlace.AboutPlaceTokenizer;
> import
> com.wmsvision.wmsapp.client.activities.configuration.ConfigPlace.ConfigPlaceTokenizer;
> import
> com.wmsvision.wmsapp.client.activities.login.LoginPlace.LoginPlaceTokenizer;
> import
> com.wmsvision.wmsapp.client.activities.productsearch.ProductSummaryDetailPlace.ProductSummaryDetailPlaceTokenizer;
> import
> com.wmsvision.wmsapp.client.activities.productsearch.ProductSummaryMasterPlace.ProductSummaryMasterPlaceTokenizer;
> import
> com.wmsvision.wmsapp.client.activities.productsearch.ProductSummaryPlace.ProductSummaryPlaceTokenizer;
> import
> com.wmsvision.wmsapp.client.activities.receiving.ReceivingPlace.ReceivingPlaceTokenizer;
> import
> com.wmsvision.wmsapp.client.activities.relocation.RelocationPlace.RelocationPlaceTokenizer;
>
> @WithTokenizers({ HomePlaceTokenizer.class,
> LoginPlaceTokenizer.class,
> AboutPlaceTokenizer.class,
> WmsListPlaceTokenizer.class,
> ReceivingPlaceTokenizer.class,
> RelocationPlaceTokenizer.class,
> ProductSummaryPlaceTokenizer.class,
> ProductSummaryDetailPlaceTokenizer.class,
> ProductSummaryMasterPlaceTokenizer.class,
> ConfigPlaceTokenizer.class})
> public interface AppPlaceHistoryMapper extends
> PlaceHistoryMapper {
> }
>
>
> I have a similar place defined in the same package that seems
> to work fine ( it is called "import
> com.wmsvision.wmsapp.client.activities.productsearch.ProductSummaryMasterPlace"
> ). Anyway, the "DetailPlace" should only be accessible from
> the "MasterPlace", so maybe I don't need it in my
> AppPlaceHistoryMapper above. But I would still like to
> understand why it is not working.
>
> Here is the class file in question, the one it cannot seem to
> find:
>
> package com.wmsvision.wmsapp.client.activities.productsearch;
>
> import com.google.gwt.place.shared.Place;
> import com.google.gwt.place.shared.PlaceTokenizer;
>
> public class ProductSummaryDetailPlace extends Place {
> private String product;
> private long index;
> private String id;
> private final String separator = "#:PRODUCTINDEX:#";
>
> public ProductSummaryDetailPlace(String product, long
> index) {
> super();
> this.product = product;
> this.index = index;
>
> createId();
> }
>
> public ProductSummaryDetailPlace( String id ) {
> this( "", 0 );
>
> String tokens[] = ( id != null ?
> id.split(separator) : null );
>
> if( tokens != null && tokens.length >= 1 ){
> this.product = tokens[0];
>
> if( tokens.length >= 2 ){
> this.index = Long.getLong( tokens[1] );
> }
>
> createId();
> }
> }
>
> private void createId( ) {
> this.id <http://this.id> = product.trim() +
> separator + index;
> }
>
>
> public String getProduct() {
> return product;
> }
>
>
>
> public void setProduct(String product) {
> String oldProduct = this.product;
>
> this.product = product;
>
> // Product changed, so recalculate id
> if( !oldProduct.equals(product)) {
> createId();
> }
> }
>
>
>
> public long getIndex() {
> return index;
> }
>
>
>
> public void setIndex(long index) {
> long oldIndex = this.index;
>
> this.index = index;
>
> // Index changed, so recalculate id
> if( oldIndex != index ) {
> createId();
> }
> }
>
>
>
> public String getId() {
> return id;
> }
>
> public static class ProductSummaryDetailPlaceTokenizer
> implements
> PlaceTokenizer<ProductSummaryDetailPlace> {
>
> @Override
> public ProductSummaryDetailPlace getPlace(String
> token) {
> return new ProductSummaryDetailPlace(token);
> }
>
> @Override
> public String getToken(ProductSummaryDetailPlace
> place) {
> return place.getId();
> }
> }
> }
>
>
> Thanks.
>
> Tony
>
> --
> You received this message because you are subscribed to the Google
> Groups "Google Web Toolkit" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/google-web-toolkit/-/KopV8Zn4Y2MJ.
> To post to this group, send email to google-web-toolkit@googlegroups.com.
> To unsubscribe from this group, send email to
> google-web-toolkit+unsubscribe@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/google-web-toolkit?hl=en.


--
You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group.
To post to this group, send email to google-web-toolkit@googlegroups.com.
To unsubscribe from this group, send email to google-web-toolkit+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.

No comments:

Post a Comment