-
- private Module getLatestModule(final SchemaContext schema, final String moduleName) {
- Preconditions.checkArgument(schema != null);
- Preconditions.checkArgument(moduleName != null && !moduleName.isEmpty());
-
- Predicate<Module> filter = new Predicate<Module>() {
- @Override
- public boolean apply(final Module m) {
- return Objects.equal(m.getName(), moduleName);
- }
- };
-
- Iterable<Module> modules = Iterables.filter(schema.getModules(), filter);
- return this.filterLatestModule(modules);
- }
-
- private Module filterLatestModule(final Iterable<Module> modules) {
- Module latestModule = modules.iterator().hasNext() ? modules.iterator().next() : null;
- for (final Module module : modules) {
- if (module.getRevision().after(latestModule.getRevision())) {
- latestModule = module;
- }
- }
- return latestModule;
- }
-