Created
July 3, 2014 15:52
-
-
Save porcelli/55eb893737cd821a090d to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| package org.kie.uberfire.social.activities.adapters; | |
| import java.util.ArrayList; | |
| import java.util.Date; | |
| import java.util.List; | |
| import javax.enterprise.context.ApplicationScoped; | |
| import javax.inject.Inject; | |
| import org.kie.uberfire.social.activities.model.ExtendedTypes; | |
| import org.kie.uberfire.social.activities.model.SocialActivitiesEvent; | |
| import org.kie.uberfire.social.activities.model.SocialEventType; | |
| import org.kie.uberfire.social.activities.model.SocialUser; | |
| import org.kie.uberfire.social.activities.repository.SocialUserRepository; | |
| import org.kie.uberfire.social.activities.service.SocialAdapter; | |
| import org.kie.uberfire.social.activities.service.SocialCommandTypeFilter; | |
| @ApplicationScoped | |
| public class NewRepositoryEventAdapter implements SocialAdapter<NewRepositoryEvent> { | |
| @Inject | |
| SocialUserRepository socialUserRepository; | |
| @Override | |
| public Class<NewRepositoryEvent> eventToIntercept() { | |
| return NewRepositoryEvent.class; | |
| } | |
| @Override | |
| public SocialEventType socialEventType() { | |
| return ExtendedTypes.NEW_REPOSITORY_EVENT; | |
| } | |
| @Override | |
| public boolean shouldInterceptThisEvent( Object event ) { | |
| if ( event.getClass().getSimpleName().equals( eventToIntercept().getSimpleName() ) ) { | |
| return true; | |
| } | |
| return false; | |
| } | |
| @Override | |
| public SocialActivitiesEvent toSocial( Object object ) { | |
| NewRepositoryEvent event = (NewRepositoryEvent) object; | |
| String aditionalInfo = "created repository " + event.getNewRepository().getAlias(); | |
| return new SocialActivitiesEvent( socialUserRepository.systemUser(), ExtendedTypes.NEW_REPOSITORY_EVENT, new Date(), aditionalInfo ); | |
| } | |
| @Override | |
| public List<SocialCommandTypeFilter> getTimelineFilters() { | |
| ArrayList<SocialCommandTypeFilter> socialCommandTypeFilters = new ArrayList<SocialCommandTypeFilter>(); | |
| socialCommandTypeFilters.add( new SocialCommandTypeFilter() { | |
| @Override | |
| public List<SocialActivitiesEvent> execute( String parameter, | |
| List<SocialActivitiesEvent> events ) { | |
| List<SocialActivitiesEvent> newList = new ArrayList<SocialActivitiesEvent>(); | |
| Integer maxResults = new Integer( parameter ); | |
| for ( int i = 0; i < maxResults; i++ ) { | |
| newList.add( events.get( i ) ); | |
| } | |
| return newList; | |
| } | |
| @Override | |
| public String getCommandName() { | |
| return "max-results"; | |
| } | |
| } ); | |
| socialCommandTypeFilters.add( new SocialCommandTypeFilter() { | |
| @Override | |
| public List<SocialActivitiesEvent> execute( String parameter, | |
| List<SocialActivitiesEvent> events ) { | |
| List<SocialActivitiesEvent> newList = new ArrayList<SocialActivitiesEvent>(); | |
| for ( SocialActivitiesEvent event : events ) { | |
| String name = event.getSocialUser().getName(); | |
| SocialUser socialUser = new SocialUser( name + " - filtered" ); | |
| SocialActivitiesEvent socialEvent = new SocialActivitiesEvent( socialUser, event.getType(), new Date() ); | |
| newList.add( socialEvent ); | |
| } | |
| return newList; | |
| } | |
| @Override | |
| public String getCommandName() { | |
| return "another-filter"; | |
| } | |
| } ); | |
| return socialCommandTypeFilters; | |
| } | |
| @Override | |
| public List<String> getTimelineFiltersNames() { | |
| List<String> names = new ArrayList<String>(); | |
| names.add( "max-results" ); | |
| names.add( "another-filter" ); | |
| return names; | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment