FileStorageTransferNotifierService.java
package fr.paris.lutece.plugins.filestoragetransfer.service;
import java.util.List;
import fr.paris.lutece.plugins.filestoragetransfer.business.FileStorageTransferRequest;
import fr.paris.lutece.plugins.filestoragetransfer.service.listener.IFileStorageTransferListener;
import fr.paris.lutece.portal.service.spring.SpringContextService;
import fr.paris.lutece.portal.service.util.AppLogService;
public final class FileStorageTransferNotifierService
{
// singleton
private static FileStorageTransferNotifierService _singleton;
private static List<IFileStorageTransferListener> _fileTransferListeners;
private FileStorageTransferNotifierService( )
{
_fileTransferListeners = SpringContextService.getBeansOfType( IFileStorageTransferListener.class );
StringBuilder sbLog = new StringBuilder( );
sbLog.append( "FileTransferListener - loading listeners : " );
for ( final IFileStorageTransferListener listener : _fileTransferListeners )
{
sbLog.append( "\n\t\t\t\t - " ).append( listener.getName( ) );
}
AppLogService.debug( sbLog.toString( ) );
}
public void notifyFileTransferListeners( FileStorageTransferRequest request )
{
_fileTransferListeners.forEach( listener -> listener.changeFileService( request ) );
}
public static FileStorageTransferNotifierService instance( )
{
if ( _singleton == null )
{
_singleton = new FileStorageTransferNotifierService( );
}
return _singleton;
}
}