Skip to content

Commit 4302920

Browse files
committed
potential npe fixes; javadocs
1 parent 9419be4 commit 4302920

File tree

2 files changed

+51
-40
lines changed

2 files changed

+51
-40
lines changed

src/main/java/org/jbei/ice/lib/bulkupload/BulkEntryCreator.java

+42-40
Original file line numberDiff line numberDiff line change
@@ -63,26 +63,17 @@ protected BulkUpload createOrRetrieveBulkUpload(Account account, BulkUploadAutoU
6363
EntryType addType) {
6464
BulkUpload draft = dao.get(autoUpdate.getBulkUploadId());
6565
if (draft == null) {
66-
draft = new BulkUpload();
67-
draft.setAccount(account);
68-
draft.setStatus(BulkUploadStatus.IN_PROGRESS);
69-
draft.setImportType(addType.toString());
70-
draft.setCreationTime(new Date(System.currentTimeMillis()));
71-
draft.setLastUpdateTime(draft.getCreationTime());
72-
dao.create(draft);
66+
long id = createBulkUpload(account.getEmail(), addType);
67+
draft = dao.get(id);
7368
}
7469
return draft;
7570
}
7671

7772
public long createBulkUpload(String userId, EntryType entryType) {
78-
BulkUpload draft = new BulkUpload();
79-
Account account = accountController.getByEmail(userId);
80-
draft.setAccount(account);
81-
draft.setStatus(BulkUploadStatus.IN_PROGRESS);
82-
draft.setImportType(entryType.toString());
83-
draft.setCreationTime(new Date());
84-
draft.setLastUpdateTime(draft.getCreationTime());
85-
return dao.create(draft).getId();
73+
BulkUploadInfo info = new BulkUploadInfo();
74+
info.setStatus(BulkUploadStatus.IN_PROGRESS);
75+
info.setType(entryType.getName());
76+
return controller.create(userId, info).getId();
8677
}
8778

