Why it's look like a design problem?

Can I create ActivityManager with CachingActivityMapper 
and FilteredActivityMapper?

Somthing like this:

public CachingHorizontalMasterActivityMapper(HorizontalMasterActivityMapper 
horizontalMasterActivityMapper) {

    FilteredActivityMapper.Filter filter = new 
FilteredActivityMapper.Filter() {
      @Override
      public Place filter(Place place) {
        return place instanceof MailDetailPlace ? new MailListPlace() : 
place;
      }
    };

    CachingActivityMapper cachingActivityMapper = new 
CachingActivityMapper(horizontalMasterActivityMapper);
    filteredActivityMapper = new FilteredActivityMapper(filter, 
cachingActivityMapper);
  }

  @Override
  public Activity getActivity(Place place) {
    return filteredActivityMapper.getActivity(place);
  }

This ActivityManager does not stop currently started activity 
MailListActivity if new place is MailDetailPlace, right?

If, so, why ActivityManager ask current MailListActivity mayStop, if it 
will not stop it?

Is there in my words any logic?

Or you mean that my ListEditActivity has design problem? 

ListEditActivity is responsible for saving all changed list items in one 
server call, each item has been changed by ItemDetailActivity (but not 
actually sended to server for save).
for this functionality there is ListEditView which implements 
IsEditor<ListEditor<T, E>>

and ListEditActivity.mayStop is performed then user go from one item to 
edit another item in list - trying to change ItemDetailPlace - this place 
stops current ItemDetailActivity and starts new ItemDetailActivity
this call of ListEditActivity.mayStop not need because ListEditActivity 
will not stopped. Only ItemDetailActivity will be stopped in 
ItemDetailActivity.mayStop needt to call.

And call ListEditActivity.mayStop need only when place ListEditPlace is 
changed, then ListEditActivity will be stopped

very kind of you to send me those links ))))


On Thursday, March 26, 2015 at 8:27:25 PM UTC+3, Eric Ponthiaux wrote:
>
> It looks like a design problem .
>
> But if you really want to continue in this way , start by reading :
>
>
> http://www.gwtproject.org/javadoc/latest/com/google/gwt/place/shared/PlaceChangeEvent.html
>
> http://www.gwtproject.org/javadoc/latest/com/google/gwt/place/shared/PlaceChangeEvent.Handler.html
>
> http://www.gwtproject.org/javadoc/latest/com/google/gwt/place/shared/PlaceChangeRequestEvent.html
>
> http://www.gwtproject.org/javadoc/latest/com/google/gwt/place/shared/PlaceChangeRequestEvent.Handler.html
>
> Regards
>
>
>
>
>
>
>
> Le jeudi 26 mars 2015 11:35:42 UTC+1, Anton Mityagin a écrit :
>>
>>
>> Hi
>>
>> There is need to filter some places in onPlaceChangeRequest in 
>> ActivityManager to prevent call mayStop of currentActivity.
>>
>> for example, I have ListEditActivity where I can edit list items. This 
>> activity managed by ActivityManager this CachingActivityMapper 
>> and FilteredActivityMapper.
>> Also I have ListSelectionItemPlace which indicates currently selected 
>> item in the list
>>
>> After a list item has been edited and selected another item in the list, 
>> there is an attempt to change the place to ListSelectionItemPlace
>> and fired event PlaceChangeRequestEvent. Handler onPlaceChangeRequest in 
>> ActivityManager calls mayStop method of ListEditActivity it is returns some 
>> message
>> because item has been edited.
>>
>> I need to ignore such places change, but I cannot to do it.
>>
>> method mayStop has no any parameters.
>>
>> Handle PlaceChangeRequestEvent in ListEditActivity gets no result because 
>> event handler is still called in ActivityManager before.
>>
>> I can subclass ActivityManager for ListEditActivity and override 
>> onPlaceChangeRequest method, but I have no access to currentActivity to ask 
>> it ignor or not this call.
>>
>>
>> Have any ideas?
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.

Reply via email to