• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

IQSS / dataverse / #23237

23 Sep 2024 03:40PM CUT coverage: 20.657%. First build
#23237

Pull #10781

github

pdurbin
Merge branch 'develop' into 10623-globus-improvements #10623
Pull Request #10781: Improved handling of Globus uploads

4 of 417 new or added lines in 15 files covered. (0.96%)

17604 of 85219 relevant lines covered (20.66%)

0.21 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

33.33
/src/main/java/edu/harvard/iq/dataverse/util/MailUtil.java
1
package edu.harvard.iq.dataverse.util;
2

3
import edu.harvard.iq.dataverse.DataFile;
4
import edu.harvard.iq.dataverse.Dataset;
5
import edu.harvard.iq.dataverse.DatasetVersion;
6
import edu.harvard.iq.dataverse.UserNotification;
7
import edu.harvard.iq.dataverse.branding.BrandingUtil;
8
import java.util.Arrays;
9
import java.util.List;
10
import java.util.logging.Logger;
11

12
public class MailUtil {
×
13

14
    private static final Logger logger = Logger.getLogger(MailUtil.class.getCanonicalName());
1✔
15

16
    public static String getSubjectTextBasedOnNotification(UserNotification userNotification, Object objectOfNotification) {
17
        List<String> rootDvNameAsList = Arrays.asList(BrandingUtil.getInstallationBrandName());
1✔
18
        String datasetDisplayName = "";
1✔
19

20
        if (objectOfNotification != null) {
1✔
21
            if (objectOfNotification instanceof Dataset) {
×
22
                datasetDisplayName = ((Dataset) objectOfNotification).getDisplayName();
×
23
            } else if (objectOfNotification instanceof DatasetVersion) {
×
24
                datasetDisplayName = ((DatasetVersion) objectOfNotification).getDataset().getDisplayName();
×
25
            } else if (objectOfNotification instanceof DataFile) {
×
26
                datasetDisplayName = ((DataFile) objectOfNotification).getOwner().getDisplayName();
×
27
            }
28
        }
29

30
        switch (userNotification.getType()) {
1✔
31
            case ASSIGNROLE:
32
                return BundleUtil.getStringFromBundle("notification.email.assign.role.subject", rootDvNameAsList);
1✔
33
            case REVOKEROLE:
34
                return BundleUtil.getStringFromBundle("notification.email.revoke.role.subject", rootDvNameAsList);
1✔
35
            case CREATEDV:
36
                return BundleUtil.getStringFromBundle("notification.email.create.dataverse.subject", rootDvNameAsList);
1✔
37
            case REQUESTFILEACCESS:
38
                String userNameFirst = userNotification.getRequestor().getFirstName();
1✔
39
                String userNameLast = userNotification.getRequestor().getLastName();
1✔
40
                String userIdentifier = userNotification.getRequestor().getIdentifier();
1✔
41
                return BundleUtil.getStringFromBundle("notification.email.request.file.access.subject", Arrays.asList(rootDvNameAsList.get(0), userNameFirst, userNameLast, userIdentifier, datasetDisplayName));
1✔
42
            case REQUESTEDFILEACCESS:
43
                return BundleUtil.getStringFromBundle("notification.email.requested.file.access.subject", Arrays.asList(rootDvNameAsList.get(0), datasetDisplayName));
×
44
            case GRANTFILEACCESS:
45
                return BundleUtil.getStringFromBundle("notification.email.grant.file.access.subject", rootDvNameAsList);
1✔
46
            case REJECTFILEACCESS:
47
                return BundleUtil.getStringFromBundle("notification.email.rejected.file.access.subject", rootDvNameAsList);
1✔
48
            case DATASETCREATED:
49
                return BundleUtil.getStringFromBundle("notification.email.dataset.created.subject", Arrays.asList(rootDvNameAsList.get(0), datasetDisplayName));
×
50
            case CREATEDS:
51
                return BundleUtil.getStringFromBundle("notification.email.create.dataset.subject", Arrays.asList(rootDvNameAsList.get(0), datasetDisplayName));
1✔
52
            case SUBMITTEDDS:
53
                return BundleUtil.getStringFromBundle("notification.email.submit.dataset.subject", Arrays.asList(rootDvNameAsList.get(0), datasetDisplayName));
1✔
54
            case PUBLISHEDDS:
55
                return BundleUtil.getStringFromBundle("notification.email.publish.dataset.subject", Arrays.asList(rootDvNameAsList.get(0), datasetDisplayName));
1✔
56
            case PUBLISHFAILED_PIDREG:
57
                return BundleUtil.getStringFromBundle("notification.email.publishFailure.dataset.subject", Arrays.asList(rootDvNameAsList.get(0), datasetDisplayName));
×
58
            case RETURNEDDS:
59
                return BundleUtil.getStringFromBundle("notification.email.returned.dataset.subject", Arrays.asList(rootDvNameAsList.get(0), datasetDisplayName));
1✔
60
            case WORKFLOW_SUCCESS:
61
                return BundleUtil.getStringFromBundle("notification.email.workflow.success.subject", Arrays.asList(rootDvNameAsList.get(0), datasetDisplayName));
×
62
            case WORKFLOW_FAILURE:
63
                return BundleUtil.getStringFromBundle("notification.email.workflow.failure.subject", Arrays.asList(rootDvNameAsList.get(0), datasetDisplayName));
×
64
            case STATUSUPDATED:
65
                return BundleUtil.getStringFromBundle("notification.email.status.change.subject", Arrays.asList(rootDvNameAsList.get(0), datasetDisplayName));
×
66
            case CREATEACC:
67
                return BundleUtil.getStringFromBundle("notification.email.create.account.subject", rootDvNameAsList);
1✔
68
            case CHECKSUMFAIL:
69
                return BundleUtil.getStringFromBundle("notification.email.checksumfail.subject", rootDvNameAsList);
1✔
70
            case FILESYSTEMIMPORT:
71
                try {
72
                    DatasetVersion version =  (DatasetVersion)objectOfNotification;
1✔
73
                    List<String> dsNameAsList = Arrays.asList(version.getDataset().getDisplayName());
×
74
                    return BundleUtil.getStringFromBundle("notification.email.import.filesystem.subject", dsNameAsList);
×
75
                } catch (Exception e) {
1✔
76
                    return BundleUtil.getStringFromBundle("notification.email.import.filesystem.subject", rootDvNameAsList);
1✔
77
                }
78
            case GLOBUSUPLOADCOMPLETED:
79
                try {
80
                    DatasetVersion version =  (DatasetVersion)objectOfNotification;
×
81
                    List<String> dsNameAsList = Arrays.asList(version.getDataset().getDisplayName());
×
82
                    return BundleUtil.getStringFromBundle("notification.email.globus.uploadCompleted.subject", dsNameAsList);
×
83
                } catch (Exception e) {
×
84
                    return BundleUtil.getStringFromBundle("notification.email.globus.uploadCompleted.subject", rootDvNameAsList);
×
85
                }
86
            case GLOBUSDOWNLOADCOMPLETED:
87
                try {
88
                    DatasetVersion version =  (DatasetVersion)objectOfNotification;
×
89
                    List<String> dsNameAsList = Arrays.asList(version.getDataset().getDisplayName());
×
90
                    return BundleUtil.getStringFromBundle("notification.email.globus.downloadCompleted.subject", dsNameAsList);
×
91
                } catch (Exception e) {
×
92
                    return BundleUtil.getStringFromBundle("notification.email.globus.downloadCompleted.subject", rootDvNameAsList);
×
93
                }
94
            case GLOBUSUPLOADCOMPLETEDWITHERRORS:
95
                try {
96
                    DatasetVersion version =  (DatasetVersion)objectOfNotification;
×
97
                    List<String> dsNameAsList = Arrays.asList(version.getDataset().getDisplayName());
×
98
                    return BundleUtil.getStringFromBundle("notification.email.globus.uploadCompletedWithErrors.subject", dsNameAsList);
×
99
                } catch (Exception e) {
×
100
                    return BundleUtil.getStringFromBundle("notification.email.globus.uploadCompletedWithErrors.subject", rootDvNameAsList);
×
101
                }
102
            case GLOBUSUPLOADREMOTEFAILURE:
103
                try {
NEW
104
                    DatasetVersion version =  (DatasetVersion)objectOfNotification;
×
NEW
105
                    List<String> dsNameAsList = Arrays.asList(version.getDataset().getDisplayName());
×
NEW
106
                    return BundleUtil.getStringFromBundle("notification.email.globus.uploadFailedRemotely.subject", dsNameAsList);
×
107
                    
NEW
108
                } catch (Exception e) {
×
NEW
109
                    return BundleUtil.getStringFromBundle("notification.email.globus.uploadFailedRemotely.subject", rootDvNameAsList);
×
110
                }
111
            case GLOBUSUPLOADLOCALFAILURE:
112
                try {
NEW
113
                    DatasetVersion version =  (DatasetVersion)objectOfNotification;
×
NEW
114
                    List<String> dsNameAsList = Arrays.asList(version.getDataset().getDisplayName());
×
NEW
115
                    return BundleUtil.getStringFromBundle("notification.email.globus.uploadFailedLocally.subject", dsNameAsList);
×
NEW
116
                } catch (Exception e) {
×
NEW
117
                    return BundleUtil.getStringFromBundle("notification.email.globus.uploadFailedLocally.subject", rootDvNameAsList);
×
118
                }
119
            case GLOBUSDOWNLOADCOMPLETEDWITHERRORS:
120
                try {
121
                    DatasetVersion version =  (DatasetVersion)objectOfNotification;
×
122
                    List<String> dsNameAsList = Arrays.asList(version.getDataset().getDisplayName());
×
123
                    return BundleUtil.getStringFromBundle("notification.email.globus.downloadCompletedWithErrors.subject", dsNameAsList);
×
124
                } catch (Exception e) {
×
125
                    return BundleUtil.getStringFromBundle("notification.email.globus.downloadCompletedWithErrors.subject", rootDvNameAsList);
×
126
                }
127

128
            case CHECKSUMIMPORT:
129
                return BundleUtil.getStringFromBundle("notification.email.import.checksum.subject", rootDvNameAsList);
1✔
130
            case CONFIRMEMAIL:
131
                return BundleUtil.getStringFromBundle("notification.email.verifyEmail.subject", rootDvNameAsList);
1✔
132
            case APIGENERATED:
133
                return BundleUtil.getStringFromBundle("notification.email.apiTokenGenerated.subject",  rootDvNameAsList);
×
134
            case INGESTCOMPLETED:
135
                return BundleUtil.getStringFromBundle("notification.email.ingestCompleted.subject", Arrays.asList(rootDvNameAsList.get(0), datasetDisplayName));
×
136
            case INGESTCOMPLETEDWITHERRORS:
137
                return BundleUtil.getStringFromBundle("notification.email.ingestCompletedWithErrors.subject", Arrays.asList(rootDvNameAsList.get(0), datasetDisplayName));
×
138
            case DATASETMENTIONED:
139
                return BundleUtil.getStringFromBundle("notification.email.datasetWasMentioned.subject", rootDvNameAsList);
×
140
        }
141
        return "";
×
142
    }
143

144
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc