I need to access Greenhopper Taskboard's column limits of particular columns for a plugin I am developing.
I looked into the database and I have found where Greenhopper stores the limits, the column-steps mapping, project-column mappings but I cannot find how the column limits are associated with the column names.
Can any one please tell me how to get this data??
Regards,
Monish
I solved my problem in the following way, if there is a better way please let me know.
private static String columnValuesTableName = "OSPropertyDecimal"; private static String columnNamesTableName = "OSPropertyEntry"; private static String columnMappingTableName = "OSPropertyText"; private static String COLUMN_MAX= "CAPACITY"; private static String id ="id"; private static String entityId = "entityId"; private static String propertyKey = "propertyKey"; private static String entityName = "entityName"; private static String value = "value"; private static String greenHopper = "GreenHopper"; private static String configuration = "CONFIGURATION"; private static String prioritisedColumnName="TaskBoard_type_0"; private static String scopedColumnName="TaskBoard_type_1"; //table names public static String PRIORITISED = "Prioritised"; public static String SCOPED = "Scoped"; private static int getConstraintFromDB(long projectId, String tableColumnName, String constraintType){ Long tableId = null; Double limitdb = null; //getting the project <-> column mappings List<GenericValue> columnNameList = delegator.findByAnd(columnNamesTableName,EasyMap.build(entityId,projectId)); //from all the mappings we need to get the required //checking column <-> column constraints' id mappings for(GenericValue columnName: columnNameList){ if(columnName.containsKey(propertyKey) && columnName.containsKey(entityName)){ //checking for the correct constraint as there is a max and min for each column if(columnName.get(propertyKey).toString().compareTo(tableColumnName)==0 && columnName.get(entityName).toString().compareTo(constraintType)==0){ //reading the constraints' table id tableId = Double.valueOf(columnName.get(id).toString()).longValue(); //safety check if(tableId!=null){ //making a db query for column limit List<GenericValue> dataList = delegator.findByAnd(columnValuesTableName,EasyMap.build(id,tableId)); if(dataList.size()>0){ limitdb = dataList.get(0).getDouble(value); } } //we got what we needed so no need to check break; } } } //safety check if(tableId == null || limitdb==null){ return defaultLimit; } return limitdb.intValue(); }
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.