From b6e2449f09ade6cb8841ea0dd365fde4e8bd94dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Euzenat?= <Jerome.Euzenat@inria.fr> Date: Sat, 3 Oct 2015 12:02:04 +0000 Subject: [PATCH] - cleared various warnings [lint] --- .../exmo/align/impl/BasicAlignment.java | 18 ++++++++------ .../align/impl/BitSetDisjunctiveRelation.java | 14 ++++++----- .../exmo/align/impl/DisjunctiveRelation.java | 4 ++-- .../exmo/align/impl/edoal/Comparator.java | 4 ++++ .../exmo/align/impl/eval/GraphEvaluator.java | 24 +++++++++---------- .../align/impl/rel/A5AlgebraRelation.java | 4 ++-- 6 files changed, 39 insertions(+), 29 deletions(-) diff --git a/src/fr/inrialpes/exmo/align/impl/BasicAlignment.java b/src/fr/inrialpes/exmo/align/impl/BasicAlignment.java index c6558a92..34d37b07 100644 --- a/src/fr/inrialpes/exmo/align/impl/BasicAlignment.java +++ b/src/fr/inrialpes/exmo/align/impl/BasicAlignment.java @@ -132,7 +132,6 @@ public class BasicAlignment implements Alignment, Extensible { public void init( Object onto1, Object onto2 ) throws AlignmentException { try { Class<?>[] cArg = { String.class }; - //relationConstructor = (Constructor<Relation>)relationType.getConstructor( cArg ); relationCreationMethod = relationType.getMethod( "createRelation", cArg); } catch ( NoSuchMethodException nsmex ) { // Should be different if NoSuchMethodException or IllegalAccessException @@ -243,7 +242,9 @@ public class BasicAlignment implements Alignment, Extensible { try { Class<?> cl = Class.forName( classname ); if ( Relation.class.isAssignableFrom( cl ) ) { - relationType = (Class<? extends Relation>)cl; + @SuppressWarnings("unchecked") // Yes, that's ridiculous... + Class<? extends Relation> r = (Class<? extends Relation>)cl; + relationType = r; } else { throw new AlignmentException( "Class "+classname+" does not implement the Relation interface" ); } @@ -354,14 +355,17 @@ public class BasicAlignment implements Alignment, Extensible { // Any of them... call the local createRelation()... // First try to understand the relation as correct try { - //return relationConstructor.newInstance( rel ); return (Relation)relationCreationMethod.invoke( null, rel ); } catch ( Exception ex ) { try { // Create a relation from classname - Class<?> relationClass = Class.forName(rel); - Class<?>[] cArg = { String.class }; - Constructor<Relation> localRelationConstructor = (Constructor<Relation>)relationClass.getConstructor( cArg ); - return localRelationConstructor.newInstance( "rel" ); + Class<?> relationClass = (Class<?>)Class.forName(rel); + if ( Relation.class.isAssignableFrom( relationClass ) ) { + Class<?>[] cArg = { String.class }; + @SuppressWarnings("unchecked") // Yes, that's ridiculous... + Constructor<Relation> localRelationConstructor = ((Class<Relation>)relationClass).getConstructor( cArg ); + return localRelationConstructor.newInstance( "rel" ); + } else throw new AlignmentException( "Unknown relation class "+rel ); + // Exception will be caught just below } catch ( Exception ex2 ) { logger.debug( "IGNORED Exception: created Basic Relation)", ex ); //Otherwise, just create a Basic relation diff --git a/src/fr/inrialpes/exmo/align/impl/BitSetDisjunctiveRelation.java b/src/fr/inrialpes/exmo/align/impl/BitSetDisjunctiveRelation.java index 70270c00..0384c25b 100644 --- a/src/fr/inrialpes/exmo/align/impl/BitSetDisjunctiveRelation.java +++ b/src/fr/inrialpes/exmo/align/impl/BitSetDisjunctiveRelation.java @@ -85,7 +85,7 @@ public abstract class BitSetDisjunctiveRelation<T extends BaseRelation> extends } /** intersection */ - protected BitSet protojoin( BitSetDisjunctiveRelation<T>... drs ) { + @SafeVarargs protected final BitSet protojoin( BitSetDisjunctiveRelation<T>... drs ) { BitSet bs = (BitSet)relset.clone(); for( BitSetDisjunctiveRelation<T> dr : drs ) { bs.and( dr.getRelations() ); @@ -93,12 +93,12 @@ public abstract class BitSetDisjunctiveRelation<T extends BaseRelation> extends return bs; } - public DisjunctiveRelation<T> join( DisjunctiveRelation<T>... drs ) throws AlignmentException { + @SuppressWarnings({"unchecked", "varargs"}) public DisjunctiveRelation<T> join( DisjunctiveRelation<T>... drs ) throws AlignmentException { throw new AlignmentException( "Cannot join relations from heterogeneous algebras" ); } /** union */ - protected BitSet protomeet( BitSetDisjunctiveRelation<T>... drs ) { + @SafeVarargs protected final BitSet protomeet( BitSetDisjunctiveRelation<T>... drs ) { BitSet bs = (BitSet)relset.clone(); for( BitSetDisjunctiveRelation<T> dr : drs ) { bs.or( dr.getRelations() ); @@ -106,7 +106,7 @@ public abstract class BitSetDisjunctiveRelation<T extends BaseRelation> extends return bs; } - public DisjunctiveRelation<T> meet( DisjunctiveRelation<T>... drs ) throws AlignmentException { + @SuppressWarnings({"unchecked", "varargs"}) public DisjunctiveRelation<T> meet( DisjunctiveRelation<T>... drs ) throws AlignmentException { throw new AlignmentException( "Cannot meet relations from heterogeneous algebras" ); } @@ -181,9 +181,11 @@ public abstract class BitSetDisjunctiveRelation<T extends BaseRelation> extends return ( ( relset.nextSetBit( index ) != -1 ) ); } - public T next() { + // The class is private and always called with the proper T + // Would be nice to tell, its the same T + @SuppressWarnings({"unchecked"}) public T next() { index = relset.nextSetBit( index ); - if ( index != -1 ) return (T)getRelation( index++ ); + if ( index != -1 ) return (T)getRelation( index++ ); //[W: unchecked] else throw new IllegalStateException(); } } diff --git a/src/fr/inrialpes/exmo/align/impl/DisjunctiveRelation.java b/src/fr/inrialpes/exmo/align/impl/DisjunctiveRelation.java index f369293e..45c423fd 100644 --- a/src/fr/inrialpes/exmo/align/impl/DisjunctiveRelation.java +++ b/src/fr/inrialpes/exmo/align/impl/DisjunctiveRelation.java @@ -39,9 +39,9 @@ public interface DisjunctiveRelation<T extends BaseRelation> extends Relation, I public T getRelation( String rel ); - public DisjunctiveRelation<T> join( DisjunctiveRelation<T>... drs ) throws AlignmentException; + @SuppressWarnings({"unchecked", "varargs"}) public DisjunctiveRelation<T> join( DisjunctiveRelation<T>... drs ) throws AlignmentException; - public DisjunctiveRelation<T> meet( DisjunctiveRelation<T>... drs ) throws AlignmentException; + @SuppressWarnings({"unchecked", "varargs"}) public DisjunctiveRelation<T> meet( DisjunctiveRelation<T>... drs ) throws AlignmentException; public boolean isEmpty(); diff --git a/src/fr/inrialpes/exmo/align/impl/edoal/Comparator.java b/src/fr/inrialpes/exmo/align/impl/edoal/Comparator.java index 597ffd42..c2574f3d 100644 --- a/src/fr/inrialpes/exmo/align/impl/edoal/Comparator.java +++ b/src/fr/inrialpes/exmo/align/impl/edoal/Comparator.java @@ -81,4 +81,8 @@ public class Comparator { else return uri.equals( ((Comparator)ob).getURI() ); } + public int hashCode() { + return 17+7*uri.hashCode(); + } + } diff --git a/src/fr/inrialpes/exmo/align/impl/eval/GraphEvaluator.java b/src/fr/inrialpes/exmo/align/impl/eval/GraphEvaluator.java index 4538083a..d257af41 100644 --- a/src/fr/inrialpes/exmo/align/impl/eval/GraphEvaluator.java +++ b/src/fr/inrialpes/exmo/align/impl/eval/GraphEvaluator.java @@ -1,7 +1,7 @@ /* * $Id$ * - * Copyright (C) INRIA, 2004-2005, 2007-2010, 2013-2014 + * Copyright (C) INRIA, 2004-2005, 2007-2010, 2013-2015 * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by @@ -214,17 +214,17 @@ public abstract class GraphEvaluator { public abstract String xlabel(); public abstract String ylabel(); -} - -class EvalCell { - Cell cell = null; - boolean correct = false; - public EvalCell( Cell c, boolean b ){ - cell = c; - correct = b; + class EvalCell { + Cell cell = null; + boolean correct = false; + + public EvalCell( Cell c, boolean b ){ + cell = c; + correct = b; + } + + public boolean correct() { return correct; } + public Cell cell() { return cell; } } - - public boolean correct() { return correct; } - public Cell cell() { return cell; } } diff --git a/src/fr/inrialpes/exmo/align/impl/rel/A5AlgebraRelation.java b/src/fr/inrialpes/exmo/align/impl/rel/A5AlgebraRelation.java index 7d6ce848..2a103f89 100644 --- a/src/fr/inrialpes/exmo/align/impl/rel/A5AlgebraRelation.java +++ b/src/fr/inrialpes/exmo/align/impl/rel/A5AlgebraRelation.java @@ -225,11 +225,11 @@ public class A5AlgebraRelation extends BitSetAlgebraRelation<A5BaseRelation> { return new A5AlgebraRelation( protoinverse() ); } - public A5AlgebraRelation join( A5AlgebraRelation... drs ) { + public final A5AlgebraRelation join( A5AlgebraRelation... drs ) { return new A5AlgebraRelation( protojoin( drs ) ); } - public A5AlgebraRelation meet( A5AlgebraRelation... drs ) { + public final A5AlgebraRelation meet( A5AlgebraRelation... drs ) { return new A5AlgebraRelation( protomeet( drs ) ); } -- GitLab