KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > teamkonzept > field > TKUploadIterator


1 /*
2  * $Header: /cvsroot/webman-cms/source/webman/com/teamkonzept/field/TKUploadIterator.java,v 1.7 2002/01/18 15:42:41 mischa Exp $
3  *
4  */

5 /**
6  * Die Klasse TKUploadfield stellt Methoden zur Verfuegung, Uploads zu ermoeglichen und
7  * die hochgeladenen Dateien (Bilder) darzustellen, sowie die Daten in der Datenbank zu speichern.
8  * Das Verzeichnis, in dem die Bilder gespeichert werden sollen, wird mit dem Parameterhash
9  * uebergeben. Der Key ist mit UPBASE banannt.
10  *
11  * 1. Upload von Dateien
12  * Die im UPBASE liegenden Dateien werden ausgelesen und in einem Pulldown-
13  * menue zur Auswahl gestellt.
14  *
15  * 2 Upload von Dateien vom lokalen Rechner auf den Server
16  * Dateien koennen vom lokalen Rechner in das UPBASE-Verzeichnis auf den Server
17  * kopiert werden. Es besteht die Moeglichkeit, Dateinamen zu aendern.
18  *
19  * Das Upload benoetigt 2 Templates.
20  * 1. Datei-Auswahl
21  * Das erste (ce_upload.tmpl und ct_upload.tmpl)
22  * stellt Funktionalitaeten zur Verfuegung, die die Auswahl der Dateien ermoeglicht.
23  *
24  * 2. Darstellung der Datei
25  * Das 2. Template (field_option.tmpl) stellt das Bild da und enthaelt einen Button "Modify".
26  * Wird dieser Event ausgeloest, wird das Template zur Datei-Auswahl wieder generiert.
27  *
28  * Die Events fuer das Modify werden im Hauptprogramm (CTGenerator) abgearbeitet.
29  */

30 package com.teamkonzept.field;
31
32 import com.teamkonzept.lib.*;
33 import com.teamkonzept.web.*;
34
35 /**
36  * Die Parameter mussen in einer Liste als Hidden-Felder weitergeleitet werden, da
37  * fuer das Upload 2 Templates Templates benoetigt werden.
38  * Alle Filenames, die in einem Verzeichbis liegen werden in eine Liste gepackt
39  * @author $Author: mischa $
40  * @version $Revision: 1.7 $
41  */

42 public class TKUploadIterator implements TKListIterator {
43
44     String JavaDoc fileList[];
45     TKListIterator oldIterator;
46     String JavaDoc listName;
47     String JavaDoc fileListName;
48     String JavaDoc mimeListName;
49     String JavaDoc extensionErrorList;
50     TKVector keyVector;
51     TKVector valVector;
52     TKVector mimeList[];
53     TKVector extensionVector;
54     
55     public TKUploadIterator(
56         TKVector extensionVector,
57         TKVector mimeList[],
58         String JavaDoc fileList[],
59         TKVector keyVector,
60         TKVector valVector,
61         TKListIterator oldIterator,
62         String JavaDoc listName,
63         String JavaDoc fileListName,
64         String JavaDoc mimeListName,
65         String JavaDoc extensionErrorList
66     )
67     {
68         this.extensionVector = extensionVector;
69         this.mimeList = mimeList;
70         this.fileList = fileList;
71         this.keyVector = keyVector;
72         this.valVector = valVector;
73         this.oldIterator= oldIterator;
74         this.listName = listName;
75         this.fileListName = fileListName;
76         this.mimeListName = mimeListName;
77         this.extensionErrorList= extensionErrorList;
78     }
79
80
81     public boolean apply( TKTemplate t, int i, String JavaDoc currListName )
82     {
83         TKHTMLTemplate template = (TKHTMLTemplate) t;
84
85         //---- Liste der Hidden-Parameter setzen ----//
86
if( currListName.equalsIgnoreCase( listName ) ) {
87             if(i >= keyVector.size()) return false;
88             template.set("PARAMKEY", keyVector.elementAt(i) );
89             template.set("PARAMVALUE", valVector.elementAt(i).toString() );
90                         
91             return true;
92         }
93         //---- Liste der Files im Directory ----//
94
else if(currListName.equalsIgnoreCase(fileListName)) {
95             if(i >= fileList.length) return false;
96             template.set("FILENAME", fileList[i]);
97             return true;
98         }
99         //----- Liste der speziellen extensions ----//
100
else if( currListName.equalsIgnoreCase(mimeListName) ) {
101             TKVector keyMimeVector = mimeList[0];
102             TKVector valMimeVector = mimeList[1];
103             //if(i >= mimeList.size()) return false;
104
//template.set("MIMENAME", mimeList.elementAt(i));
105
if(i >= keyMimeVector.size()) return false;
106             template.set("MIMENAMEKEY", keyMimeVector.elementAt(i));
107             template.set("MIMENAMEVAL", valMimeVector.elementAt(i));
108             return true;
109         }
110         //---- Liste der auf de server nicht gefundenen extensions ----//
111
else if( currListName.equalsIgnoreCase(extensionErrorList) ) {
112             if(i >= extensionVector.size()) return false;
113             template.set( "INDEX", Integer.toString(i) );
114             template.set("EXTENSION", extensionVector.elementAt(i));
115             return true;
116         }
117         else if( oldIterator != null ) {
118             return oldIterator.apply( template, i, currListName );
119         }
120         else {
121             return false;
122         }
123     }
124
125
126     //{{DECLARE_CONTROLS
127
//}}
128
}//end class
129

130
131
Popular Tags