/** * Used for runtime plugins. */ public void addNewEditorActivity(final SyncBeanDef<Activity> activityBean, String priority, String resourceTypeName) { final String id = activityBean.getName(); validateUniqueness(id); activitiesById.put(id, activityBean); this.resourceTypeManagerCache.addResourceActivity(new ActivityAndMetaInfo(iocManager, activityBean, Integer.valueOf(priority), Arrays.asList(resourceTypeName))); this.resourceTypeManagerCache.sortResourceActivitiesByPriority(); }
@PostConstruct void init() { final Collection<SyncBeanDef<Activity>> availableActivities = getAvailableActivities(); for (final SyncBeanDef<Activity> activityBean : availableActivities) { final String id = activityBean.getName(); validateUniqueness(id); activitiesById.put(id, activityBean); if (isSplashScreen(activityBean.getQualifiers())) { splashActivities.add((SplashScreenActivity) activityBean.getInstance()); } else { final Pair<Integer, List<String>> metaInfo = generateActivityMetaInfo(activityBean); if (metaInfo != null) { addResourceActivity(activityBean, metaInfo); } } } this.resourceTypeManagerCache.sortResourceActivitiesByPriority(); }
@Test public void initShouldOrderActivityByPriority() throws Exception { ActivityBeansCacheUnitTestWrapper cache = new ActivityBeansCacheUnitTestWrapper(); int priorityActivityOne = Integer.MIN_VALUE; int priorityActivityTwo = Integer.MAX_VALUE; cache.createActivitiesAndMetaInfo(priorityActivityOne, priorityActivityTwo); ActivityAndMetaInfo firstActivityOnList = cache.getResourceTypeManagerCache().getResourceActivities().get(0); ActivityAndMetaInfo secondActivityOnList = cache.getResourceTypeManagerCache().getResourceActivities().get(1); assertEquals(priorityActivityOne, firstActivityOnList.getPriority()); assertEquals(priorityActivityTwo, secondActivityOnList.getPriority()); cache.getResourceTypeManagerCache().sortResourceActivitiesByPriority(); firstActivityOnList = cache.getResourceTypeManagerCache().getResourceActivities().get(0); secondActivityOnList = cache.getResourceTypeManagerCache().getResourceActivities().get(1); assertEquals(priorityActivityTwo, firstActivityOnList.getPriority()); assertEquals(priorityActivityOne, secondActivityOnList.getPriority()); }
@Test public void initShouldOrderActivityByPriority() throws Exception { ActivityBeansCacheUnitTestWrapper cache = new ActivityBeansCacheUnitTestWrapper(); int priorityActivityOne = Integer.MIN_VALUE; int priorityActivityTwo = Integer.MAX_VALUE; cache.createActivitiesAndMetaInfo(priorityActivityOne, priorityActivityTwo); ActivityAndMetaInfo firstActivityOnList = cache.getResourceTypeManagerCache().getResourceActivities().get(0); ActivityAndMetaInfo secondActivityOnList = cache.getResourceTypeManagerCache().getResourceActivities().get(1); assertEquals(priorityActivityOne, firstActivityOnList.getPriority()); assertEquals(priorityActivityTwo, secondActivityOnList.getPriority()); cache.getResourceTypeManagerCache().sortResourceActivitiesByPriority(); firstActivityOnList = cache.getResourceTypeManagerCache().getResourceActivities().get(0); secondActivityOnList = cache.getResourceTypeManagerCache().getResourceActivities().get(1); assertEquals(priorityActivityTwo, firstActivityOnList.getPriority()); assertEquals(priorityActivityOne, secondActivityOnList.getPriority()); }