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

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

Parent Directory Parent Directory | Revision Log Revision Log


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

  ViewVC Help
Powered by ViewVC 1.1.20