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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2851 - (show annotations) (download)
Tue Jan 26 21:34:15 2016 UTC (8 years, 3 months ago) by torben
File size: 3849 byte(s)
Implement NS
1 package dk.daoas.adressevedligehold;
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 }
88
89 } else {
90 System.out.println("received " + i.getSize() + " bytes in " + i.getName() + " " + i.getContentType());
91 item = i;
92 }
93 }
94
95 if (item == null) {
96 System.out.println("No file uploaded");
97 return;
98 }
99 if (distributor == null || distributor.equals("")) {
100 item.delete();
101 return;
102 }
103
104
105
106 distributor = distributor.toUpperCase();
107
108 AddressSource source = null;
109
110 switch (distributor) {
111 case "BK":
112 source = new AddressSourceBK( item );
113 break;
114 case "DAO":
115 source = new AddressSourceDAO( item );
116 break;
117 case "NS":
118 source = new AddressSourceNS( item );
119 break;
120 default:
121 System.out.println("Unknown distributor: " + distributor);
122 item.delete();
123 return;
124 }
125
126 TaskManager taskManager = (TaskManager) this.getServletContext().getAttribute(TaskManager.TASKMANAGER);
127 AddressTask task = new AddressTask(source, writeback);
128 taskManager.submitTask(task);
129
130
131
132 }
133 catch (FileUploadException fue) {
134 System.out.println("UploadException: " + fue.getMessage() );
135
136 }
137 catch (Exception e) {
138 throw new ServletException(e);
139 }
140
141 response.getWriter().write("OK");
142 }
143
144 }

  ViewVC Help
Powered by ViewVC 1.1.20