Skip to content

Commit e583980

Browse files
committed
#142 - migration to production
1 parent 983fc18 commit e583980

File tree

6 files changed

+279
-43
lines changed

6 files changed

+279
-43
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
package cz.zcu.kiv.eegdatabase.wui.core.experiments;
2+
3+
import cz.zcu.kiv.eegdatabase.data.pojo.Experiment;
4+
import cz.zcu.kiv.eegdatabase.data.pojo.ExperimentPackage;
5+
import cz.zcu.kiv.eegdatabase.data.pojo.License;
6+
import cz.zcu.kiv.eegdatabase.data.pojo.Person;
7+
import cz.zcu.kiv.eegdatabase.logic.controller.experiment.MetadataCommand;
8+
import cz.zcu.kiv.eegdatabase.wui.core.file.FileDTO;
9+
10+
import java.io.Serializable;
11+
import java.util.List;
12+
13+
/**
14+
* Created by stebjan on 15.2.2016.
15+
*/
16+
public class DownloadPackageManager extends Thread implements Serializable{
17+
18+
private int numberOfExperiments;
19+
private int numberOfDownloadedExperiments;
20+
private FileDTO outputFile;
21+
private ExperimentPackage expPackage;
22+
private MetadataCommand command;
23+
private License license;
24+
private List<Experiment> selectList;
25+
private ExperimentDownloadProvider downloadProvider;
26+
private Person loggedUser;
27+
28+
public DownloadPackageManager(ExperimentPackage pckg, MetadataCommand mc, License license, List<Experiment> selectList,
29+
ExperimentDownloadProvider provider, Person user) {
30+
numberOfDownloadedExperiments = 0;
31+
numberOfExperiments = 0;
32+
expPackage = pckg;
33+
command = mc;
34+
this.license = license;
35+
this.selectList = selectList;
36+
downloadProvider = provider;
37+
loggedUser = user;
38+
39+
}
40+
41+
42+
@Override
43+
public void run() {
44+
numberOfExperiments = selectList.size();
45+
outputFile = downloadProvider.generatePackageFile(expPackage, command, license, selectList, loggedUser, this);
46+
}
47+
48+
public int getNumberOfExperiments() {
49+
return numberOfExperiments;
50+
}
51+
52+
public void setNumberOfExperiments(int numberOfExperiments) {
53+
this.numberOfExperiments = numberOfExperiments;
54+
}
55+
56+
public int getNumberOfDownloadedExperiments() {
57+
return numberOfDownloadedExperiments;
58+
}
59+
60+
public void setNumberOfDownloadedExperiments(int numberOfDownloadedExperiments) {
61+
this.numberOfDownloadedExperiments = numberOfDownloadedExperiments;
62+
}
63+
64+
public FileDTO getOutputFile() {
65+
return outputFile;
66+
}
67+
68+
public void setOutputFile(FileDTO outputFile) {
69+
this.outputFile = outputFile;
70+
}
71+
}

src/main/java/cz/zcu/kiv/eegdatabase/wui/core/experiments/ExperimentDownloadProvider.java