8879
public PartData createEntry(String userId, long bulkUploadId, PartData data) {
@@ -93,6 +84,9 @@ public PartData createEntry(String userId, long bulkUploadId, PartData data) {
9384

9485
protected PartData createEntryForUpload(String userId, PartData data, BulkUpload upload) {
9586
Entry entry = InfoToModelFactory.infoToEntry(data);
87+
if (entry == null)
88+
return null;
89+
9690
entry.setVisibility(Visibility.DRAFT.getValue());
9791
Account account = accountController.getByEmail(userId);
9892
entry.setOwner(account.getFullName());
@@ -103,18 +97,20 @@ protected PartData createEntryForUpload(String userId, PartData data, BulkUpload
10397
// create linked
10498
PartData linked = data.getLinkedParts().get(0);
10599
Entry linkedEntry = InfoToModelFactory.infoToEntry(linked);
106-
linkedEntry.setVisibility(Visibility.DRAFT.getValue());
107-
linkedEntry.setOwner(account.getFullName());
108-
linkedEntry.setOwnerEmail(account.getEmail());
109-
linkedEntry = entryDAO.create(linkedEntry);
100+
if (linkedEntry != null) {
101+
linkedEntry.setVisibility(Visibility.DRAFT.getValue());
102+
linkedEntry.setOwner(account.getFullName());
103+
linkedEntry.setOwnerEmail(account.getEmail());
104+
linkedEntry = entryDAO.create(linkedEntry);
110105

111-
linked.setId(linkedEntry.getId());
112-
linked.setModificationTime(linkedEntry.getModificationTime().getTime());
113-
data.getLinkedParts().clear();
114-
data.getLinkedParts().add(linked);
106+
linked.setId(linkedEntry.getId());
107+
linked.setModificationTime(linkedEntry.getModificationTime().getTime());
108+
data.getLinkedParts().clear();
109+
data.getLinkedParts().add(linked);
115110

116-
// link to main entry in the database
117-
entry.getLinkedEntries().add(linkedEntry);
111+
// link to main entry in the database
112+
entry.getLinkedEntries().add(linkedEntry);
113+
}
118114
}
119115

120116
entry = entryDAO.create(entry);
@@ -147,9 +143,11 @@ protected PartData doUpdate(String userId, Entry entry, PartData data) {
147143
return null;
148144

149145
entry = InfoToModelFactory.updateEntryField(data, entry);
146+
if (entry == null)
147+
return null;
148+
150149
entry.setModificationTime(new Date());
151150
entry = entryDAO.update(entry);
152-
153151
data.setModificationTime(entry.getModificationTime().getTime());
154152

155153
// check if there is any linked parts. update if so (expect a max of 1)
@@ -159,8 +157,7 @@ protected PartData doUpdate(String userId, Entry entry, PartData data) {
159157
// retrieve the entry (this is the only time you can create another entry on update)
160158
PartData linkedPartData = data.getLinkedParts().get(0); // bulk upload can only link 1
161159
Entry linkedEntry = entryDAO.get(linkedPartData.getId());
162-
if (linkedEntry == null) {
163-
linkedEntry = InfoToModelFactory.infoToEntry(linkedPartData);
160+
if (linkedEntry == null && (linkedEntry = InfoToModelFactory.infoToEntry(linkedPartData)) != null) {
164161
linkedEntry.setVisibility(Visibility.DRAFT.getValue());
165162
Account account = accountController.getByEmail(userId);
166163
linkedEntry.setOwner(account.getFullName());
@@ -385,6 +382,9 @@ public boolean createEntries(String userId, long draftId, List<PartData> data, H
385382
continue;
386383

387384
Entry entry = InfoToModelFactory.infoToEntry(datum);
385+
if (entry == null)
386+
continue;
387+
388388
entry.setVisibility(Visibility.DRAFT.getValue());
389389
Account account = accountController.getByEmail(userId);
390390
entry.setOwner(account.getFullName());
@@ -395,19 +395,21 @@ public boolean createEntries(String userId, long draftId, List<PartData> data, H
395395
// create linked
396396
PartData linked = datum.getLinkedParts().get(0);
397397
Entry linkedEntry = InfoToModelFactory.infoToEntry(linked);
398-
linkedEntry.setVisibility(Visibility.DRAFT.getValue());
399-
linkedEntry.setOwner(account.getFullName());
400-
linkedEntry.setOwnerEmail(account.getEmail());
401-
linkedEntry = entryDAO.create(linkedEntry);
398+
if (linkedEntry != null) {
399+
linkedEntry.setVisibility(Visibility.DRAFT.getValue());
400+
linkedEntry.setOwner(account.getFullName());
401+
linkedEntry.setOwnerEmail(account.getEmail());
402+
linkedEntry = entryDAO.create(linkedEntry);
402403

403-
linked.setId(linkedEntry.getId());
404-
linked.setModificationTime(linkedEntry.getModificationTime().getTime());
404+
linked.setId(linkedEntry.getId());
405+
linked.setModificationTime(linkedEntry.getModificationTime().getTime());
405406

406-
// check for attachments and sequences for linked entry
407-
saveFiles(userId, linked, linkedEntry, files);
407+
// check for attachments and sequences for linked entry
408+
saveFiles(linked, linkedEntry, files);
408409

409-
// link to main entry in the database
410-
entry.getLinkedEntries().add(linkedEntry);
410+
// link to main entry in the database
411+
entry.getLinkedEntries().add(linkedEntry);
412+
}
411413
}
412414

413415
entry = entryDAO.create(entry);
@@ -416,13 +418,13 @@ public boolean createEntries(String userId, long draftId, List<PartData> data, H
416418
dao.update(draft);
417419

418420
// save files
419-
saveFiles(userId, datum, entry, files);
421+
saveFiles(datum, entry, files);
420422
}
421423

422424
return true;
423425
}
424426

425-
protected void saveFiles(String userId, PartData data, Entry entry, HashMap<String, InputStream> files) {
427+
protected void saveFiles(PartData data, Entry entry, HashMap<String, InputStream> files) {
426428
// check sequence
427429
try {
428430
String sequenceName = data.getSequenceFileName();

src/main/java/org/jbei/ice/lib/bulkupload/BulkUploadController.java

+9
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,15 @@ public BulkUploadController() {
6161
sequenceController = new SequenceController();
6262
}
6363

64+
/**
65+
* Creates a new bulk upload. If upload type is not bulk edit, then the status is set to in progress.
66+
* Default permissions consisting of read permissions for the public groups that the requesting user is
67+
* a part of are added
68+
*
69+
* @param userId identifier for user making request
70+
* @param info bulk upload data
71+
* @return created upload
72+
*/
6473
public BulkUploadInfo create(String userId, BulkUploadInfo info) {
6574
Account account = accountController.getByEmail(userId);
6675
BulkUpload upload = new BulkUpload();

0 commit comments

Comments
 (0)