You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@polygene.apache.org by ni...@apache.org on 2015/04/24 08:37:03 UTC
[50/50] [abbrv] zest-qi4j git commit: Fixed up most warnings in Core,
such as missing @return text, unused functions and fields,
superfluous generics.
Fixed up most warnings in Core, such as missing @return text, unused functions and fields, superfluous generics.
Project: http://git-wip-us.apache.org/repos/asf/zest-qi4j/repo
Commit: http://git-wip-us.apache.org/repos/asf/zest-qi4j/commit/74ee7036
Tree: http://git-wip-us.apache.org/repos/asf/zest-qi4j/tree/74ee7036
Diff: http://git-wip-us.apache.org/repos/asf/zest-qi4j/diff/74ee7036
Branch: refs/heads/master
Commit: 74ee703656f118d47eb519ee9b5bef532da8cdf8
Parents: 87c37d0
Author: Niclas Hedhman <ni...@hedhman.org>
Authored: Fri Apr 24 14:35:10 2015 +0800
Committer: Niclas Hedhman <ni...@hedhman.org>
Committed: Fri Apr 24 14:35:10 2015 +0800
----------------------------------------------------------------------
.../java/org/qi4j/api/common/UseDefaults.java | 1 +
.../qi4j/api/configuration/Configuration.java | 20 ++--
.../main/java/org/qi4j/api/util/Classes.java | 10 +-
.../java/org/qi4j/functional/Functions.java | 41 ++++----
core/io/src/main/java/org/qi4j/io/Inputs.java | 85 ++++++++---------
core/io/src/main/java/org/qi4j/io/Outputs.java | 98 +++++++++++++-------
.../src/main/java/org/qi4j/io/Transforms.java | 86 +++++++++--------
.../org/qi4j/spi/entitystore/BackupRestore.java | 4 +-
.../spi/value/ValueDeserializerAdapter.java | 14 +--
9 files changed, 203 insertions(+), 156 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/74ee7036/core/api/src/main/java/org/qi4j/api/common/UseDefaults.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/qi4j/api/common/UseDefaults.java b/core/api/src/main/java/org/qi4j/api/common/UseDefaults.java
index 0f61ea1..8478d99 100644
--- a/core/api/src/main/java/org/qi4j/api/common/UseDefaults.java
+++ b/core/api/src/main/java/org/qi4j/api/common/UseDefaults.java
@@ -69,6 +69,7 @@ import java.lang.annotation.Target;
* }
* </code></pre>
*/
+@SuppressWarnings( "JavadocReference" )
@Retention( RetentionPolicy.RUNTIME )
@Target( { ElementType.METHOD, ElementType.FIELD } )
@Documented
http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/74ee7036/core/api/src/main/java/org/qi4j/api/configuration/Configuration.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/qi4j/api/configuration/Configuration.java b/core/api/src/main/java/org/qi4j/api/configuration/Configuration.java
index 52ec60f..bb97640 100644
--- a/core/api/src/main/java/org/qi4j/api/configuration/Configuration.java
+++ b/core/api/src/main/java/org/qi4j/api/configuration/Configuration.java
@@ -109,6 +109,7 @@ import static org.qi4j.functional.Iterables.first;
* </code></pre>
*
*/
+@SuppressWarnings( "JavadocReference" )
@Mixins( Configuration.ConfigurationMixin.class )
public interface Configuration<T>
{
@@ -174,7 +175,7 @@ public interface Configuration<T>
uow = module.newUnitOfWork( usecase );
try
{
- configuration = this.<T>findConfigurationInstanceFor( me, uow );
+ configuration = this.findConfigurationInstanceFor( me, uow );
}
catch( InstantiationException e )
{
@@ -217,39 +218,38 @@ public interface Configuration<T>
}
@SuppressWarnings( "unchecked" )
- public <T> T findConfigurationInstanceFor( ServiceComposite serviceComposite, UnitOfWork uow )
+ public <V> V findConfigurationInstanceFor( ServiceComposite serviceComposite, UnitOfWork uow )
throws InstantiationException
{
ServiceDescriptor serviceModel = api.serviceDescriptorFor( serviceComposite );
String identity = serviceComposite.identity().get();
- T configuration;
+ V configuration;
try
{
- configuration = uow.get( serviceModel.<T>configurationType(), identity );
+ configuration = uow.get( serviceModel.<V>configurationType(), identity );
uow.pause();
}
catch( NoSuchEntityException | EntityTypeNotFoundException e )
{
- return (T) initializeConfigurationInstance( serviceComposite, uow, serviceModel, identity );
+ return (V) initializeConfigurationInstance( serviceComposite, uow, serviceModel, identity );
}
return configuration;
}
@SuppressWarnings( "unchecked" )
- private <T> T initializeConfigurationInstance( ServiceComposite serviceComposite,
+ private <V> V initializeConfigurationInstance( ServiceComposite serviceComposite,
UnitOfWork uow,
ServiceDescriptor serviceModel,
String identity
)
throws InstantiationException
{
- T configuration;
Module module = api.moduleOf( serviceComposite );
Usecase usecase = UsecaseBuilder.newUsecase( "Configuration:" + me.identity().get() );
UnitOfWork buildUow = module.newUnitOfWork( usecase );
- EntityBuilder<T> configBuilder = buildUow.newEntityBuilder( serviceModel.<T>configurationType(), identity );
+ EntityBuilder<V> configBuilder = buildUow.newEntityBuilder( serviceModel.<V>configurationType(), identity );
// Check for defaults
String s = identity + ".properties";
@@ -277,11 +277,11 @@ public interface Configuration<T>
try
{
- configuration = configBuilder.newInstance();
+ configBuilder.newInstance();
buildUow.complete();
// Try again
- return (T) findConfigurationInstanceFor( serviceComposite, uow );
+ return (V) findConfigurationInstanceFor( serviceComposite, uow );
}
catch( Exception e1 )
{
http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/74ee7036/core/api/src/main/java/org/qi4j/api/util/Classes.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/qi4j/api/util/Classes.java b/core/api/src/main/java/org/qi4j/api/util/Classes.java
index 9413f9e..34f4b05 100644
--- a/core/api/src/main/java/org/qi4j/api/util/Classes.java
+++ b/core/api/src/main/java/org/qi4j/api/util/Classes.java
@@ -97,6 +97,7 @@ public final class Classes
* Return the same class if it's not a wrapper class. This can therefore safely be used on all types
* to ensure that they are primitives if possible.
*/
+ @SuppressWarnings( "UnusedDeclaration" )
private static final Function<Type, Type> PRIMITIVE_CLASS = new Function<Type, Type>()
{
@Override
@@ -411,6 +412,7 @@ public final class Classes
}
}
+ @SuppressWarnings( "UnusedDeclaration" )
public static <AnnotationType extends Annotation>
AnnotationType findAnnotationOfTypeOrAnyOfSuperTypes( Class<?> type, Class<AnnotationType> annotationClass )
{
@@ -443,11 +445,11 @@ public final class Classes
* Given a type variable, find what it resolves to given the declaring class where type
* variable was found and a top class that extends the declaring class.
*
- * @param name
- * @param declaringClass
- * @param topClass
+ * @param name The TypeVariable name.
+ * @param declaringClass The class where the TypeVariable is declared.
+ * @param topClass The top class that extends the declaringClass
*
- * @return
+ * @return The Type instance of the given TypeVariable
*/
@SuppressWarnings( "raw" )
public static Type resolveTypeVariable( TypeVariable name, Class declaringClass, Class topClass )
http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/74ee7036/core/functional/src/main/java/org/qi4j/functional/Functions.java
----------------------------------------------------------------------
diff --git a/core/functional/src/main/java/org/qi4j/functional/Functions.java b/core/functional/src/main/java/org/qi4j/functional/Functions.java
index 0b50b35..bf86845 100644
--- a/core/functional/src/main/java/org/qi4j/functional/Functions.java
+++ b/core/functional/src/main/java/org/qi4j/functional/Functions.java
@@ -37,10 +37,10 @@ public final class Functions
/**
* compose(F1(M,T),F2(F,M)) = F1(F2(F)) -> T
*
- * @param outer
- * @param inner
+ * @param outer The outer/encapsulating function
+ * @param inner The inner/encapsulated function
*
- * @return
+ * @return A function that is a composition of an outer and inner function.
*/
public static <FROM, MIDDLE, TO> Function<FROM, TO> compose( final Function<? super MIDDLE, TO> outer,
final Function<FROM, MIDDLE> inner
@@ -135,10 +135,10 @@ public final class Functions
* Sample usage: last( map( count( in( "X" ) ), iterable( "X","Y","X","X","Y" ) ) )
* Returns: 3
*
- * @param specification
- * @param <T>
+ * @param specification The items that adhere to the Specification is counted.
+ * @param <T> The type of the items.
*
- * @return
+ * @return A Function that can count items adhering to a Specification.
*/
public static <T> Function<T, Integer> count( final Specification<T> specification )
{
@@ -163,10 +163,11 @@ public final class Functions
* Find out the index of an item matching a given specification in an iterable.
* Returns -1 if it is not found.
*
- * @param specification
- * @param <T>
+ * @param specification The Specification that specifies what to look for.
+ * @param <T> The type of the items.
*
- * @return
+ * @return A Function that will provide the 'index' where the Specifcation is fulfilled. The Function will
+ * return -1 if the current item doesn't fulfill the Specification.
*/
public static <T> Function<T, Integer> indexOf( final Specification<T> specification )
{
@@ -193,11 +194,11 @@ public final class Functions
/**
* Find out the index of an item in an iterable.
*
- * @param item
- * @param iterable
- * @param <T>
+ * @param item The item to look for.
+ * @param iterable The Iterable to search.
+ * @param <T> The type of the items.
*
- * @return
+ * @return The index in the Iterable where the item is located.
*/
@SuppressWarnings( "unchecked" )
public static <T> int indexOf( T item, Iterable<T> iterable )
@@ -209,11 +210,11 @@ public final class Functions
/**
* Only apply given function on objects that satisfies the given specification.
*
- * @param specification
- * @param function
- * @param <T>
+ * @param specification A Specification that specifies what should be included in the filtered result.
+ * @param function The function to be applied to items that fulfills the Specification
+ * @param <T> The type of the items.
*
- * @return
+ * @return A Function that performs the filter operation when applied to Iterables.
*/
public static <T> Function<T, T> filteredMap( final Specification<T> specification, final Function<T, T> function )
{
@@ -234,10 +235,10 @@ public final class Functions
* This should be used if the function to generate the sort key from an object is expensive, so
* that it is not done many times for each item in a list.
*
- * @param comparableFunction
- * @param <T>
+ * @param comparableFunction The Function that the Comparator will delegate to.
+ * @param <T> The generic type to be used.
*
- * @return
+ * @return A comparator that uses a Function for the compare operation.
*/
@SuppressWarnings( "raw" )
public static <T> Comparator<T> comparator( final Function<T, Comparable> comparableFunction )
http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/74ee7036/core/io/src/main/java/org/qi4j/io/Inputs.java
----------------------------------------------------------------------
diff --git a/core/io/src/main/java/org/qi4j/io/Inputs.java b/core/io/src/main/java/org/qi4j/io/Inputs.java
index fd298b8..eb2001f 100644
--- a/core/io/src/main/java/org/qi4j/io/Inputs.java
+++ b/core/io/src/main/java/org/qi4j/io/Inputs.java
@@ -57,8 +57,8 @@ public class Inputs
output.receiveFrom( new Sender<String, RuntimeException>()
{
@Override
- public <ReceiverThrowableType extends Throwable> void sendTo( Receiver<? super String, ReceiverThrowableType> receiver )
- throws ReceiverThrowableType, RuntimeException
+ public <Receiver2ThrowableType extends Throwable> void sendTo( Receiver<? super String, Receiver2ThrowableType> receiver )
+ throws Receiver2ThrowableType, RuntimeException
{
Scanner scanner = new Scanner( source );
while( scanner.hasNextLine() )
@@ -93,8 +93,8 @@ public class Inputs
output.receiveFrom( new Sender<String, RuntimeException>()
{
@Override
- public <ReceiverThrowableType extends Throwable> void sendTo( Receiver<? super String, ReceiverThrowableType> receiver )
- throws ReceiverThrowableType, RuntimeException
+ public <Receiver2ThrowableType extends Throwable> void sendTo( Receiver<? super String, Receiver2ThrowableType> receiver )
+ throws Receiver2ThrowableType, RuntimeException
{
Scanner scanner = new Scanner( source );
while( scanner.hasNextLine() )
@@ -153,13 +153,13 @@ public class Inputs
stream = new GZIPInputStream( stream );
}
- try( BufferedReader reader = new BufferedReader( new InputStreamReader( stream, encoding ) ) )
+ try (BufferedReader reader = new BufferedReader( new InputStreamReader( stream, encoding ) ))
{
output.receiveFrom( new Sender<String, IOException>()
{
@Override
- public <ReceiverThrowableType extends Throwable> void sendTo( Receiver<? super String, ReceiverThrowableType> receiver )
- throws ReceiverThrowableType, IOException
+ public <Receiver2ThrowableType extends Throwable> void sendTo( Receiver<? super String, Receiver2ThrowableType> receiver )
+ throws Receiver2ThrowableType, IOException
{
String line;
while( ( line = reader.readLine() ) != null )
@@ -208,18 +208,18 @@ public class Inputs
// Figure out charset given content-type
String contentType = urlConnection.getContentType();
String charSet = "UTF-8";
- if( contentType.indexOf( "charset=" ) != -1 )
+ if( contentType.contains( "charset=" ) )
{
charSet = contentType.substring( contentType.indexOf( "charset=" ) + "charset=".length() );
}
- try( BufferedReader reader = new BufferedReader( new InputStreamReader( stream, charSet ) ) )
+ try (BufferedReader reader = new BufferedReader( new InputStreamReader( stream, charSet ) ))
{
output.receiveFrom( new Sender<String, IOException>()
{
@Override
- public <ReceiverThrowableType extends Throwable> void sendTo( Receiver<? super String, ReceiverThrowableType> receiver )
- throws ReceiverThrowableType, IOException
+ public <Receiver2ThrowableType extends Throwable> void sendTo( Receiver<? super String, Receiver2ThrowableType> receiver )
+ throws Receiver2ThrowableType, IOException
{
String line;
while( ( line = reader.readLine() ) != null )
@@ -238,10 +238,10 @@ public class Inputs
/**
* Read a file using ByteBuffer of a given size. Useful for transferring raw data.
*
- * @param source
- * @param bufferSize
+ * @param source The file to be read.
+ * @param bufferSize The size of the byte array.
*
- * @return
+ * @return An Input instance to be applied to streaming operations.
*/
public static Input<ByteBuffer, IOException> byteBuffer( final File source, final int bufferSize )
// END SNIPPET: method
@@ -262,8 +262,8 @@ public class Inputs
output.receiveFrom( new Sender<ByteBuffer, IOException>()
{
@Override
- public <ReceiverThrowableType extends Throwable> void sendTo( Receiver<? super ByteBuffer, ReceiverThrowableType> receiver )
- throws ReceiverThrowableType, IOException
+ public <Receiver2ThrowableType extends Throwable> void sendTo( Receiver<? super ByteBuffer, Receiver2ThrowableType> receiver )
+ throws Receiver2ThrowableType, IOException
{
while( fci.read( buffer ) != -1 )
{
@@ -287,10 +287,10 @@ public class Inputs
/**
* Read an inputstream using ByteBuffer of a given size.
*
- * @param source
- * @param bufferSize
+ * @param source The InputStream to be read.
+ * @param bufferSize The size of the byte array.
*
- * @return
+ * @return An Input instance to be applied to streaming operations.
*/
public static Input<ByteBuffer, IOException> byteBuffer( final InputStream source, final int bufferSize )
// END SNIPPET: method
@@ -306,8 +306,8 @@ public class Inputs
output.receiveFrom( new Sender<ByteBuffer, IOException>()
{
@Override
- public <ReceiverThrowableType extends Throwable> void sendTo( Receiver<? super ByteBuffer, ReceiverThrowableType> receiver )
- throws ReceiverThrowableType, IOException
+ public <Receiver2ThrowableType extends Throwable> void sendTo( Receiver<? super ByteBuffer, Receiver2ThrowableType> receiver )
+ throws Receiver2ThrowableType, IOException
{
byte[] buffer = new byte[ bufferSize ];
@@ -334,11 +334,11 @@ public class Inputs
* Combine many Input into one single Input. When a transfer is initiated from it all items from all inputs will be transferred
* to the given Output.
*
- * @param inputs
- * @param <T>
- * @param <SenderThrowableType>
+ * @param inputs An Iterable of Input instances to be combined.
+ * @param <T> The item type of the Input
+ * @param <SenderThrowableType> The Throwable that might be thrown by the Inputs.
*
- * @return
+ * @return A combined Input, allowing for easy aggregation of many Input sources.
*/
public static <T, SenderThrowableType extends Throwable> Input<T, SenderThrowableType> combine( final Iterable<Input<T, SenderThrowableType>> inputs )
// END SNIPPET: method
@@ -346,8 +346,8 @@ public class Inputs
return new Input<T, SenderThrowableType>()
{
@Override
- public <ReceiverThrowableType extends Throwable> void transferTo( Output<? super T, ReceiverThrowableType> output )
- throws SenderThrowableType, ReceiverThrowableType
+ public <Receiver2ThrowableType extends Throwable> void transferTo( Output<? super T, Receiver2ThrowableType> output )
+ throws SenderThrowableType, Receiver2ThrowableType
{
output.receiveFrom( new Sender<T, SenderThrowableType>()
{
@@ -360,8 +360,8 @@ public class Inputs
input.transferTo( new Output<T, ReceiverThrowableType>()
{
@Override
- public <SenderThrowableType extends Throwable> void receiveFrom( Sender<? extends T, SenderThrowableType> sender )
- throws ReceiverThrowableType, SenderThrowableType
+ public <Sender2ThrowableType extends Throwable> void receiveFrom( Sender<? extends T, Sender2ThrowableType> sender )
+ throws ReceiverThrowableType, Sender2ThrowableType
{
sender.sendTo( new Receiver<T, ReceiverThrowableType>()
{
@@ -386,10 +386,10 @@ public class Inputs
/**
* Create an Input that takes its items from the given Iterable.
*
- * @param iterable
- * @param <T>
+ * @param iterable The Iterable to be used as an Input.
+ * @param <T> The item type of the Input
*
- * @return
+ * @return An Input instance that is backed by the Iterable.
*/
public static <T> Input<T, RuntimeException> iterable( final Iterable<T> iterable )
// END SNIPPET: method
@@ -403,8 +403,8 @@ public class Inputs
output.receiveFrom( new Sender<T, RuntimeException>()
{
@Override
- public <ReceiverThrowableType extends Throwable> void sendTo( Receiver<? super T, ReceiverThrowableType> receiver )
- throws ReceiverThrowableType, RuntimeException
+ public <Receiver2ThrowableType extends Throwable> void sendTo( Receiver<? super T, Receiver2ThrowableType> receiver )
+ throws Receiver2ThrowableType, RuntimeException
{
for( T item : iterable )
{
@@ -423,10 +423,10 @@ public class Inputs
* data has been gathered it will send this in chunks of the given size to the Output it is transferred to. The Visitor does not have to call
* close() on the OutputStream, but should ensure that any wrapper streams or writers are flushed so that all data is sent.
*
- * @param outputVisitor
- * @param bufferSize
+ * @param outputVisitor The OutputStream Visitor that will be backing the Input ByteBuffer.
+ * @param bufferSize The buffering size.
*
- * @return
+ * @return An Input instance of ByteBuffer, that is backed by an Visitor to an OutputStream.
*/
public static Input<ByteBuffer, IOException> output( final Visitor<OutputStream, IOException> outputVisitor,
final int bufferSize
@@ -443,10 +443,10 @@ public class Inputs
{
@Override
@SuppressWarnings( "unchecked" )
- public <ReceiverThrowableType extends Throwable> void sendTo( final Receiver<? super ByteBuffer, ReceiverThrowableType> receiver )
- throws ReceiverThrowableType, IOException
+ public <Receiver2ThrowableType extends Throwable> void sendTo( final Receiver<? super ByteBuffer, Receiver2ThrowableType> receiver )
+ throws Receiver2ThrowableType, IOException
{
- try( OutputStream out = new BufferedOutputStream( new OutputStream()
+ try (OutputStream out = new BufferedOutputStream( new OutputStream()
{
@Override
public void write( int b )
@@ -455,6 +455,7 @@ public class Inputs
// Ignore
}
+ @SuppressWarnings( "NullableProblems" )
@Override
public void write( byte[] b, int off, int len )
throws IOException
@@ -469,13 +470,13 @@ public class Inputs
throw new IOException( ex );
}
}
- }, bufferSize ) )
+ }, bufferSize ))
{
outputVisitor.visit( out );
}
catch( IOException ex )
{
- throw (ReceiverThrowableType) ex.getCause();
+ throw (Receiver2ThrowableType) ex.getCause();
}
}
} );
http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/74ee7036/core/io/src/main/java/org/qi4j/io/Outputs.java
----------------------------------------------------------------------
diff --git a/core/io/src/main/java/org/qi4j/io/Outputs.java b/core/io/src/main/java/org/qi4j/io/Outputs.java
index f3fd92f..2508788 100644
--- a/core/io/src/main/java/org/qi4j/io/Outputs.java
+++ b/core/io/src/main/java/org/qi4j/io/Outputs.java
@@ -99,21 +99,32 @@ public class Outputs
// Replace file with temporary file
if( !file.exists() || file.delete() )
{
- tmpFile.renameTo( file );
+ if( ! tmpFile.renameTo( file ) )
+ {
+ // TODO: What?? Throw an Exception?
+ System.err.println( "Unable to rename file: " + tmpFile + " to " + file );
+ }
}
}
catch( IOException e )
{
// We failed writing - close and delete
writer.close();
- tmpFile.delete();
+ if( ! tmpFile.delete() )
+ {
+ System.err.println("Unable to delete temporary file." );
+ tmpFile.deleteOnExit();
+ }
}
catch( Throwable senderThrowableType )
{
// We failed writing - close and delete
writer.close();
- tmpFile.delete();
-
+ if( ! tmpFile.delete() )
+ {
+ System.err.println("Unable to delete temporary file." );
+ tmpFile.deleteOnExit();
+ }
throw (SenderThrowableType) senderThrowableType;
}
}
@@ -193,12 +204,11 @@ public class Outputs
/**
* Write ByteBuffer data to a file. If the writing or sending of data fails the file will be deleted.
*
- * @param file
- * @param <T>
+ * @param file The destination file.
*
- * @return
+ * @return The Output ByteBuffer instance backed by a File.
*/
- public static <T> Output<ByteBuffer, IOException> byteBuffer( final File file )
+ public static Output<ByteBuffer, IOException> byteBuffer( final File file )
// END SNIPPET: method
{
return new Output<ByteBuffer, IOException>()
@@ -228,21 +238,33 @@ public class Outputs
// Replace file with temporary file
if( !file.exists() || file.delete() )
{
- tmpFile.renameTo( file );
+ if( ! tmpFile.renameTo( file ) )
+ {
+ // TODO: What can be done in this case?
+ System.err.println( "Unable to rename file: " + tmpFile + " to " + file );
+ }
}
}
catch( IOException e )
{
// We failed writing - close and delete
stream.close();
- tmpFile.delete();
+ if( ! tmpFile.delete() )
+ {
+ System.err.println("Unable to delete temporary file." );
+ tmpFile.deleteOnExit();
+ }
+
}
catch( Throwable senderThrowableType )
{
// We failed writing - close and delete
stream.close();
- tmpFile.delete();
-
+ if( ! tmpFile.delete() )
+ {
+ System.err.println("Unable to delete temporary file." );
+ tmpFile.deleteOnExit();
+ }
throw (SenderThrowableType) senderThrowableType;
}
}
@@ -254,12 +276,11 @@ public class Outputs
/**
* Write ByteBuffer data to an OutputStream.
*
- * @param stream
- * @param <T>
+ * @param stream Destination OutputStream
*
- * @return
+ * @return The Output of ByteBuffer that will be backed by the OutputStream.
*/
- public static <T> Output<ByteBuffer, IOException> byteBuffer( final OutputStream stream )
+ public static Output<ByteBuffer, IOException> byteBuffer( final OutputStream stream )
// END SNIPPET: method
{
return new Output<ByteBuffer, IOException>()
@@ -303,13 +324,12 @@ public class Outputs
/**
* Write byte array data to a file. If the writing or sending of data fails the file will be deleted.
*
- * @param file
- * @param bufferSize
- * @param <T>
+ * @param file The File to be written to.
+ * @param bufferSize The size of the ByteBuffer.
*
- * @return
+ * @return An Output instance that will write to the given File.
*/
- public static <T> Output<byte[], IOException> bytes( final File file, final int bufferSize )
+ public static Output<byte[], IOException> bytes( final File file, final int bufferSize )
// END SNIPPET: method
{
return new Output<byte[], IOException>()
@@ -338,21 +358,32 @@ public class Outputs
// Replace file with temporary file
if( !file.exists() || file.delete() )
{
- tmpFile.renameTo( file );
+ if( ! tmpFile.renameTo( file ) )
+ {
+ // TODO: WHAT???
+ System.err.println( "Unable to rename " + tmpFile + " to " + file );
+ }
}
}
catch( IOException e )
{
// We failed writing - close and delete
stream.close();
- file.delete();
+ if( ! tmpFile.delete() )
+ {
+ System.err.println("Unable to delete temporary file." );
+ tmpFile.deleteOnExit();
+ }
}
catch( Throwable senderThrowableType )
{
// We failed writing - close and delete
stream.close();
- file.delete();
-
+ if( ! tmpFile.delete() )
+ {
+ System.err.println("Unable to delete temporary file." );
+ tmpFile.deleteOnExit();
+ }
throw (SenderThrowableType) senderThrowableType;
}
}
@@ -364,9 +395,9 @@ public class Outputs
/**
* Do nothing. Use this if you have all logic in filters and/or specifications
*
- * @param <T>
+ * @param <T> The item type.
*
- * @return
+ * @return An Output instance that ignores all data.
*/
public static <T> Output<T, RuntimeException> noop()
// END SNIPPET: method
@@ -388,10 +419,10 @@ public class Outputs
* Use given receiver as Output. Use this if there is no need to create a "transaction" for each transfer, and no need
* to do batch writes or similar.
*
- * @param <T>
+ * @param <T> The item type
* @param receiver receiver for this Output
*
- * @return
+ * @return An Output instance backed by a Receiver of items.
*/
public static <T, ReceiverThrowableType extends Throwable> Output<T, ReceiverThrowableType> withReceiver( final Receiver<T, ReceiverThrowableType> receiver )
// END SNIPPET: method
@@ -412,7 +443,7 @@ public class Outputs
/**
* Write objects to System.out.println.
*
- * @return
+ * @return An Output instance that is backed by System.out
*/
public static Output<Object, RuntimeException> systemOut()
// END SNIPPET: method
@@ -420,7 +451,7 @@ public class Outputs
return new Output<Object, RuntimeException>()
{
@Override
- public <SenderThrowableType extends Throwable> void receiveFrom( Sender<? extends Object, SenderThrowableType> sender )
+ public <SenderThrowableType extends Throwable> void receiveFrom( Sender<?, SenderThrowableType> sender )
throws RuntimeException, SenderThrowableType
{
sender.sendTo( new Receiver<Object, RuntimeException>()
@@ -439,14 +470,17 @@ public class Outputs
/**
* Write objects to System.err.println.
+ *
+ * @return An Output instance backed by System.in
*/
+ @SuppressWarnings( "UnusedDeclaration" )
public static Output<Object, RuntimeException> systemErr()
// END SNIPPET: method
{
return new Output<Object, RuntimeException>()
{
@Override
- public <SenderThrowableType extends Throwable> void receiveFrom( Sender<? extends Object, SenderThrowableType> sender )
+ public <SenderThrowableType extends Throwable> void receiveFrom( Sender<?, SenderThrowableType> sender )
throws RuntimeException, SenderThrowableType
{
sender.sendTo( new Receiver<Object, RuntimeException>()
http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/74ee7036/core/io/src/main/java/org/qi4j/io/Transforms.java
----------------------------------------------------------------------
diff --git a/core/io/src/main/java/org/qi4j/io/Transforms.java b/core/io/src/main/java/org/qi4j/io/Transforms.java
index c7bcb7d..71b94a8 100644
--- a/core/io/src/main/java/org/qi4j/io/Transforms.java
+++ b/core/io/src/main/java/org/qi4j/io/Transforms.java
@@ -31,22 +31,22 @@ public class Transforms
/**
* Filter items in a transfer by applying the given Specification to each item.
*
- * @param specification
- * @param output
- * @param <T>
- * @param <ReceiverThrowableType>
+ * @param specification The Specification defining the items to not filter away.
+ * @param output The Output instance to receive to result.
+ * @param <T> The item type
+ * @param <Receiver2ThrowableType> Exception type that might be thrown by the Receiver.
*
- * @return
+ * @return And Output encapsulation the filter operation.
*/
- public static <T, ReceiverThrowableType extends Throwable> Output<T, ReceiverThrowableType> filter( final Specification<? super T> specification,
- final Output<T, ReceiverThrowableType> output
+ public static <T, Receiver2ThrowableType extends Throwable> Output<T, Receiver2ThrowableType> filter( final Specification<? super T> specification,
+ final Output<T, Receiver2ThrowableType> output
)
{
- return new Output<T, ReceiverThrowableType>()
+ return new Output<T, Receiver2ThrowableType>()
{
@Override
public <SenderThrowableType extends Throwable> void receiveFrom( final Sender<? extends T, SenderThrowableType> sender )
- throws ReceiverThrowableType, SenderThrowableType
+ throws Receiver2ThrowableType, SenderThrowableType
{
output.receiveFrom( new Sender<T, SenderThrowableType>()
{
@@ -75,23 +75,23 @@ public class Transforms
/**
* Map items in a transfer from one type to another by applying the given function.
*
- * @param function
- * @param output
- * @param <From>
- * @param <To>
- * @param <ReceiverThrowableType>
+ * @param function The transformation function to apply to the streaming items.
+ * @param output The output to receive the transformed items.
+ * @param <From> The type of the incoming items.
+ * @param <To> The type of the transformed items.
+ * @param <Receiver2ThrowableType> The exception type that the Receiver might throw.
*
- * @return
+ * @return An Output instance that encapsulates the map transformation.
*/
- public static <From, To, ReceiverThrowableType extends Throwable> Output<From, ReceiverThrowableType> map( final Function<? super From, ? extends To> function,
- final Output<To, ReceiverThrowableType> output
+ public static <From, To, Receiver2ThrowableType extends Throwable> Output<From, Receiver2ThrowableType> map( final Function<? super From, ? extends To> function,
+ final Output<To, Receiver2ThrowableType> output
)
{
- return new Output<From, ReceiverThrowableType>()
+ return new Output<From, Receiver2ThrowableType>()
{
@Override
public <SenderThrowableType extends Throwable> void receiveFrom( final Sender<? extends From, SenderThrowableType> sender )
- throws ReceiverThrowableType, SenderThrowableType
+ throws Receiver2ThrowableType, SenderThrowableType
{
output.receiveFrom( new Sender<To, SenderThrowableType>()
{
@@ -118,24 +118,24 @@ public class Transforms
* Apply the given function to items in the transfer that match the given specification. Other items will pass
* through directly.
*
- * @param specification
- * @param function
- * @param output
- * @param <T>
- * @param <ReceiverThrowableType>
+ * @param specification The Specification defining which items should be transformed.
+ * @param function The transformation function.
+ * @param output The Output that will receive the resulting items.
+ * @param <T> The item type. Items can not be transformed to a new type.
+ * @param <Receiver2ThrowableType> The exception that the Receiver might throw.
*
- * @return
+ * @return An Output instance that encapsulates the operation.
*/
- public static <T, ReceiverThrowableType extends Throwable> Output<T, ReceiverThrowableType> filteredMap( final Specification<? super T> specification,
- final Function<? super T, ? extends T> function,
- final Output<T, ReceiverThrowableType> output
+ public static <T, Receiver2ThrowableType extends Throwable> Output<T, Receiver2ThrowableType> filteredMap( final Specification<? super T> specification,
+ final Function<? super T, ? extends T> function,
+ final Output<T, Receiver2ThrowableType> output
)
{
- return new Output<T, ReceiverThrowableType>()
+ return new Output<T, Receiver2ThrowableType>()
{
@Override
public <SenderThrowableType extends Throwable> void receiveFrom( final Sender<? extends T, SenderThrowableType> sender )
- throws ReceiverThrowableType, SenderThrowableType
+ throws Receiver2ThrowableType, SenderThrowableType
{
output.receiveFrom( new Sender<T, SenderThrowableType>()
{
@@ -172,20 +172,20 @@ public class Transforms
*
* @param lock the lock to be used for transfers
* @param output output to be wrapped
- * @param <T>
- * @param <ReceiverThrowableType>
+ * @param <T> The Item type
+ * @param <Receiver2ThrowableType> The Exception type that the Receiver might throw.
*
* @return Output wrapper that uses the given lock during transfers.
*/
- public static <T, ReceiverThrowableType extends Throwable> Output<T, ReceiverThrowableType> lock( final Lock lock,
- final Output<T, ReceiverThrowableType> output
+ public static <T, Receiver2ThrowableType extends Throwable> Output<T, Receiver2ThrowableType> lock( final Lock lock,
+ final Output<T, Receiver2ThrowableType> output
)
{
- return new Output<T, ReceiverThrowableType>()
+ return new Output<T, Receiver2ThrowableType>()
{
@Override
public <SenderThrowableType extends Throwable> void receiveFrom( Sender<? extends T, SenderThrowableType> sender )
- throws ReceiverThrowableType, SenderThrowableType
+ throws Receiver2ThrowableType, SenderThrowableType
{
/**
* Fix for this bug:
@@ -195,6 +195,7 @@ public class Transforms
{
try
{
+ //noinspection StatementWithEmptyBody
while( !lock.tryLock( 1000, TimeUnit.MILLISECONDS ) )
{
// On timeout, try again
@@ -225,8 +226,8 @@ public class Transforms
*
* @param lock the lock to be used for transfers
* @param input input to be wrapped
- * @param <T>
- * @param <SenderThrowableType>
+ * @param <T> The item type.
+ * @param <SenderThrowableType> The Exception type that the Sender might throw.
*
* @return Input wrapper that uses the given lock during transfers.
*/
@@ -248,6 +249,7 @@ public class Transforms
{
try
{
+ //noinspection StatementWithEmptyBody
while( !( lock.tryLock() || lock.tryLock( 1000, TimeUnit.MILLISECONDS ) ) )
{
// On timeout, try again
@@ -300,6 +302,7 @@ public class Transforms
/**
* Convert strings to bytes using the given CharSet
*/
+ @SuppressWarnings( "UnusedDeclaration" )
public static class String2Bytes
implements Function<String, byte[]>
{
@@ -340,6 +343,7 @@ public class Transforms
/**
* Convert objects to Strings using .toString()
*/
+ @SuppressWarnings( "UnusedDeclaration" )
public static class ObjectToString
implements Function<Object, String>
{
@@ -396,15 +400,15 @@ public class Transforms
this.interval = interval;
if( logger != null && format != null )
{
- log = new Log<String>( logger, format );
+ log = new Log<>( logger, format );
}
- counter = new Counter<T>();
+ counter = new Counter<>();
}
public ProgressLog( long interval )
{
this.interval = interval;
- counter = new Counter<T>();
+ counter = new Counter<>();
}
@Override
http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/74ee7036/core/spi/src/main/java/org/qi4j/spi/entitystore/BackupRestore.java
----------------------------------------------------------------------
diff --git a/core/spi/src/main/java/org/qi4j/spi/entitystore/BackupRestore.java b/core/spi/src/main/java/org/qi4j/spi/entitystore/BackupRestore.java
index d7d32cc..f777f45 100644
--- a/core/spi/src/main/java/org/qi4j/spi/entitystore/BackupRestore.java
+++ b/core/spi/src/main/java/org/qi4j/spi/entitystore/BackupRestore.java
@@ -27,12 +27,14 @@ public interface BackupRestore
/**
* Input that allows data from the entity store to be backed up.
*
- * @return
+ * @return An Input instance containing the data to back up.
*/
Input<String, IOException> backup();
/**
* Output that allows data to be restored from a backup.
+ *
+ * @return An Output instance to receive the restored data.
*/
Output<String, IOException> restore();
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/74ee7036/core/spi/src/main/java/org/qi4j/spi/value/ValueDeserializerAdapter.java
----------------------------------------------------------------------
diff --git a/core/spi/src/main/java/org/qi4j/spi/value/ValueDeserializerAdapter.java b/core/spi/src/main/java/org/qi4j/spi/value/ValueDeserializerAdapter.java
index 73056fe..37738f8 100644
--- a/core/spi/src/main/java/org/qi4j/spi/value/ValueDeserializerAdapter.java
+++ b/core/spi/src/main/java/org/qi4j/spi/value/ValueDeserializerAdapter.java
@@ -130,7 +130,7 @@ public abstract class ValueDeserializerAdapter<InputType, InputNodeType>
deserializers.put( type, (Function<Object, Object>) deserializer );
}
- @SuppressWarnings( "unchecked" )
+ @SuppressWarnings( { "UnusedDeclaration", "unchecked" } )
protected final <T> void registerComplexDeserializer( Class<T> type,
ComplexDeserializer<T, InputType, InputNodeType> deserializer )
{
@@ -173,6 +173,7 @@ public abstract class ValueDeserializerAdapter<InputType, InputNodeType>
} );
registerDeserializer( Boolean.class, new Function<Object, Boolean>()
{
+ @SuppressWarnings( "UnnecessaryUnboxing" )
@Override
public Boolean map( Object input )
{
@@ -608,7 +609,7 @@ public abstract class ValueDeserializerAdapter<InputType, InputNodeType>
{
ValueCompositeType valueCompositeType = (ValueCompositeType) valueType;
Class<?> valueBuilderType = first( valueCompositeType.types() );
- String typeInfo = this.<String>getObjectFieldValue(
+ String typeInfo = this.getObjectFieldValue(
inputNode,
"_type",
this.<String>buildDeserializeInputNodeFunction( new ValueType( String.class ) ) );
@@ -786,7 +787,7 @@ public abstract class ValueDeserializerAdapter<InputType, InputNodeType>
else // Explicit ValueComposite
if( ValueCompositeType.class.isAssignableFrom( valueType.getClass() ) )
{
- return (T) deserializeNodeValueComposite( (ValueCompositeType) valueType, inputNode );
+ return (T) deserializeNodeValueComposite( valueType, inputNode );
}
else // Explicit Collections
if( CollectionType.class.isAssignableFrom( valueType.getClass() ) )
@@ -904,7 +905,7 @@ public abstract class ValueDeserializerAdapter<InputType, InputNodeType>
private <K, V> Map<K, V> deserializeNodeMap( MapType mapType, InputNodeType inputNode )
throws Exception
{
- Map<K, V> map = new HashMap<K, V>();
+ Map<K, V> map = new HashMap<>();
putArrayNodeInMap( inputNode,
this.<K>buildDeserializeInputNodeFunction( mapType.keyType() ),
this.<V>buildDeserializeInputNodeFunction( mapType.valueType() ),
@@ -922,7 +923,7 @@ public abstract class ValueDeserializerAdapter<InputType, InputNodeType>
ValueCompositeType valueCompositeType;
if( objectHasField( inputNode, "_type" ) ) // with _type info
{
- String typeInfo = this.<String>getObjectFieldValue(
+ String typeInfo = this.getObjectFieldValue(
inputNode,
"_type",
this.<String>buildDeserializeInputNodeFunction( new ValueType( String.class ) ) );
@@ -998,6 +999,7 @@ public abstract class ValueDeserializerAdapter<InputType, InputNodeType>
* @param input Input
* @throws Exception that will be wrapped in a {@link ValueSerializationException}
*/
+ @SuppressWarnings( "UnusedParameters" )
protected void onDeserializationStart( ValueType valueType, InputType input )
throws Exception
{
@@ -1109,7 +1111,7 @@ public abstract class ValueDeserializerAdapter<InputType, InputNodeType>
* @param inputNode Input Node
* @param key Object key
* @param valueDeserializer Deserialization function
- * @return
+ * @return The value of the field.
* @throws Exception that will be wrapped in a {@link ValueSerializationException}
*/
protected abstract <T> T getObjectFieldValue( InputNodeType inputNode,