KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > tc > installer > util > WarFileFilter


1 /*
2  * All content copyright (c) 2003-2006 Terracotta, Inc., except as may otherwise be noted in a separate copyright notice. All rights reserved.
3  */

4 package com.tc.installer.util;
5
6 import java.io.File JavaDoc;
7 import java.io.FileFilter JavaDoc;
8 import java.io.FileInputStream JavaDoc;
9 import java.util.regex.Pattern JavaDoc;
10 import java.util.zip.ZipEntry JavaDoc;
11 import java.util.zip.ZipInputStream JavaDoc;
12
13 public class WarFileFilter implements FileFilter JavaDoc {
14
15   public boolean accept(File JavaDoc file) {
16     if (!file.canRead()) return false;
17     if (!file.isFile()) return false;
18     if (!Pattern.matches(".*\\.war", file.getName().toLowerCase())) return false;
19     return isValidWarFormat(file);
20   }
21   
22   private boolean isValidWarFormat(File JavaDoc file) {
23     try {
24       ZipInputStream JavaDoc zin = new ZipInputStream JavaDoc(new FileInputStream JavaDoc(file));
25       ZipEntry JavaDoc entry = null;
26       while ((entry = zin.getNextEntry()) != null) {
27         if (entry.getName().equals("WEB-INF/")) return true;
28       }
29     } catch (Exception JavaDoc e) {
30       return false;
31     }
32     return false;
33   }
34   
35 }
36
Popular Tags