Project

General

Profile

1
package eu.dnetlib.validator.admin.actions;
2

    
3
import java.io.PrintWriter;
4
import java.io.StringWriter;
5
import java.io.Writer;
6
import java.util.ArrayList;
7
import java.util.List;
8

    
9
import org.apache.log4j.Logger;
10

    
11
import com.opensymphony.xwork2.ActionSupport;
12

    
13
import eu.dnetlib.validator.admin.api.AdminAPI;
14
import eu.dnetlib.validator.admin.api.RepoApi;
15
import eu.dnetlib.validator.admin.api.UserApi;
16
import eu.dnetlib.validator.admin.configs.Constants;
17
import eu.dnetlib.validator.commons.email.Emailer;
18

    
19
public class BaseValidatorAction extends ActionSupport {
20

    
21
	/**
22
	 * 
23
	 */
24
	private static final long serialVersionUID = -622158192564945303L;
25
	private UserApi userAPI = null;
26
	private RepoApi repoAPI = null;
27
	private AdminAPI adminAPI = null;
28
	private Emailer emailer = null;
29

    
30
	public static String loggedInField = "LOGGED_IN_FIELD";
31
	
32
	private String valBaseUrl = null;
33
	private String valAdminEmail = null;
34
	private String userMode = null;
35
	private String repoMode = null;
36
	private String deployEnvironment = null;
37

    
38
	public void reportException(Exception exception) {
39
		Writer writer = new StringWriter();
40
		PrintWriter printWriter = new PrintWriter(writer);
41
		exception.printStackTrace(printWriter);
42
		
43
		List<String> recipients = new ArrayList<String>();
44
		
45
		try {
46
			recipients.add(this.getValAdminEmail());
47
			String message = "An exception has occurred:\n"+writer.toString();
48
			String subject = "Automatic Bug Report";
49
			this.getEmailer().sendMail(recipients, subject, message, false, null);
50
		} catch (Exception e) {
51
			Logger logger = Logger.getLogger(BaseValidatorAction.class);
52
			logger.error("error sending error report", e);
53
		}
54
	}
55
	
56
	public boolean isModeLdap() {
57
		return userMode.trim().toLowerCase().equals(Constants.MODE_LDAP);
58
	}
59

    
60
	public boolean isModeOpenAIRE() {
61
		return repoMode.trim().toLowerCase().equals(Constants.MODE_DNET);
62
	}
63

    
64
	public UserApi getUserAPI() {
65
		return userAPI;
66
	}
67

    
68
	public void setUserAPI(UserApi userAPI) {
69
		this.userAPI = userAPI;
70
	}
71

    
72
	public RepoApi getRepoAPI() {
73
		return repoAPI;
74
	}
75

    
76
	public void setRepoAPI(RepoApi repoAPI) {
77
		this.repoAPI = repoAPI;
78
	}
79

    
80

    
81
	public AdminAPI getAdminAPI() {
82
		return adminAPI;
83
	}
84

    
85
	public void setAdminAPI(AdminAPI adminAPI) {
86
		this.adminAPI = adminAPI;
87
	}
88

    
89
	public Emailer getEmailer() {
90
		return emailer;
91
	}
92

    
93
	public void setEmailer(Emailer emailer) {
94
		this.emailer = emailer;
95
	}
96

    
97
	public String getUserMode() {
98
		return userMode;
99
	}
100

    
101
	public void setUserMode(String userMode) {
102
		this.userMode = userMode;
103
	}
104

    
105
	public String getRepoMode() {
106
		return repoMode;
107
	}
108

    
109
	public void setRepoMode(String repoMode) {
110
		this.repoMode = repoMode;
111
	}
112

    
113
	public void setValBaseUrl(String valBaseUrl) {
114
		this.valBaseUrl = valBaseUrl;
115
	}
116

    
117
	public String getValBaseUrl() {
118
		return valBaseUrl;
119
	}
120

    
121
	public void setValAdminEmail(String valAdminEmail) {
122
		this.valAdminEmail = valAdminEmail;
123
	}
124

    
125
	public String getValAdminEmail() {
126
		return valAdminEmail;
127
	}
128

    
129
	public String getDeployEnvironment() {
130
		return deployEnvironment;
131
	}
132

    
133
	public void setDeployEnvironment(String deployEnvironment) {
134
		this.deployEnvironment = deployEnvironment;
135
	}
136

    
137
}
(1-1/2)