Java tutorial
/** * Genji Scrum Tool and Issue Tracker * Copyright (C) 2015 Steinbeis GmbH & Co. KG Task Management Solutions * <a href="http://www.trackplus.com">Genji Scrum Tool</a> * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* $Id:$ */ package com.aurel.track.persist; import java.util.Iterator; import java.util.LinkedList; import java.util.List; import org.apache.commons.lang3.exception.ExceptionUtils; import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.LogManager; import org.apache.torque.TorqueException; import org.apache.torque.util.Criteria; import com.aurel.track.beans.TSeverityBean; import com.aurel.track.dao.SeverityDAO; import com.aurel.track.fieldType.constants.SystemFields; import com.workingdogs.village.Record; /** * The skeleton for this class was autogenerated by Torque on: * * [Fri Jun 14 10:06:48 GMT+02:00 2002] * * You should add additional methods to this class to meet the * application requirements. This class will only be generated as * long as it does not already exist in the output directory. */ public class TSeverityPeer extends com.aurel.track.persist.BaseTSeverityPeer implements SeverityDAO { /** * */ private static final long serialVersionUID = 5077522687108848127L; private static final Logger LOGGER = LogManager.getLogger(TSeverityPeer.class); private static Class[] replacePeerClasses = { TWorkItemPeer.class, }; private static String[] replaceFields = { TWorkItemPeer.SEVERITYKEY, }; private static Class[] deletePeerClasses = { TPseverityPeer.class, TSeverityPeer.class }; private static String[] deleteFields = { TPseverityPeer.SEVERITY, TSeverityPeer.PKEY }; /** * Loads a severityBean by primary key * @param objectID * @return */ @Override public TSeverityBean loadByPrimaryKey(Integer objectID) { TSeverity tSeverity = null; try { tSeverity = retrieveByPK(objectID); } catch (Exception e) { LOGGER.info("Loading the severity by primary key " + objectID + " failed with " + e.getMessage()); LOGGER.debug(ExceptionUtils.getStackTrace(e)); } if (tSeverity != null) { return tSeverity.getBean(); } return null; } /** * Gets an severityBean by label * @param label * @return */ @Override public List<TSeverityBean> loadByLabel(String label) { Criteria crit = new Criteria(); crit.add(LABEL, label); try { return convertTorqueListToBeanList(doSelect(crit)); } catch (Exception e) { LOGGER.error("Loading the severity by label " + label + " failed with " + e.getMessage()); return null; } } /** * Loads all priorityBeans * @return */ @Override public List<TSeverityBean> loadAll() { Criteria crit = new Criteria(); crit.addAscendingOrderByColumn(SORTORDER); try { return convertTorqueListToBeanList(doSelect(crit)); } catch (Exception e) { LOGGER.error("Loading all severities failed with " + e.getMessage()); return null; } } /** * Loads the severities by IDs * @param severityIDs */ @Override public List<TSeverityBean> loadBySeverityIDs(List<Integer> severityIDs) { if (severityIDs == null || severityIDs.isEmpty()) { LOGGER.warn("No severityIDs specified " + severityIDs); return new LinkedList<TSeverityBean>(); } Criteria crit = new Criteria(); crit.addAscendingOrderByColumn(SORTORDER); crit.addIn(PKEY, severityIDs); try { return convertTorqueListToBeanList(doSelect(crit)); } catch (Exception e) { LOGGER.error("Loading of severities by IDs failed with " + e.getMessage()); return null; } } /** * Gets the next available sortorder * @return */ @Override public Integer getNextSortOrder() { Integer sortOrder = null; String max = "max(" + SORTORDER + ")"; Criteria crit = new Criteria(); crit.addSelectColumn(max); try { sortOrder = ((Record) doSelectVillageRecords(crit).get(0)).getValue(1).asIntegerObj(); } catch (Exception e) { LOGGER.error("Getting the next sortorder for severity failed with: " + e); } if (sortOrder == null) { return Integer.valueOf(1); } else { return Integer.valueOf(sortOrder.intValue() + 1); } } /** * Saves a severityBean in the TSeverity table * @param severityBean * @return */ @Override public Integer save(TSeverityBean severityBean) { TSeverity tSeverity; try { tSeverity = BaseTSeverity.createTSeverity(severityBean); tSeverity.save(); return tSeverity.getObjectID(); } catch (Exception e) { LOGGER.error("Saving of a severity failed with " + e.getMessage()); return null; } } @Override public boolean hasDependentData(Integer pkey) { return ReflectionHelper.hasDependentData(replacePeerClasses, replaceFields, pkey); } /** * This method replaces all occurrences of state value oldOID with * state value newOID. * @param oldOID * @param newOID */ @Override public void replace(Integer oldOID, Integer newOID) { ReflectionHelper.replace(replacePeerClasses, replaceFields, oldOID, newOID); } /** * Deletes a state from the TState table * @param objectID */ @Override public void delete(Integer objectID) { new TCardFieldOptionPeer().deleteOptionForField(SystemFields.INTEGER_SEVERITY, objectID); ReflectionHelper.delete(deletePeerClasses, deleteFields, objectID); } @Override public List<TSeverityBean> loadByProjectAndIssueType(Integer project, Integer listType) { Criteria crit = new Criteria(); crit.addJoin(TPseverityPeer.SEVERITY, PKEY); crit.addJoin(TPseverityPeer.PROJECTTYPE, TProjectPeer.PROJECTTYPE); crit.add(TProjectPeer.PKEY, project); crit.add(TPseverityPeer.LISTTYPE, listType); crit.addAscendingOrderByColumn(SORTORDER); try { return convertTorqueListToBeanList(doSelect(crit)); } catch (TorqueException e) { LOGGER.error("Getting the assigned severities for project and list type failed with " + e.getMessage()); return null; } } /** * Returns the sort order column name * @return */ @Override public String getSortOrderColumn() { return "SORTORDER"; } /** * Returns the table name * @return */ @Override public String getTableName() { return TABLE_NAME; } private List<TSeverityBean> convertTorqueListToBeanList(List<TSeverity> torqueList) { List<TSeverityBean> beanList = new LinkedList<TSeverityBean>(); if (torqueList != null) { Iterator<TSeverity> itrTorqueList = torqueList.iterator(); while (itrTorqueList.hasNext()) { beanList.add(itrTorqueList.next().getBean()); } } return beanList; } }