mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-11-11 05:12:43 +00:00
Bug 4371: Initial stub for an expedition all in one import servlet
This commit is contained in:
1 parent
0f3145ce3c
commit
d94deaa0a6
2 files changed
+57
No files matched your search
@@ -190,6 +190,14 @@
|
||||
<servlet-name>SensorDataImportServlet</servlet-name>
|
||||
<url-pattern>/sensordata/import</url-pattern>
|
||||
</servlet-mapping>
|
||||
<servlet>
|
||||
<servlet-name>ExpeditionAllInOneImportServlet</servlet-name>
|
||||
<servlet-class>com.sap.sailing.server.gateway.trackfiles.impl.ExpeditionAllInOneImportServlet</servlet-class>
|
||||
</servlet>
|
||||
<servlet-mapping>
|
||||
<servlet-name>ExpeditionAllInOneImportServlet</servlet-name>
|
||||
<url-pattern>/expedition/import</url-pattern>
|
||||
</servlet-mapping>
|
||||
<servlet>
|
||||
<servlet-name>FileUploadServlet</servlet-name>
|
||||
<servlet-class>com.sap.sailing.server.gateway.impl.FileUploadServlet</servlet-class>
|
||||
|
||||
+49
@@ -0,0 +1,49 @@
|
||||
package com.sap.sailing.server.gateway.trackfiles.impl;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.apache.commons.fileupload.FileItem;
|
||||
|
||||
import com.sap.sailing.server.gateway.impl.AbstractFileUploadServlet;
|
||||
import com.sap.sailing.server.gateway.trackfiles.impl.ExpeditionAllInOneImporter.ImporterResult;
|
||||
|
||||
/**
|
||||
* Import servlet for sensor data files. Importers are located through the OSGi service registry and matched against the
|
||||
* name provided by the upload form.
|
||||
*/
|
||||
public class ExpeditionAllInOneImportServlet extends AbstractFileUploadServlet {
|
||||
private static final long serialVersionUID = 1120226743039934620L;
|
||||
private static final Logger logger = Logger.getLogger(ExpeditionAllInOneImportServlet.class.getName());
|
||||
|
||||
/**
|
||||
* Process the uploaded file items.
|
||||
*/
|
||||
@Override
|
||||
protected void process(List<FileItem> fileItems, HttpServletRequest req, HttpServletResponse resp)
|
||||
throws IOException {
|
||||
JsonHolder jsonResult = new JsonHolder(logger);
|
||||
try {
|
||||
String fileName = null;
|
||||
FileItem fileItem = null;
|
||||
for (FileItem fi : fileItems) {
|
||||
if (!fi.isFormField()) {
|
||||
fileName = fi.getName();
|
||||
fileItem = fi;
|
||||
}
|
||||
}
|
||||
if (fileItem == null) {
|
||||
throw new RuntimeException("No file to import");
|
||||
}
|
||||
ImporterResult importerResult = new ExpeditionAllInOneImporter(getService(), /* TODO */ null, getServiceFinderFactory(), getContext()).importFiles(fileName, fileItem);
|
||||
} catch (Exception e) {
|
||||
jsonResult.add(e);
|
||||
} finally {
|
||||
jsonResult.writeJSONString(resp);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user