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

Contents of /dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/coveragefileupload/FileUploadServlet.java

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3022 - (show annotations) (download)
Tue Apr 26 17:37:56 2016 UTC (8 years ago) by torben
File size: 3951 byte(s)
Rename package
1 package dk.daoas.adressevedligehold.coveragefileupload;
2
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
22 /*
23 *
24 */
25
26 /**
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 default:
87 System.out.println("Unknown form field: " + i.getFieldName() );
88 }
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 break;
115 case "DAO":
116 source = new AddressSourceDAO( item );
117 break;
118 case "FD":
119 source = new AddressSourceFD( item );
120 break;
121 case "NS":
122 source = new AddressSourceNS( item );
123 break;
124 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