diff --git a/README.md b/README.md index 92a779c17..6188ae9e8 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ ![License](http://img.shields.io/:license-apache-blue.svg) [![Gitter](https://badges.gitter.im/davidsowerby/krail.svg)](https://gitter.im/davidsowerby/krail?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) -[![Build Status](https://travis-ci.org/davidsowerby/krailkrail.svg?branch=master)](https://travis-ci.org/davidsowerby/krail) +[![Build Status](https://travis-ci.org/davidsowerby/krail.svg?branch=master)](https://travis-ci.org/davidsowerby/krail) [![Coverage Status](https://coveralls.io/repos/github/davidsowerby/krail/badge.svg?branch=master)](https://coveralls.io/github/davidsowerby/krail?branch=master) Krail provides a framework for rapid Java web development by combining Vaadin, Guice, Apache Shiro, Apache Commons Configuration and others. For more information, see the comprehensive [Tutorial](http://krail.readthedocs.org/en/master/), which also makes a reasonable demo. (You can clone directly from the [Tutorial repo](https://github.com/davidsowerby/krail-tutorial)) diff --git a/src/main/java/uk/q3c/krail/core/config/DefaultApplicationConfigurationService.java b/src/main/java/uk/q3c/krail/core/config/DefaultApplicationConfigurationService.java index 5a7b8de93..0f7f35ae9 100644 --- a/src/main/java/uk/q3c/krail/core/config/DefaultApplicationConfigurationService.java +++ b/src/main/java/uk/q3c/krail/core/config/DefaultApplicationConfigurationService.java @@ -103,7 +103,7 @@ protected void doStart() { log.debug("adding configuration from {} at index {}", file.getAbsolutePath(), k); } catch (Exception ce) { if (!iniConfig.isOptional()) { - String msg = ("Configuration Service failed to start, unable to load required configuration file: {}"); + String msg = "Configuration Service failed to start, unable to load required configuration file: {}"; log.error(msg, file.getAbsolutePath()); throw new ConfigurationException(msg + file.getAbsolutePath(), ce); } else { diff --git a/src/main/java/uk/q3c/krail/core/data/DefaultOptionElementConverter.java b/src/main/java/uk/q3c/krail/core/data/DefaultOptionElementConverter.java index 3dd98a81e..5b3ab8c2a 100644 --- a/src/main/java/uk/q3c/krail/core/data/DefaultOptionElementConverter.java +++ b/src/main/java/uk/q3c/krail/core/data/DefaultOptionElementConverter.java @@ -48,7 +48,7 @@ public DefaultOptionElementConverter() { public String convertValueToString(@Nonnull Object value) { Class modelType = value.getClass(); if (modelType == String.class) { - return ((String) value); + return (String) value; } else if (modelType == Integer.class) { return Ints.stringConverter() .reverse() @@ -85,7 +85,7 @@ public String convertValueToString(@Nonnull Object value) { @Nonnull public V convertStringToValue(@Nonnull Class elementClass, @Nonnull String valueString) { if (elementClass == String.class) { - return ((V) valueString); + return (V) valueString; } else if (elementClass == Integer.class) { return (V) Ints.stringConverter() .convert(valueString); diff --git a/src/main/java/uk/q3c/krail/core/data/OptionListConverter.java b/src/main/java/uk/q3c/krail/core/data/OptionListConverter.java index afe39c940..de02ae90b 100644 --- a/src/main/java/uk/q3c/krail/core/data/OptionListConverter.java +++ b/src/main/java/uk/q3c/krail/core/data/OptionListConverter.java @@ -79,6 +79,6 @@ public OptionList convertToModel(@Nonnull OptionList defaultValue, @No String unescaped = StringEscapeUtils.unescapeCsv(s); elementList.add(converter.convertStringToValue(elementClass, unescaped)); }); - return new OptionList(elementList, elementClass); + return new OptionList<>(elementList, elementClass); } } diff --git a/src/main/java/uk/q3c/krail/core/eventbus/EventBusModule.java b/src/main/java/uk/q3c/krail/core/eventbus/EventBusModule.java index fe05e1fbd..9926d1e52 100644 --- a/src/main/java/uk/q3c/krail/core/eventbus/EventBusModule.java +++ b/src/main/java/uk/q3c/krail/core/eventbus/EventBusModule.java @@ -109,11 +109,11 @@ protected void bindConfigurationErrorHandlers() { * All buses use the default error handler by default. Override this method to provide alternative bindings. */ protected void bindPublicationErrorHandlers() { - bind((IPublicationErrorHandler.class)).annotatedWith(UIBus.class) + bind(IPublicationErrorHandler.class).annotatedWith(UIBus.class) .to(DefaultEventBusErrorHandler.class); - bind((IPublicationErrorHandler.class)).annotatedWith(SessionBus.class) + bind(IPublicationErrorHandler.class).annotatedWith(SessionBus.class) .to(DefaultEventBusErrorHandler.class); - bind((IPublicationErrorHandler.class)).annotatedWith(GlobalBus.class) + bind(IPublicationErrorHandler.class).annotatedWith(GlobalBus.class) .to(DefaultEventBusErrorHandler.class); } @@ -187,7 +187,7 @@ private PubSubSupport createBus(IBusConfiguration config, IPublicati config.setProperty(Properties.Handler.PublicationError, publicationErrorHandler); config.addConfigurationErrorHandler(configurationErrorHandler); PubSubSupport eventBus; - eventBus = (useAsync) ? new MBassador<>(config) : new SyncMessageBus<>(config); + eventBus = useAsync ? new MBassador<>(config) : new SyncMessageBus<>(config); ((AbstractPubSubSupport) eventBus).addErrorHandler(publicationErrorHandler); log.debug("instantiated a {} Bus with id {}", name, eventBus.getRuntime() .get(Properties.Common.Id)); diff --git a/src/main/java/uk/q3c/krail/core/guice/threadscope/ThreadCache.java b/src/main/java/uk/q3c/krail/core/guice/threadscope/ThreadCache.java index 62aac4c07..e95398543 100644 --- a/src/main/java/uk/q3c/krail/core/guice/threadscope/ThreadCache.java +++ b/src/main/java/uk/q3c/krail/core/guice/threadscope/ThreadCache.java @@ -56,7 +56,7 @@ public void reset() { * Cache class for type capture and minimizing ThreadLocal lookups. */ public static class Cache { - private final Map, Object> map = new HashMap, Object>(); + private final Map, Object> map = new HashMap<>(); public Cache() { } diff --git a/src/main/java/uk/q3c/krail/core/guice/uiscope/UIScope.java b/src/main/java/uk/q3c/krail/core/guice/uiscope/UIScope.java index 2bef406ac..376a2d424 100644 --- a/src/main/java/uk/q3c/krail/core/guice/uiscope/UIScope.java +++ b/src/main/java/uk/q3c/krail/core/guice/uiscope/UIScope.java @@ -36,7 +36,7 @@ public class UIScope implements Scope { private static volatile UIScope current; - private final Map, Object>> cache = new TreeMap, Object>>(); + private final Map, Object>> cache = new TreeMap<>(); public UIScope() { super(); @@ -71,7 +71,7 @@ Map, Object> getScopedObjectMap(UIKey uiKey) { } private Map, Object> createCacheEntry(UIKey uiKey) { - Map, Object> uiEntry = new HashMap, Object>(); + Map, Object> uiEntry = new HashMap<>(); cache.put(uiKey, uiEntry); log.debug("created a scope cache for UIScope with key: {}", uiKey); return uiEntry; @@ -104,7 +104,7 @@ public void flush() { @Override public Provider scope(Key key, Provider unscoped) { - return new UIScopeProvider(this, key, unscoped); + return new UIScopeProvider<>(this, key, unscoped); } public ImmutableList scopeKeys() { diff --git a/src/main/java/uk/q3c/krail/core/guice/vsscope/VaadinSessionScope.java b/src/main/java/uk/q3c/krail/core/guice/vsscope/VaadinSessionScope.java index 079094461..395cbba64 100644 --- a/src/main/java/uk/q3c/krail/core/guice/vsscope/VaadinSessionScope.java +++ b/src/main/java/uk/q3c/krail/core/guice/vsscope/VaadinSessionScope.java @@ -73,7 +73,7 @@ Map, Object> getScopedObjectMap(VaadinSession vaadinSession) { } private Map, Object> createCacheEntry(VaadinSession vaadinSession) { - Map, Object> sessionEntry = new HashMap, Object>(); + Map, Object> sessionEntry = new HashMap<>(); cache.put(vaadinSession, sessionEntry); log.debug("created a scope cache for VaadinSessionScope with key: {}", vaadinSession); return sessionEntry; @@ -102,7 +102,7 @@ public void flush() { @Override public Provider scope(Key key, Provider unscoped) { - return new VaadinSessionScopeProvider(this, key, unscoped); + return new VaadinSessionScopeProvider<>(this, key, unscoped); } public ImmutableList scopeKeys() { diff --git a/src/main/java/uk/q3c/krail/core/i18n/DefaultI18NProcessor.java b/src/main/java/uk/q3c/krail/core/i18n/DefaultI18NProcessor.java index e0c499f35..2226e6a8a 100644 --- a/src/main/java/uk/q3c/krail/core/i18n/DefaultI18NProcessor.java +++ b/src/main/java/uk/q3c/krail/core/i18n/DefaultI18NProcessor.java @@ -76,7 +76,7 @@ public void translate(@Nullable Object target) { return; } log.debug("scanning class '{}' for I18N annotations", target.getClass()); - List processedFields = new ArrayList(); + List processedFields = new ArrayList<>(); translate(processedFields, target); } diff --git a/src/main/java/uk/q3c/krail/core/navigate/NavigationState.java b/src/main/java/uk/q3c/krail/core/navigate/NavigationState.java index 4aeb4cb54..99ff3f906 100644 --- a/src/main/java/uk/q3c/krail/core/navigate/NavigationState.java +++ b/src/main/java/uk/q3c/krail/core/navigate/NavigationState.java @@ -62,7 +62,7 @@ */ public class NavigationState implements Serializable { private static Logger log = getLogger(NavigationState.class); - private final Map parameters = new LinkedHashMap(); + private final Map parameters = new LinkedHashMap<>(); // fragment is out of date private boolean fragmentChanged; private boolean partsChanged; diff --git a/src/main/java/uk/q3c/krail/core/navigate/sitemap/comparator/DefaultUserSitemapSorters.java b/src/main/java/uk/q3c/krail/core/navigate/sitemap/comparator/DefaultUserSitemapSorters.java index c245da711..0e93b3097 100644 --- a/src/main/java/uk/q3c/krail/core/navigate/sitemap/comparator/DefaultUserSitemapSorters.java +++ b/src/main/java/uk/q3c/krail/core/navigate/sitemap/comparator/DefaultUserSitemapSorters.java @@ -60,13 +60,13 @@ protected DefaultUserSitemapSorters(AlphabeticAscending alphaAscending, Alphabet private void select() { switch (sortType) { case ALPHA: - selectedComparator = (ascending) ? alphaAscending : alphaDescending; + selectedComparator = ascending ? alphaAscending : alphaDescending; break; case INSERTION: - selectedComparator = (ascending) ? insertionAscending : insertionDescending; + selectedComparator = ascending ? insertionAscending : insertionDescending; break; case POSITION: - selectedComparator = (ascending) ? positionAscending : positionDescending; + selectedComparator = ascending ? positionAscending : positionDescending; break; } } diff --git a/src/main/java/uk/q3c/krail/core/option/DefaultOptionPopup.java b/src/main/java/uk/q3c/krail/core/option/DefaultOptionPopup.java index fa1bc7701..9ebeedd95 100644 --- a/src/main/java/uk/q3c/krail/core/option/DefaultOptionPopup.java +++ b/src/main/java/uk/q3c/krail/core/option/DefaultOptionPopup.java @@ -110,14 +110,14 @@ public void popup(@Nonnull OptionContext context, I18NKey windowCaption) { Button defaultsButton = new Button(translate.from(LabelKey.Reset_to_Default)); defaultsButton.setId(ID.getId(optionKeyName, this, defaultsButton)); - defaultsButton.addClickListener((event -> { + defaultsButton.addClickListener(event -> { option.delete(key, 0); //we create an event to represent the field which whose value will be affected by this change AbstractField.ValueChangeEvent changeEvent = new AbstractField.ValueChangeEvent(uiField); context.optionValueChanged(changeEvent); //update the value of the field - it may have changed setFieldValue(uiField, option.get(key)); - })); + }); baseLayout.addComponent(new FormLayout(uiField), 0, row); baseLayout.addComponent(new FormLayout(defaultsButton), 1, row); row++; diff --git a/src/main/java/uk/q3c/krail/core/persist/cache/i18n/DefaultPatternCacheLoader.java b/src/main/java/uk/q3c/krail/core/persist/cache/i18n/DefaultPatternCacheLoader.java index 4931ea94f..7386c539d 100644 --- a/src/main/java/uk/q3c/krail/core/persist/cache/i18n/DefaultPatternCacheLoader.java +++ b/src/main/java/uk/q3c/krail/core/persist/cache/i18n/DefaultPatternCacheLoader.java @@ -145,7 +145,7 @@ public String load(@Nonnull PatternCacheKey cacheKey) throws Exception { */ protected String stubValue(Class source, PatternCacheKey cacheKey) { Boolean stubWithKeyName = option.get(optionKeyStubWithKeyName.qualifiedWith(source.getSimpleName())); - return (stubWithKeyName) ? cacheKey.getKeyAsEnum() + return stubWithKeyName ? cacheKey.getKeyAsEnum() .name() : option.get(optionKeyStubValue.qualifiedWith(source.getSimpleName())); } diff --git a/src/main/java/uk/q3c/krail/core/persist/common/option/DefaultOptionDao.java b/src/main/java/uk/q3c/krail/core/persist/common/option/DefaultOptionDao.java index ffa53e6a1..73cfc135e 100644 --- a/src/main/java/uk/q3c/krail/core/persist/common/option/DefaultOptionDao.java +++ b/src/main/java/uk/q3c/krail/core/persist/common/option/DefaultOptionDao.java @@ -124,7 +124,7 @@ protected Optional getStringValue(@Nonnull OptionCacheKey cacheKey) { protected Optional getRankedValue(@Nonnull OptionCacheKey cacheKey, boolean lowest) { ImmutableList ranks = cacheKey.getHierarchy() .ranksForCurrentUser(); - ImmutableList ranksToUse = (lowest) ? ranks.reverse() : ranks; + ImmutableList ranksToUse = lowest ? ranks.reverse() : ranks; for (String rank : ranksToUse) { OptionCacheKey specificKey = new OptionCacheKey<>(cacheKey, rank, RankOption.SPECIFIC_RANK); Optional stringValue = getStringValue(specificKey); diff --git a/src/main/java/uk/q3c/krail/core/services/AbstractServicesGraph.java b/src/main/java/uk/q3c/krail/core/services/AbstractServicesGraph.java index f90f0afb0..c0a2d5c34 100644 --- a/src/main/java/uk/q3c/krail/core/services/AbstractServicesGraph.java +++ b/src/main/java/uk/q3c/krail/core/services/AbstractServicesGraph.java @@ -88,13 +88,13 @@ public synchronized List findDependants(@Nonnull T dependency, @Nonnull Selec private Collection getDependenciesEdges(@Nonnull T dependant) { Collection edges = graph.getOutEdges(dependant); - return (edges == null) ? new ArrayList() : edges; + return (edges == null) ? new ArrayList<>() : edges; } private Collection getDependantsEdges(@Nonnull T dependency) { Collection edges = graph.getInEdges(dependency); - return (edges == null) ? new ArrayList() : edges; + return (edges == null) ? new ArrayList<>() : edges; } @Override diff --git a/src/main/java/uk/q3c/krail/core/shiro/DefaultSubjectIdentifier.java b/src/main/java/uk/q3c/krail/core/shiro/DefaultSubjectIdentifier.java index 3bbdd9cb6..4e8c25716 100644 --- a/src/main/java/uk/q3c/krail/core/shiro/DefaultSubjectIdentifier.java +++ b/src/main/java/uk/q3c/krail/core/shiro/DefaultSubjectIdentifier.java @@ -55,9 +55,9 @@ public String subjectName() { Subject subject = subjectProvider.get(); boolean authenticated = subject.isAuthenticated(); boolean remembered = subject.isRemembered(); - String name = (authenticated) ? subject.getPrincipal() + String name = authenticated ? subject.getPrincipal() .toString() : translate.from(LabelKey.Guest); - return (remembered) ? subject.getPrincipal() + "?" : name; + return remembered ? subject.getPrincipal() + "?" : name; } diff --git a/src/main/java/uk/q3c/krail/core/shiro/PageAccessController.java b/src/main/java/uk/q3c/krail/core/shiro/PageAccessController.java index 0783e6981..9e7c14242 100644 --- a/src/main/java/uk/q3c/krail/core/shiro/PageAccessController.java +++ b/src/main/java/uk/q3c/krail/core/shiro/PageAccessController.java @@ -77,7 +77,7 @@ public List authorisedChildNodes(@Nonnull Subject subject, @N checkNotNull(sitemap); checkNotNull(parentNode); List subnodes = sitemap.getChildren(parentNode); - ArrayList authorisedSubNodes = new ArrayList(); + ArrayList authorisedSubNodes = new ArrayList<>(); for (MasterSitemapNode node : subnodes) { if (isAuthorised(subject, sitemap, node)) { authorisedSubNodes.add(node); diff --git a/src/main/java/uk/q3c/krail/core/shiro/aop/KrailShiroAopModule.java b/src/main/java/uk/q3c/krail/core/shiro/aop/KrailShiroAopModule.java index 32061919f..5a63724f7 100644 --- a/src/main/java/uk/q3c/krail/core/shiro/aop/KrailShiroAopModule.java +++ b/src/main/java/uk/q3c/krail/core/shiro/aop/KrailShiroAopModule.java @@ -92,20 +92,20 @@ public KrailShiroAopModule select(Class annotationClass) { protected void bindInterceptors(Provider subjectProviderProvider, Provider annotationResolverProvider) { if (selectedAnnotations.contains(RequiresPermissions.class)) { - bindMethodInterceptor((RequiresPermissions.class), permissionsInterceptor(subjectProviderProvider, annotationResolverProvider)); + bindMethodInterceptor(RequiresPermissions.class, permissionsInterceptor(subjectProviderProvider, annotationResolverProvider)); } if (selectedAnnotations.contains(RequiresUser.class)) { - bindMethodInterceptor((RequiresUser.class), userInterceptor(subjectProviderProvider, annotationResolverProvider)); + bindMethodInterceptor(RequiresUser.class, userInterceptor(subjectProviderProvider, annotationResolverProvider)); } if (selectedAnnotations.contains(RequiresGuest.class)) { - bindMethodInterceptor((RequiresGuest.class), guestInterceptor(subjectProviderProvider, annotationResolverProvider)); + bindMethodInterceptor(RequiresGuest.class, guestInterceptor(subjectProviderProvider, annotationResolverProvider)); } if (selectedAnnotations.contains(RequiresAuthentication.class)) { - bindMethodInterceptor((RequiresAuthentication.class), authenticatedInterceptor(subjectProviderProvider, annotationResolverProvider)); + bindMethodInterceptor(RequiresAuthentication.class, authenticatedInterceptor(subjectProviderProvider, annotationResolverProvider)); } if (selectedAnnotations.contains(RequiresRoles.class)) { - bindMethodInterceptor((RequiresRoles.class), rolesInterceptor(subjectProviderProvider, annotationResolverProvider)); + bindMethodInterceptor(RequiresRoles.class, rolesInterceptor(subjectProviderProvider, annotationResolverProvider)); } } diff --git a/src/main/java/uk/q3c/krail/core/ui/form/BeanFieldGroupBase.java b/src/main/java/uk/q3c/krail/core/ui/form/BeanFieldGroupBase.java index d6e2c162e..9562fd6cd 100644 --- a/src/main/java/uk/q3c/krail/core/ui/form/BeanFieldGroupBase.java +++ b/src/main/java/uk/q3c/krail/core/ui/form/BeanFieldGroupBase.java @@ -188,7 +188,7 @@ protected Object findPropertyId(java.lang.reflect.Field memberField) { * The bean to use as data source. */ public void setItemDataSource(T bean) { - BeanItem beanItem = new BeanItem(bean); + BeanItem beanItem = new BeanItem<>(bean); setItemDataSource(beanItem); } diff --git a/src/main/java/uk/q3c/krail/core/view/component/DefaultUserStatusPanel.java b/src/main/java/uk/q3c/krail/core/view/component/DefaultUserStatusPanel.java index c427dc234..fa99bbf6b 100644 --- a/src/main/java/uk/q3c/krail/core/view/component/DefaultUserStatusPanel.java +++ b/src/main/java/uk/q3c/krail/core/view/component/DefaultUserStatusPanel.java @@ -93,7 +93,7 @@ protected final void build() { log.debug("building with Locale={}", currentLocale.getLocale()); boolean authenticated = subjectProvider.get() .isAuthenticated(); - String caption = (authenticated) ? translate.from(LabelKey.Log_Out) : translate.from(LabelKey.Log_In); + String caption = authenticated ? translate.from(LabelKey.Log_Out) : translate.from(LabelKey.Log_In); log.debug("Caption is '{}'", caption); login_logout_Button.setCaption(caption.toLowerCase()); usernameLabel.setValue(subjectIdentifier.subjectName()); diff --git a/src/main/java/uk/q3c/krail/core/view/component/NavigationButtonPanel.java b/src/main/java/uk/q3c/krail/core/view/component/NavigationButtonPanel.java index 276a1ddcd..54a24c231 100644 --- a/src/main/java/uk/q3c/krail/core/view/component/NavigationButtonPanel.java +++ b/src/main/java/uk/q3c/krail/core/view/component/NavigationButtonPanel.java @@ -76,7 +76,7 @@ protected void organiseButtons(List nodeList) { log.debug("{} nodes to display before filtering", nodeList.size()); List filteredList = filteredList(nodeList); log.debug("{} nodes to display after filtering", filteredList.size()); - int maxIndex = (filteredList.size() > buttons.size() ? filteredList.size() : buttons.size()); + int maxIndex = filteredList.size() > buttons.size() ? filteredList.size() : buttons.size(); for (int i = 0; i < maxIndex; i++) { // nothing left in chain if (i + 1 > filteredList.size()) { diff --git a/src/main/java/uk/q3c/krail/testutil/eventbus/TestEventBusModule.java b/src/main/java/uk/q3c/krail/testutil/eventbus/TestEventBusModule.java index c2d395d00..904795a2e 100644 --- a/src/main/java/uk/q3c/krail/testutil/eventbus/TestEventBusModule.java +++ b/src/main/java/uk/q3c/krail/testutil/eventbus/TestEventBusModule.java @@ -31,11 +31,11 @@ public class TestEventBusModule extends EventBusModule { */ @Override protected void bindPublicationErrorHandlers() { - bind((IPublicationErrorHandler.class)).annotatedWith(UIBus.class) + bind(IPublicationErrorHandler.class).annotatedWith(UIBus.class) .to(TestEventBusErrorHandler.class); - bind((IPublicationErrorHandler.class)).annotatedWith(SessionBus.class) + bind(IPublicationErrorHandler.class).annotatedWith(SessionBus.class) .to(TestEventBusErrorHandler.class); - bind((IPublicationErrorHandler.class)).annotatedWith(GlobalBus.class) + bind(IPublicationErrorHandler.class).annotatedWith(GlobalBus.class) .to(TestEventBusErrorHandler.class); } } diff --git a/src/main/java/uk/q3c/util/BasicForest.java b/src/main/java/uk/q3c/util/BasicForest.java index 61b73485a..e0bae725a 100644 --- a/src/main/java/uk/q3c/util/BasicForest.java +++ b/src/main/java/uk/q3c/util/BasicForest.java @@ -50,7 +50,7 @@ public class BasicForest implements Serializable { private Forest graph; public BasicForest() { - graph = new DelegateForest(new DirectedOrderedSparseMultigraph<>()); + graph = new DelegateForest<>(new DirectedOrderedSparseMultigraph<>()); } public boolean hasChild(V parentNode, V childNode) { @@ -133,7 +133,7 @@ private Integer newEdge() { */ public V getNode(V node) { Collection x = graph.getVertices(); - List list = new ArrayList(x); + List list = new ArrayList<>(x); int n = list.indexOf(node); if (n < 0) { return null; @@ -143,7 +143,7 @@ public V getNode(V node) { public List getChildren(V parentNode) { Collection children = graph.getChildren(parentNode); - List result = new ArrayList(); + List result = new ArrayList<>(); if (children != null) { result.addAll(children); } @@ -159,7 +159,7 @@ public List getChildren(V parentNode) { */ public List getSubtreeNodes(V parentNode) { Collection children = graph.getChildren(parentNode); - List list = new ArrayList(); + List list = new ArrayList<>(); list.add(parentNode); if (children != null) { for (V v : children) { @@ -200,13 +200,13 @@ private void findLeaves(V parentNode, List leaves) { * @see #findLeaves(Object) */ public List findLeaves() { - List leaves = new ArrayList(); + List leaves = new ArrayList<>(); findLeaves(getRoot(), leaves); return leaves; } public List findLeaves(V parentNode) { - List leaves = new ArrayList(); + List leaves = new ArrayList<>(); findLeaves(parentNode, leaves); return leaves; } @@ -221,7 +221,7 @@ public Collection getEntries() { } public void clear() { - graph = new DelegateForest(); + graph = new DelegateForest<>(); edgeCount = 0; } @@ -233,7 +233,7 @@ public void clear() { */ public List getRoots() { Collection> t = graph.getTrees(); - List branchRoots = new ArrayList(); + List branchRoots = new ArrayList<>(); for (Tree branch : t) { branchRoots.add(branch.getRoot()); } @@ -295,7 +295,7 @@ public Forest getGraph() { * @return */ public List getAllNodes() { - return new ArrayList(graph.getVertices()); + return new ArrayList<>(graph.getVertices()); } public V getRootFor(V node) { @@ -359,7 +359,7 @@ private void mergeSubGraph(BasicForest sourceSubGraph, V targetParentVertex) * @return */ private BasicForest subGraph(V root, V newRoot) { - BasicForest subGraph = new BasicForest(); + BasicForest subGraph = new BasicForest<>(); copyChildren(this, root, subGraph, newRoot); return subGraph; }