+8-5
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ public FileDTO generate(Experiment exp, MetadataCommand mc, Collection<DataFile>
126126
Set<DataFile> newFiles = prepareDataFilesWithParameters(files, params);
127127

128128
// prepared history log
129-
createHistoryRecordAboutDownload(experiment);
129+
createHistoryRecordAboutDownload(experiment, personService.getLoggedPerson());
130130

131131
License license = licenseService.getLicenseForPurchasedExperiment(exp.getExperimentId(), EEGDataBaseSession.get().getLoggedUser().getPersonId());
132132
byte[] licenseFile = licenseService.getLicenseAttachmentContent(license.getLicenseId());
@@ -155,7 +155,8 @@ public FileDTO generate(Experiment exp, MetadataCommand mc, Collection<DataFile>
155155
}
156156

157157
@Transactional
158-
public FileDTO generatePackageFile(ExperimentPackage pckg, MetadataCommand mc, License license, List<Experiment> selectList) {
158+
public FileDTO generatePackageFile(ExperimentPackage pckg, MetadataCommand mc, License license, List<Experiment> selectList,
159+
Person loggedUser, DownloadPackageManager manager) {
159160

160161
ZipOutputStream zipOutputStream = null;
161162
FileOutputStream fileOutputStream = null;
@@ -204,7 +205,10 @@ public FileDTO generatePackageFile(ExperimentPackage pckg, MetadataCommand mc, L
204205
IOUtils.closeQuietly(in);
205206
FileUtils.deleteQuietly(file);
206207

207-
createHistoryRecordAboutDownload(exp);
208+
createHistoryRecordAboutDownload(exp, loggedUser);
209+
synchronized (this) {
210+
manager.setNumberOfDownloadedExperiments(manager.getNumberOfDownloadedExperiments() + 1);
211+
}
208212
}
209213

210214
dto.setFile(tempZipFile);
@@ -232,9 +236,8 @@ public FileDTO generatePackageFile(ExperimentPackage pckg, MetadataCommand mc, L
232236
}
233237
}
234238

235-
private void createHistoryRecordAboutDownload(Experiment experiment) {
239+
private void createHistoryRecordAboutDownload(Experiment experiment, Person user) {
236240

237-
Person user = personService.getLoggedPerson();
238241
Timestamp currentTimestamp = new java.sql.Timestamp(Calendar.getInstance().getTime().getTime());
239242
History history = new History();
240243
log.debug("Setting downloading metadata");

src/main/java/cz/zcu/kiv/eegdatabase/wui/core/file/FileDTO.java

+11-2
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,10 @@
2222
******************************************************************************/
2323
package cz.zcu.kiv.eegdatabase.wui.core.file;
2424

25-
import java.io.File;
26-
2725
import cz.zcu.kiv.eegdatabase.wui.core.dto.IdentifiDTO;
2826

27+
import java.io.File;
28+
2929
/**
3030
* Object for file transfer in wicket.
3131
*
@@ -39,6 +39,15 @@ public class FileDTO extends IdentifiDTO {
3939
private String fileName;
4040
private String mimetype;
4141
private File file;
42+
private boolean deleted;
43+
44+
public boolean isDeleted() {
45+
return deleted;
46+
}
47+
48+
public void setDeleted(boolean deleted) {
49+
this.deleted = deleted;
50+
}
4251

4352
public String getFileName() {
4453
return fileName;

src/main/java/cz/zcu/kiv/eegdatabase/wui/ui/experiments/ExperimentsPackageDownloadPage.html

+36-16
Original file line numberDiff line numberDiff line change
@@ -2,22 +2,22 @@
22
This file is part of the EEG-database project
33
44
==========================================
5-
5+
66
Copyright (C) 2013 by University of West Bohemia (http://www.zcu.cz/en/)
7-
7+
88
***********************************************************************************************************************
9-
9+
1010
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
1111
the License. You may obtain a copy of the License at
12-
12+
1313
http://www.apache.org/licenses/LICENSE-2.0
14-
14+
1515
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
1616
an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
1717
specific language governing permissions and limitations under the License.
18-
18+
1919
***********************************************************************************************************************
20-
20+
2121
ExperimentsPackageDownloadPage.html, 2014/11/13 00:01 Jakub Rinkes
2222
-->
2323
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
@@ -32,15 +32,15 @@
3232
<h1>
3333
<wicket:message key="pageTitle.downloadPackage" />
3434
</h1>
35-
35+
3636
<h2>
3737
<wicket:message key="label.experimentPackage.name"></wicket:message> <wicket:container wicket:id="packageName"></wicket:container>
3838
</h2>
3939

4040
<!--<h2 class="alert">-->
4141
<!--<wicket:message key="pageTitle.chooseMetadata.hint"></wicket:message>-->
4242
<!--</h2>-->
43-
43+
4444

4545
<form class="standardInputForm" wicket:id="form">
4646
<!--<table style="width: 27%;" class="standardValueTable">-->
@@ -123,12 +123,36 @@ <h2>
123123
<!--</tr>-->
124124

125125
<!--</table>-->
126-
126+
127127
<h2>
128128
<wicket:message key="label.chooseExperiments"></wicket:message>
129129
</h2>
130130
<!--<div wicket:id="navigator"></div>-->
131-
131+
<!-- progress bar -->
132+
133+
<div id="wrapper-panel-frame" class="ui-corner-all">
134+
135+
<table>
136+
<tr>
137+
<td width="240" colspan="2">
138+
<wicket:message key="label.packageProgress" /><div wicket:id="progress"></div>
139+
</td>
140+
<!--<td>-->
141+
<!--<div wicket:id="indicator"></div>-->
142+
<!--</td>-->
143+
</tr>
144+
</table>
145+
<br/>
146+
<div wicket:id="feedback" style="width: 360px;"></div>
147+
148+
</div>
149+
<div class="actionBox">
150+
<input type="submit" wicket:id="submit" class="lightButtonLink" wicket:message="value:button.downloadPackage"/>
151+
<a href='#' wicket:id="downloadLink"><wicket:message key="link.download"></wicket:message></a>
152+
<a href="#" wicket:id="viewLicenseLink"><wicket:message key="link.license.view"/></a>
153+
</div>
154+
155+
132156
<span wicket:id="group">
133157
<span><input type="checkbox" wicket:id="selectedAll"/><wicket:message key="label.chooseAll"></wicket:message></span>
134158
<table class="standardValueTable" style="width: auto;">
@@ -154,11 +178,7 @@ <h2>
154178
</tbody>
155179
</table>
156180
</span>
157-
158-
<div class="actionBox">
159-
<input type="submit" wicket:id="submit" class="lightButtonLink" wicket:message="value:button.downloadPackage"/>
160-
<a href="#" wicket:id="viewLicenseLink"><wicket:message key="link.license.view"/></a>
161-
</div>
181+
162182
<div wicket:id="viewLicenseWindow"></div>
163183
</form>
164184
</div>

0 commit comments

Comments
 (0)