this.pomBeanModel = pomBeanModel;
this.fileUploadsModel = new ListModel<FileUpload>();
this.pomContentModel = Model.of();
// File select form
final FileUploadField fileSelect = new FileUploadField("fileSelectInput", this.fileUploadsModel);
Form<Void> fileSelectForm = new StatelessForm<Void>("fileSelectForm") {
private static final long serialVersionUID = 1L;
@Override
protected void onSubmit() {
File pomFile = null;
try {
FileUpload fileUpload = fileSelect.getFileUpload();
if (fileUpload == null) {
getSession().error(getString("artifact.follow.pom.error.noFile"));
return;
}
pomFile = File.createTempFile("uploaded-pom-", ".xml", configurer.getTmpDirectory());
fileUpload.writeTo(pomFile);
PomBean pomBean = mavenCentralSearchApiService.searchFromPom(pomFile);
ArtifactPomSearchPanel.this.pomBeanModel.setObject(pomBean);
ArtifactPomSearchPanel.this.pomContentModel.setObject(null);
} catch (Exception e) {
LOGGER.error("Unable to parse " + fileSelect.getFileUpload().getClientFileName() + " file", e);
Session.get().error(getString("artifact.follow.pom.error"));
} finally {
FileUtils.deleteQuietly(pomFile);
}