r2639 - branches/topia-2.6.x/topia-persistence/src/main/java/org/nuiton/topia/persistence/metadata
Author: tchemit Date: 2012-08-22 12:47:23 +0200 (Wed, 22 Aug 2012) New Revision: 2639 Url: http://nuiton.org/repositories/revision/topia/2639 Log: refs #2260: Add a metadata package in persistence Modified: branches/topia-2.6.x/topia-persistence/src/main/java/org/nuiton/topia/persistence/metadata/DbMeta.java branches/topia-2.6.x/topia-persistence/src/main/java/org/nuiton/topia/persistence/metadata/Metadatas.java Modified: branches/topia-2.6.x/topia-persistence/src/main/java/org/nuiton/topia/persistence/metadata/DbMeta.java =================================================================== --- branches/topia-2.6.x/topia-persistence/src/main/java/org/nuiton/topia/persistence/metadata/DbMeta.java 2012-08-21 16:09:15 UTC (rev 2638) +++ branches/topia-2.6.x/topia-persistence/src/main/java/org/nuiton/topia/persistence/metadata/DbMeta.java 2012-08-22 10:47:23 UTC (rev 2639) @@ -57,6 +57,28 @@ return new DbMeta<T>(typeProvider, universe, nonEditables); } + public void addTables(List<TableMeta<T>> entities, + Iterable<T> types) { + for (T type : types) { + + TableMeta<T> tableMeta = getTable(type); + if (entities != null) { + entities.add(tableMeta); + } + } + } + + public void addAssociations(List<AssociationMeta<T>> associations, + Iterable<T> types) { + for (T type : types) { + + TableMeta<T> tableMeta = getTable(type); + if (associations != null) { + associations.addAll(tableMeta.getAssociations()); + } + } + } + public List<String> getTableNames() { List<String> result = Lists.newArrayList(); for (TableMeta tableMeta : getTables()) { Modified: branches/topia-2.6.x/topia-persistence/src/main/java/org/nuiton/topia/persistence/metadata/Metadatas.java =================================================================== --- branches/topia-2.6.x/topia-persistence/src/main/java/org/nuiton/topia/persistence/metadata/Metadatas.java 2012-08-21 16:09:15 UTC (rev 2638) +++ branches/topia-2.6.x/topia-persistence/src/main/java/org/nuiton/topia/persistence/metadata/Metadatas.java 2012-08-22 10:47:23 UTC (rev 2639) @@ -29,7 +29,6 @@ import com.google.common.collect.Multimaps; import org.nuiton.topia.persistence.TopiaEntityEnum; -import java.util.List; import java.util.Map; /** @@ -40,39 +39,23 @@ */ public class Metadatas { - public static <T extends TopiaEntityEnum> void addEntries(DbMeta<T> dbMeta, - List<MetaFilenameAware<T>> entities, - List<MetaFilenameAware<T>> associations, - T... types) { - for (T type : types) { - - TableMeta<T> tableMeta = dbMeta.getTable(type); - if (entities != null) { - entities.add(tableMeta); - } - if (associations != null) { - associations.addAll(tableMeta.getAssociations()); - } - } - } - - public static <T extends TopiaEntityEnum> Multimap<T, MetaFilenameAware<T>> split(List<MetaFilenameAware<T>> metas) { - Function<MetaFilenameAware<T>, T> function = newMetaBySourcefunction(); - Multimap<T, MetaFilenameAware<T>> associationsBySource = Multimaps.index(metas, function); + public static <T extends TopiaEntityEnum, M extends MetaFilenameAware<T>> Multimap<T, M> split(Iterable<M> metas) { + Function<M, T> function = newMetaBySourcefunction(); + Multimap<T, M> associationsBySource = Multimaps.index(metas, function); return associationsBySource; } - public static <T extends TopiaEntityEnum> Map<T, MetaFilenameAware<T>> uniqueIndex(List<MetaFilenameAware<T>> metas) { - Function<MetaFilenameAware<T>, T> function = newMetaBySourcefunction(); - Map<T, MetaFilenameAware<T>> associationsBySource = Maps.uniqueIndex(metas, function); + public static <T extends TopiaEntityEnum, M extends MetaFilenameAware<T>> Map<T, M> uniqueIndex(Iterable<M> metas) { + Function<M, T> function = newMetaBySourcefunction(); + Map<T, M> associationsBySource = Maps.uniqueIndex(metas, function); return associationsBySource; } - protected static <T extends TopiaEntityEnum> Function<MetaFilenameAware<T>, T> newMetaBySourcefunction() { - return new Function<MetaFilenameAware<T>, T>() { + protected static <T extends TopiaEntityEnum, M extends MetaFilenameAware<T>> Function<M, T> newMetaBySourcefunction() { + return new Function<M, T>() { @Override - public T apply(MetaFilenameAware<T> input) { + public T apply(M input) { return input.getSource(); } };
participants (1)
-
tchemit@users.nuiton.org