Project

General

Profile

« Previous | Next » 

Revision 56916

Now releasing connections instead of closing them

View differences:

modules/uoa-validator-commons/trunk/src/main/java/eu/dnetlib/validator/commons/dao/AbstractDAO.java
91 91
		}
92 92
	}
93 93

  
94
	protected void closeConnection(Connection con) throws DaoException {
94
	protected void closeConnection(Connection con) {
95 95
		if(con!= null) {
96
			try {
97
				con.close();
98
			} catch (SQLException e) {
99
				logger.error("Failed to close connection with Database", e);
100
				throw new DaoException(e);
101
			}
96
			DataSourceUtils.releaseConnection(con, datasource);
102 97
		}
103 98
	}
104 99

  
modules/uoa-validator-commons/trunk/src/main/java/eu/dnetlib/validator/commons/dao/rules/RulesetsDAOimpl.java
219 219
		Connection con = null;
220 220
		PreparedStatement stmt = null;
221 221
		List<RuleSet> retList = new ArrayList<RuleSet>();
222
		RuleSet retSet = null;
223 222
		logger.debug("Accessing DB to get all RuleSets");
223

  
224 224
		try {
225 225
			con = getConnection();
226 226
			String query="SELECT name, description, guidelines_acronym, visibility, id, short_name FROM rulesets ORDER BY id";
227 227
			stmt = con.prepareStatement(query);
228 228
			rs = stmt.executeQuery();
229
			if (rs!=null){
230
				
231
				while (rs.next()) {
232
					retSet = new RuleSet();
233
					retSet.setName(rs.getString(1));
234
					retSet.setDescription(rs.getString(2));
235
					retSet.setGuidelinesAcronym(rs.getString(3));
236
					List<String> visibility = new ArrayList<String>();
237
					Array tt = rs.getArray("visibility");
238
					if (tt != null) {
239
						String[] ent = (String[])tt.getArray();
240
						visibility.addAll(Arrays.asList(ent));
229

  
230
			while (rs.next()) {
231
				RuleSet retSet = new RuleSet();
232

  
233
				retSet.setName(rs.getString(1));
234
				retSet.setDescription(rs.getString(2));
235
				retSet.setGuidelinesAcronym(rs.getString(3));
236
				List<String> visibility = new ArrayList<String>();
237
				Array tt = rs.getArray("visibility");
238
				if (tt != null) {
239
					String[] ent = (String[])tt.getArray();
240
					visibility.addAll(Arrays.asList(ent));
241
				}
242
				retSet.setVisibility(visibility);
243
				retSet.setId(rs.getInt(5));
244
				retSet.setShortName(rs.getString(6));
245
				List <Rule> rules = this.getRulesOfRuleset(retSet.getId());
246
				List <Rule> contentRules = new ArrayList<Rule>();
247
				List <Rule> usageRules = new ArrayList<Rule>();
248
				Set <Integer> contentRulesIds = new HashSet<Integer>();
249
				Set <Integer> usageRulesIds = new HashSet<Integer>();
250
				for (Rule rule : rules) {
251
					if (rule.getJob_type().equals("content")) {
252
						contentRules.add(rule);
253
						contentRulesIds.add(rule.getId());
254
					} else if (rule.getJob_type().equals("usage")) {
255
						usageRules.add(rule);
256
						usageRulesIds.add(rule.getId());
241 257
					}
242
					retSet.setVisibility(visibility);
243
					retSet.setId(rs.getInt(5));
244
					retSet.setShortName(rs.getString(6));
245
					List <Rule> rules = this.getRulesOfRuleset(retSet.getId());
246
					List <Rule> contentRules = new ArrayList<Rule>();
247
					List <Rule> usageRules = new ArrayList<Rule>();
248
					Set <Integer> contentRulesIds = new HashSet<Integer>();
249
					Set <Integer> usageRulesIds = new HashSet<Integer>();
250
					for (Rule rule : rules) {
251
						if (rule.getJob_type().equals("content")) {
252
							contentRules.add(rule);
253
							contentRulesIds.add(rule.getId());
254
						} else if (rule.getJob_type().equals("usage")) {
255
							usageRules.add(rule);
256
							usageRulesIds.add(rule.getId());
257
						}
258
					}
259
					retSet.setContentRules(contentRules);
260
					retSet.setUsageRules(usageRules);
261
					retSet.setContentRulesIds(contentRulesIds);
262
					retSet.setUsageRulesIds(usageRulesIds);
263
					retList.add(retSet);
264
				}				
258
				}
259
				retSet.setContentRules(contentRules);
260
				retSet.setUsageRules(usageRules);
261
				retSet.setContentRulesIds(contentRulesIds);
262
				retSet.setUsageRulesIds(usageRulesIds);
263
				retList.add(retSet);
265 264
			}
266

  
267 265
		} catch (Exception e) {
268 266
			logger.error("Accessing DB to get all RuleSets.", e);
269 267
		} finally {

Also available in: Unified diff