/[projects]/dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/fileupload/FileUploadServlet.java
ViewVC logotype

Annotation of /dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/fileupload/FileUploadServlet.java

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2949 - (hide annotations) (download)
Tue Feb 16 09:38:13 2016 UTC (8 years, 3 months ago) by torben
File size: 3943 byte(s)
Cleanup TODO:
1 torben 2947 package dk.daoas.adressevedligehold.fileupload;
2 torben 2838
3     import java.io.File;
4     import java.io.IOException;
5     import java.util.List;
6    
7     import javax.servlet.ServletContext;
8     import javax.servlet.ServletException;
9     import javax.servlet.annotation.WebServlet;
10     import javax.servlet.http.HttpServlet;
11     import javax.servlet.http.HttpServletRequest;
12     import javax.servlet.http.HttpServletResponse;
13    
14     import org.apache.commons.fileupload.FileItem;
15     import org.apache.commons.fileupload.FileUploadException;
16     import org.apache.commons.fileupload.disk.DiskFileItemFactory;
17     import org.apache.commons.fileupload.servlet.ServletFileUpload;
18    
19     import dk.daoas.adressevedligehold.tasks.TaskManager;
20    
21 torben 2840
22     /*
23 torben 2949 *
24 torben 2840 */
25    
26 torben 2838 /**
27     * Servlet implementation class FileUploadServlet
28     */
29     @WebServlet("/FileUploadServlet")
30     public class FileUploadServlet extends HttpServlet {
31     private static final long serialVersionUID = 1L;
32    
33     public FileUploadServlet() {
34     super();
35     }
36    
37     /*
38     * https://commons.apache.org/proper/commons-fileupload/using.html
39     */
40     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
41     // Create a factory for disk-based file items
42     DiskFileItemFactory factory = new DiskFileItemFactory();
43    
44     // Configure a repository (to ensure a secure temp location is used)
45     ServletContext servletContext = this.getServletConfig().getServletContext();
46     File repository = (File) servletContext.getAttribute("javax.servlet.context.tempdir");
47    
48     System.out.println( "Path: " + repository.getPath() );
49    
50     factory.setRepository(repository);
51    
52     // Create a new file upload handler
53     ServletFileUpload upload = new ServletFileUpload(factory);
54    
55     try {
56     // Parse the request
57     List<FileItem> items = upload.parseRequest(request);
58    
59     if ( items.size() == 0) {
60     System.out.println("No file uploaded");
61     return;
62     }
63    
64     if ( items.size() >1) {
65     System.out.println("Uploaded " + items.size() + " items");
66     }
67    
68    
69     String distributor = null;
70     FileItem item = null;
71     boolean writeback = false;
72    
73     for (FileItem i : items) {
74    
75    
76     if (i.isFormField()) {
77     System.out.println("FormField: " + i.getFieldName() + "=" + i.getString() );
78    
79     switch (i.getFieldName().toLowerCase()) {
80     case "distributor":
81     distributor = i.getString();
82     break;
83     case "writeback":
84     writeback = Boolean.parseBoolean( i.getString() );
85     break;
86 torben 2860 default:
87     System.out.println("Unknown form field: " + i.getFieldName() );
88 torben 2838 }
89    
90     } else {
91     System.out.println("received " + i.getSize() + " bytes in " + i.getName() + " " + i.getContentType());
92     item = i;
93     }
94     }
95    
96     if (item == null) {
97     System.out.println("No file uploaded");
98     return;
99     }
100     if (distributor == null || distributor.equals("")) {
101     item.delete();
102     return;
103     }
104    
105    
106    
107     distributor = distributor.toUpperCase();
108    
109     AddressSource source = null;
110    
111     switch (distributor) {
112     case "BK":
113     source = new AddressSourceBK( item );
114 torben 2844 break;
115     case "DAO":
116     source = new AddressSourceDAO( item );
117     break;
118 torben 2852 case "FD":
119     source = new AddressSourceFD( item );
120     break;
121 torben 2851 case "NS":
122     source = new AddressSourceNS( item );
123     break;
124 torben 2838 default:
125     System.out.println("Unknown distributor: " + distributor);
126     item.delete();
127     return;
128     }
129    
130     TaskManager taskManager = (TaskManager) this.getServletContext().getAttribute(TaskManager.TASKMANAGER);
131     AddressTask task = new AddressTask(source, writeback);
132     taskManager.submitTask(task);
133    
134    
135    
136     }
137     catch (FileUploadException fue) {
138     System.out.println("UploadException: " + fue.getMessage() );
139    
140     }
141     catch (Exception e) {
142     throw new ServletException(e);
143     }
144    
145     response.getWriter().write("OK");
146     }
147    
148     }

  ViewVC Help
Powered by ViewVC 1.1.20