/[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 2840 - (hide annotations) (download)
Mon Jan 25 10:25:22 2016 UTC (8 years, 4 months ago) by torben
Original Path: dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/FileUploadServlet.java
File size: 3751 byte(s)
Add some TODO:'s
1 torben 2838 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 torben 2840
22     /*
23     * TODO: understøt indlæsning af FD
24     * TODO: understøt indlæsning af NS
25     * TODO: understøt indlæsning af DAO
26     */
27    
28 torben 2838 /**
29     * Servlet implementation class FileUploadServlet
30     */
31     @WebServlet("/FileUploadServlet")
32     public class FileUploadServlet extends HttpServlet {
33     private static final long serialVersionUID = 1L;
34    
35     public FileUploadServlet() {
36     super();
37     }
38    
39     /*
40     * https://commons.apache.org/proper/commons-fileupload/using.html
41     */
42     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
43     // Create a factory for disk-based file items
44     DiskFileItemFactory factory = new DiskFileItemFactory();
45    
46     // Configure a repository (to ensure a secure temp location is used)
47     ServletContext servletContext = this.getServletConfig().getServletContext();
48     File repository = (File) servletContext.getAttribute("javax.servlet.context.tempdir");
49    
50     System.out.println( "Path: " + repository.getPath() );
51    
52     factory.setRepository(repository);
53    
54     // Create a new file upload handler
55     ServletFileUpload upload = new ServletFileUpload(factory);
56    
57     try {
58     // Parse the request
59     List<FileItem> items = upload.parseRequest(request);
60    
61     if ( items.size() == 0) {
62     System.out.println("No file uploaded");
63     return;
64     }
65    
66     if ( items.size() >1) {
67     System.out.println("Uploaded " + items.size() + " items");
68     }
69    
70    
71     String distributor = null;
72     FileItem item = null;
73     boolean writeback = false;
74    
75     for (FileItem i : items) {
76    
77    
78     if (i.isFormField()) {
79     System.out.println("FormField: " + i.getFieldName() + "=" + i.getString() );
80    
81     switch (i.getFieldName().toLowerCase()) {
82     case "distributor":
83     distributor = i.getString();
84     break;
85     case "writeback":
86     writeback = Boolean.parseBoolean( i.getString() );
87     break;
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     default:
116     System.out.println("Unknown distributor: " + distributor);
117     item.delete();
118     return;
119     }
120    
121     TaskManager taskManager = (TaskManager) this.getServletContext().getAttribute(TaskManager.TASKMANAGER);
122     AddressTask task = new AddressTask(source, writeback);
123     taskManager.submitTask(task);
124    
125    
126    
127     }
128     catch (FileUploadException fue) {
129     System.out.println("UploadException: " + fue.getMessage() );
130    
131     }
132     catch (Exception e) {
133     throw new ServletException(e);
134     }
135    
136     response.getWriter().write("OK");
137     }
138    
139     }

  ViewVC Help
Powered by ViewVC 1.1.20