001 package org.shiftone.jrat.inject.process; 002 003 004 import org.shiftone.jrat.core.JRatException; 005 import org.shiftone.jrat.inject.bytecode.Transformer; 006 import org.shiftone.jrat.util.io.IOUtil; 007 import org.shiftone.jrat.util.log.Logger; 008 009 import java.io.File; 010 011 012 /** 013 * @author jeff@shiftone.org (Jeff Drost) 014 */ 015 public class CopyFileProcessor extends AbstractFileProcessor { 016 017 private static final Logger LOG = Logger.getLogger(CopyFileProcessor.class); 018 019 public void processFile(Transformer transformer, File source, File target) { 020 021 try { 022 File s = source.getCanonicalFile(); 023 File t = target.getCanonicalFile(); 024 025 if (!s.equals(t)) { 026 IOUtil.copy(source, target); 027 } 028 } 029 catch (Exception e) { 030 throw new JRatException("unable to copy to : " + target, e); 031 } 032 } 033 }