Created
January 8, 2017 00:05
-
-
Save manikmagar/f0d3c9f6786a92a2d8b57bae70c3b43e to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.mms.mule.filefilters; | |
import java.io.File; | |
import java.io.FileFilter; | |
import org.apache.commons.io.filefilter.IOFileFilter; | |
import org.mule.api.MuleMessage; | |
import org.mule.api.routing.filter.Filter; | |
import org.mule.api.routing.filter.ObjectFilter; | |
import org.slf4j.Logger; | |
import org.slf4j.LoggerFactory; | |
public class FileFilterWrapper implements FileFilter, Filter, ObjectFilter { | |
private Logger logger = LoggerFactory.getLogger(FileFilterWrapper.class); | |
private IOFileFilter ioFileFilter; | |
public IOFileFilter getIoFileFilter() { | |
return ioFileFilter; | |
} | |
public void setIoFileFilter(IOFileFilter fileFilter) { | |
this.ioFileFilter = fileFilter; | |
} | |
@Override | |
public boolean accept(Object object) { | |
if(object == null || !(object instanceof File)){ | |
if(logger.isDebugEnabled()){ | |
logger.debug("Rejected invalid object which is - "+ object); | |
} | |
return false; | |
} | |
File file = (File) object; | |
return accept(file); | |
} | |
@Override | |
public boolean accept(MuleMessage message) { | |
//This will only receive the files accepted by file filter, so either this method can by default return true | |
// or just do verification again. | |
File file = new File(message.getInboundProperty("originalDirectory").toString(),message.getInboundProperty("originalFilename").toString()); | |
return accept(file); | |
} | |
@Override | |
public boolean accept(File pathname) { | |
if(getIoFileFilter() == null){ | |
throw new NullPointerException("Missing the required IOFileFilter instance"); | |
} | |
boolean accepted = getIoFileFilter().accept(pathname); | |
return accepted; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment