summaryrefslogtreecommitdiff
path: root/removed-code/FileBrowser.java
diff options
context:
space:
mode:
Diffstat (limited to 'removed-code/FileBrowser.java')
-rwxr-xr-xremoved-code/FileBrowser.java175
1 files changed, 175 insertions, 0 deletions
diff --git a/removed-code/FileBrowser.java b/removed-code/FileBrowser.java
new file mode 100755
index 0000000..2f2a3a5
--- /dev/null
+++ b/removed-code/FileBrowser.java
@@ -0,0 +1,175 @@
+/*
+ * Copyright (c) 2006 Manuel Traut and Volker Dahnke
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Common Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/cpl-v10.html
+ *
+ * Contributors: Manuel Traut and Volker Dahnke
+ */
+
+package YalpServer;
+
+import java.util.ArrayList;
+import java.io.File;
+import java.io.Serializable;
+
+import YalpInterfaces.*;
+
+/*
+ * Class FileBrowser
+ *
+ * <em>each Admin Client has his own FileBrowser, to browse through the
+ * subDirectories of the as startDir defined Directory</em>
+ *
+ * @author Volker Dahnke / Manuel Traut
+ *
+ * @version 0.6 14-12-2005<br>
+ *
+ * @see client.GUI.Browser
+ */
+
+public class FileBrowser {
+
+ private File actualFile, startDir;
+ private String owner;
+ private String userName;
+ private ArrayList<YalpFile> fileList;
+
+ /* t.b.d. add some more types */
+ private String[] extensions = {".mp3",".mpg",".mpeg",".avi"};
+
+/*
+ * Constructor starts Browsing in startDir
+ *
+ * @param startdir
+ * directory which could be browser recursively
+ * @param owner
+ * of the Browser (IP of the Client)
+ * @param userName
+ * of the Admin using this browser
+ */
+
+ public FileBrowser(String startdir, String owner,String userName) {
+ this.owner = owner;
+ this.userName=userName;
+ this.actualFile = new File(startdir);
+ this.startDir = new File(startdir);
+ this.fileList = new ArrayList<YalpFile>();
+ }
+
+/*
+ * returns owner of the browser
+ *
+ * @return String
+ * owner
+ */
+
+ public String getOwner(){
+ return this.owner;
+ }
+
+/*
+ * returns user of the browser
+ *
+ * @return String
+ * user
+ */
+
+ public String getUserName(){
+ return this.userName;
+ }
+
+/*
+ * returns list of all files in actual Folder
+ * (none recursive)
+ *
+ * @return ArrayList<YalpFile>
+ * list of all files
+ */
+
+ public ArrayList<YalpFile> getFiles(){
+ return this.fileList;
+ }
+
+/*
+ * returns list of all files in actual Folder
+ * (recursive)
+ *
+ * @return ArrayList<YalpFile>
+ * list of all files
+ */
+
+ public ArrayList<File> findAll() {
+
+ System.out.println( "server.FileBrowser.findAll: lookin in - " +
+ this.actualFile.toString() );
+
+ FileFinder ff = new FileFinder(actualFile.getPath(), extensions);
+ return ff.getFiles();
+ }
+
+/*
+ * change actual Folder
+ *
+ * @param dirName
+ * String dir to change to
+ */
+
+ public void changeDir(String dirName) {
+
+ this.actualFile = new File(this.startDir+dirName);
+ this.fileList.clear();
+
+ if(actualFile.isDirectory()) {
+ for ( File aFile : this.actualFile.listFiles() ) {
+ /* add to fileList if extension is allowed or File is a Directory */
+ if (match(aFile.getName(), extensions) || aFile.isDirectory())
+ {
+ YalpFile tmp = new YalpFile();
+ tmp.name = aFile.getName();
+ tmp.isDir = aFile.isDirectory();
+ tmp.parent = aFile.getParent();
+ this.fileList.add( tmp );
+ }
+ }
+ }
+ }
+
+/*
+ * prints current directory out to console
+ *
+ * (for debugging)
+ */
+
+ public void printActualDir(){
+ for(YalpFile one : this.fileList){
+ if(one.isDir) System.out.print("+");
+ else System.out.print("|");
+ System.out.println(one.name);
+ }
+ }
+
+/*
+ * checks if file extension matches or not
+ *
+ * @param s
+ * fileName including Extension
+ * @param suffixes
+ * Array of allowed Extensions
+ * @return boolean
+ * true if yalp can handle this extension, else false
+ */
+
+ private static boolean match( String s, String suffixes[] ) {
+ for ( String suffix : suffixes ) {
+ int huhu = s.length();
+ int huhu2 = suffix.length();
+ int huhu3 = huhu - huhu2;
+ if ( s.length() >= suffix.length() &&
+ s.substring( huhu3, s.length()).equalsIgnoreCase(suffix) )
+ return true;
+ }
+ return false;
+ }
+}