Added ? as generic instead of adding suppress warning annotation

git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/data-publishing/document-store-lib@125541 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
Luca Frosini 2016-03-17 09:33:28 +00:00
parent 5cbd6ba072
commit 024c6ed893
1 changed files with 8 additions and 10 deletions

View File

@ -19,7 +19,6 @@ import org.slf4j.LoggerFactory;
/**
* @author Luca Frosini (ISTI - CNR) http://www.lucafrosini.com/
*/
@SuppressWarnings({ "rawtypes" })
public class RecordUtility {
private static Logger logger = LoggerFactory.getLogger(RecordUtility.class);
@ -31,8 +30,8 @@ public class RecordUtility {
protected static Set<Package> recordPackages;
protected static Map<String, Class<? extends Record>> recordClassesFound;
protected static Map<String, Class<? extends AggregatedRecord>> aggregatedRecordClassesFound;
protected static Map<Class<? extends Record>, Class<? extends AggregatedRecord>> recordAggregationMapping;
protected static Map<String, Class<? extends AggregatedRecord<?,?>>> aggregatedRecordClassesFound;
protected static Map<Class<? extends Record>, Class<? extends AggregatedRecord<?,?>>> recordAggregationMapping;
private RecordUtility(){}
@ -52,7 +51,7 @@ public class RecordUtility {
addRecordClass((Class<? extends Record>) clz);
}
if(AggregatedRecord.class.isAssignableFrom(clz)){
addAggregatedRecordClass((Class<? extends AggregatedRecord>) clz);
addAggregatedRecordClass((Class<? extends AggregatedRecord<?,?>>) clz);
}
}
} catch (ClassNotFoundException e) {
@ -84,19 +83,18 @@ public class RecordUtility {
}
}
protected static void addAggregatedRecordClass(Class<? extends AggregatedRecord> cls){
protected static void addAggregatedRecordClass(Class<? extends AggregatedRecord<?,?>> cls){
if(Modifier.isAbstract(cls.getModifiers())){
return;
}
String discoveredRecordType;
try {
AggregatedRecord instance = cls.newInstance();
AggregatedRecord<?,?> instance = cls.newInstance();
discoveredRecordType = instance.getRecordType();
if(!aggregatedRecordClassesFound.containsKey(discoveredRecordType)){
aggregatedRecordClassesFound.put(discoveredRecordType, cls);
@SuppressWarnings("unchecked")
Class<? extends Record> recordClass = instance.getAggregable();
recordAggregationMapping.put(recordClass, cls);
}
@ -118,7 +116,7 @@ public class RecordUtility {
/**
* @return the aggregatedRecordClassesFound
*/
public static Map<String, Class<? extends AggregatedRecord>> getAggregatedRecordClassesFound() {
public static Map<String, Class<? extends AggregatedRecord<?,?>>> getAggregatedRecordClassesFound() {
return aggregatedRecordClassesFound;
}
@ -147,7 +145,7 @@ public class RecordUtility {
}
public static Class<? extends AggregatedRecord> getAggregatedRecordClass(String recordType) throws ClassNotFoundException {
public static Class<? extends AggregatedRecord<?,?>> getAggregatedRecordClass(String recordType) throws ClassNotFoundException {
if(getAggregatedRecordClassesFound().containsKey(recordType)){
return getAggregatedRecordClassesFound().get(recordType);
}
@ -255,7 +253,7 @@ public class RecordUtility {
Class<? extends Record> clz = getClass(className, aggregated);
logger.debug("Trying to instantiate {}", clz);
Class[] usageRecordArgTypes = { Map.class };
Class<?>[] usageRecordArgTypes = { Map.class };
Constructor<? extends Record> usageRecordConstructor = clz.getDeclaredConstructor(usageRecordArgTypes);
Object[] usageRecordArguments = {recordMap};