| 
									
										
										
										
											2015-11-19 14:39:21 -08:00
										 |  |  | /**
 | 
					
						
							|  |  |  |  * Copyright 2015 LinkedIn Corp. All rights reserved.
 | 
					
						
							|  |  |  |  *
 | 
					
						
							|  |  |  |  * Licensed under the Apache License, Version 2.0 (the "License");
 | 
					
						
							|  |  |  |  * you may not use this file except in compliance with the License.
 | 
					
						
							|  |  |  |  * You may obtain a copy of the License at
 | 
					
						
							|  |  |  |  *
 | 
					
						
							|  |  |  |  * http://www.apache.org/licenses/LICENSE-2.0
 | 
					
						
							|  |  |  |  *
 | 
					
						
							|  |  |  |  * Unless required by applicable law or agreed to in writing, software
 | 
					
						
							|  |  |  |  * distributed under the License is distributed on an "AS IS" BASIS,
 | 
					
						
							|  |  |  |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
					
						
							|  |  |  |  */
 | 
					
						
							|  |  |  | package dao;
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | import models.Metric;
 | 
					
						
							| 
									
										
										
										
											2016-03-21 17:35:54 -07:00
										 |  |  | import org.apache.commons.lang3.StringUtils;
 | 
					
						
							| 
									
										
										
										
											2015-11-19 14:39:21 -08:00
										 |  |  | import org.springframework.jdbc.core.RowMapper;
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | import java.sql.ResultSet;
 | 
					
						
							|  |  |  | import java.sql.SQLException;
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | public class MetricRowMapper implements RowMapper<Metric>
 | 
					
						
							|  |  |  | {
 | 
					
						
							|  |  |  |     public static String METRIC_ID_COLUMN = "metric_id";
 | 
					
						
							|  |  |  |     public static String METRIC_NAME_COLUMN = "metric_name";
 | 
					
						
							|  |  |  |     public static String METRIC_DESCRIPTION_COLUMN = "metric_description";
 | 
					
						
							|  |  |  |     public static String METRIC_DASHBOARD_NAME_COLUMN = "dashboard_name";
 | 
					
						
							|  |  |  |     public static String METRIC_GROUP_COLUMN = "metric_group";
 | 
					
						
							| 
									
										
										
										
											2016-03-21 17:35:54 -07:00
										 |  |  |     public static String METRIC_CATEGORY_COLUMN = "metric_category";
 | 
					
						
							|  |  |  |     public static String METRIC_SUB_CATEGORY_COLUMN = "metric_sub_category";
 | 
					
						
							|  |  |  |     public static String METRIC_LEVEL_COLUMN = "metric_level";
 | 
					
						
							| 
									
										
										
										
											2015-11-19 14:39:21 -08:00
										 |  |  |     public static String METRIC_SOURCE_TYPE_COLUMN = "metric_source_type";
 | 
					
						
							| 
									
										
										
										
											2016-03-21 17:35:54 -07:00
										 |  |  |     public static String METRIC_SOURCE_COLUMN = "metric_source";
 | 
					
						
							|  |  |  |     public static String METRIC_SOURCE_DATASET_ID_COLUMN = "metric_source_dataset_id";
 | 
					
						
							|  |  |  |     public static String METRIC_REF_ID_TYPE_COLUMN = "metric_ref_id_type";
 | 
					
						
							|  |  |  |     public static String METRIC_REF_ID_COLUMN = "metric_ref_id";
 | 
					
						
							|  |  |  |     public static String METRIC_TYPE_COLUMN = "metric_type";
 | 
					
						
							| 
									
										
										
										
											2015-11-19 14:39:21 -08:00
										 |  |  |     public static String METRIC_GRAIN_COLUMN = "metric_grain";
 | 
					
						
							|  |  |  |     public static String METRIC_DISPLAY_FACTOR_COLUMN = "metric_display_factor";
 | 
					
						
							|  |  |  |     public static String METRIC_DISPLAY_FACTOR_SYM_COLUMN = "metric_display_factor_sym";
 | 
					
						
							| 
									
										
										
										
											2016-03-21 17:35:54 -07:00
										 |  |  |     public static String METRIC_GOOD_DIRECTION_COLUMN = "metric_good_direction";
 | 
					
						
							|  |  |  |     public static String METRIC_FORMULA_COLUMN = "metric_formula";
 | 
					
						
							|  |  |  |     public static String METRIC_DIMENSIONS_COLUMN = "dimensions";
 | 
					
						
							|  |  |  |     public static String METRIC_OWNERS_COLUMN = "owners";
 | 
					
						
							|  |  |  |     public static String METRIC_TAGS_COLUMN = "tags";
 | 
					
						
							|  |  |  |     public static String METRIC_URN_COLUMN = "urn";
 | 
					
						
							|  |  |  |     public static String METRIC_URL_COLUMN = "metric_url";
 | 
					
						
							|  |  |  |     public static String METRIC_WIKI_URL_COLUMN = "wiki_url";
 | 
					
						
							|  |  |  |     public static String METRIC_SCM_URL_COLUMN = "scm_url";
 | 
					
						
							| 
									
										
										
										
											2015-11-19 14:39:21 -08:00
										 |  |  |     public static String METRIC_WATCH_ID_COLUMN = "watch_id";
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     public static String METRIC_MODULE_ID = "id";
 | 
					
						
							|  |  |  |     public static String METRIC_MODULE_NAME = "name";
 | 
					
						
							|  |  |  |     public static String METRIC_MODULE_DESCRIPTION = "description";
 | 
					
						
							|  |  |  |     public static String METRIC_MODULE_REF_ID = "refID";
 | 
					
						
							|  |  |  |     public static String METRIC_MODULE_REF_ID_TYPE = "refIDType";
 | 
					
						
							|  |  |  |     public static String METRIC_MODULE_DASHBOARD_NAME = "dashboardName";
 | 
					
						
							|  |  |  |     public static String METRIC_MODULE_CATEGORY = "category";
 | 
					
						
							|  |  |  |     public static String METRIC_MODULE_GROUP = "group";
 | 
					
						
							|  |  |  |     public static String METRIC_MODULE_SOURCE = "source";
 | 
					
						
							|  |  |  |     public static String METRIC_MODULE_SOURCE_TYPE = "sourceType";
 | 
					
						
							|  |  |  |     public static String METRIC_MODULE_GRAIN = "grain";
 | 
					
						
							|  |  |  |     public static String METRIC_MODULE_FORMULA = "formula";
 | 
					
						
							|  |  |  |     public static String METRIC_MODULE_DISPLAY_FACTOR = "displayFactor";
 | 
					
						
							|  |  |  |     public static String METRIC_MODULE_DISPLAY_FACTOR_SYM = "displayFactorSym";
 | 
					
						
							| 
									
										
										
										
											2016-02-29 00:13:40 -08:00
										 |  |  |     public static String METRIC_MODULE_SUB_CATEGORY = "subCategory";
 | 
					
						
							| 
									
										
										
										
											2015-11-19 14:39:21 -08:00
										 |  |  | 
 | 
					
						
							|  |  |  |     @Override
 | 
					
						
							|  |  |  |     public Metric mapRow(ResultSet rs, int rowNum) throws SQLException
 | 
					
						
							|  |  |  |     {
 | 
					
						
							|  |  |  |         int id = rs.getInt(METRIC_ID_COLUMN);
 | 
					
						
							|  |  |  |         String name = rs.getString(METRIC_NAME_COLUMN);
 | 
					
						
							|  |  |  |         String description = rs.getString(METRIC_DESCRIPTION_COLUMN);
 | 
					
						
							|  |  |  |         String dashboardName = rs.getString(METRIC_DASHBOARD_NAME_COLUMN);
 | 
					
						
							|  |  |  |         String group = rs.getString(METRIC_GROUP_COLUMN);
 | 
					
						
							| 
									
										
										
										
											2016-03-21 17:35:54 -07:00
										 |  |  |         String category = rs.getString(METRIC_CATEGORY_COLUMN);
 | 
					
						
							|  |  |  |         String subCategory = rs.getString(METRIC_SUB_CATEGORY_COLUMN);
 | 
					
						
							|  |  |  |         String level = rs.getString(METRIC_LEVEL_COLUMN);
 | 
					
						
							| 
									
										
										
										
											2015-11-19 14:39:21 -08:00
										 |  |  |         String sourceType = rs.getString(METRIC_SOURCE_TYPE_COLUMN);
 | 
					
						
							| 
									
										
										
										
											2016-03-21 17:35:54 -07:00
										 |  |  |         String source = rs.getString(METRIC_SOURCE_COLUMN);
 | 
					
						
							|  |  |  |         Long sourceDatasetId = rs.getLong(METRIC_SOURCE_DATASET_ID_COLUMN);
 | 
					
						
							|  |  |  |         String refIdType = rs.getString(METRIC_REF_ID_TYPE_COLUMN);
 | 
					
						
							|  |  |  |         String refId = rs.getString(METRIC_REF_ID_COLUMN);
 | 
					
						
							|  |  |  |         String type = rs.getString(METRIC_TYPE_COLUMN);
 | 
					
						
							| 
									
										
										
										
											2015-11-19 14:39:21 -08:00
										 |  |  |         String grain = rs.getString(METRIC_GRAIN_COLUMN);
 | 
					
						
							|  |  |  |         String displayFactor = rs.getString(METRIC_DISPLAY_FACTOR_COLUMN);
 | 
					
						
							|  |  |  |         String displayFactorSym = rs.getString(METRIC_DISPLAY_FACTOR_SYM_COLUMN);
 | 
					
						
							| 
									
										
										
										
											2016-03-21 17:35:54 -07:00
										 |  |  |         String goodDirection = rs.getString(METRIC_GOOD_DIRECTION_COLUMN);
 | 
					
						
							|  |  |  |         String formula = rs.getString(METRIC_FORMULA_COLUMN);
 | 
					
						
							|  |  |  |         String dimensions = rs.getString(METRIC_DIMENSIONS_COLUMN);
 | 
					
						
							|  |  |  |         if (StringUtils.isNotBlank(dimensions))
 | 
					
						
							|  |  |  |         {
 | 
					
						
							|  |  |  |             dimensions = dimensions.replace(",", ", ");
 | 
					
						
							|  |  |  |         }
 | 
					
						
							|  |  |  |         String owners = rs.getString(METRIC_OWNERS_COLUMN);
 | 
					
						
							|  |  |  |         if (StringUtils.isNotBlank(owners))
 | 
					
						
							|  |  |  |         {
 | 
					
						
							|  |  |  |             owners = owners.replace(",", ", ");
 | 
					
						
							|  |  |  |         }
 | 
					
						
							|  |  |  |         String tags = rs.getString(METRIC_TAGS_COLUMN);
 | 
					
						
							|  |  |  |         if (StringUtils.isNotBlank(tags))
 | 
					
						
							|  |  |  |         {
 | 
					
						
							|  |  |  |             tags = tags.replace(",", ", ");
 | 
					
						
							|  |  |  |         }
 | 
					
						
							|  |  |  |         String urn = rs.getString(METRIC_URN_COLUMN);
 | 
					
						
							|  |  |  |         String url = rs.getString(METRIC_URL_COLUMN);
 | 
					
						
							|  |  |  |         String wikiUrl = rs.getString(METRIC_WIKI_URL_COLUMN);
 | 
					
						
							|  |  |  |         String scmUrl = rs.getString(METRIC_SCM_URL_COLUMN);
 | 
					
						
							| 
									
										
										
										
											2015-11-19 14:39:21 -08:00
										 |  |  |         Long watchId = rs.getLong(METRIC_WATCH_ID_COLUMN);
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         Metric metric = new Metric();
 | 
					
						
							|  |  |  |         metric.id = id;
 | 
					
						
							|  |  |  |         metric.name = name;
 | 
					
						
							|  |  |  |         metric.description = description;
 | 
					
						
							|  |  |  |         metric.dashboardName = dashboardName;
 | 
					
						
							| 
									
										
										
										
											2016-03-21 17:35:54 -07:00
										 |  |  |         metric.group = group;
 | 
					
						
							| 
									
										
										
										
											2015-11-19 14:39:21 -08:00
										 |  |  |         metric.category = category;
 | 
					
						
							| 
									
										
										
										
											2016-02-29 00:13:40 -08:00
										 |  |  |         metric.subCategory = subCategory;
 | 
					
						
							| 
									
										
										
										
											2016-03-21 17:35:54 -07:00
										 |  |  |         metric.level = level;
 | 
					
						
							| 
									
										
										
										
											2015-11-19 14:39:21 -08:00
										 |  |  |         metric.sourceType = sourceType;
 | 
					
						
							| 
									
										
										
										
											2016-03-21 17:35:54 -07:00
										 |  |  |         metric.source = source;
 | 
					
						
							|  |  |  |         metric.sourceDatasetId = sourceDatasetId;
 | 
					
						
							|  |  |  |         if (metric.sourceDatasetId != null && metric.sourceDatasetId > 0)
 | 
					
						
							|  |  |  |         {
 | 
					
						
							|  |  |  |             metric.sourceDatasetLink = "#/datasets/" + Long.toString(metric.sourceDatasetId);
 | 
					
						
							|  |  |  |         }
 | 
					
						
							|  |  |  |         metric.refIDType = refIdType;
 | 
					
						
							|  |  |  |         metric.refID = refId;
 | 
					
						
							|  |  |  |         metric.type = type;
 | 
					
						
							| 
									
										
										
										
											2015-11-19 14:39:21 -08:00
										 |  |  |         metric.grain = grain;
 | 
					
						
							|  |  |  |         metric.displayFactor = displayFactor;
 | 
					
						
							|  |  |  |         metric.displayFactorSym = displayFactorSym;
 | 
					
						
							| 
									
										
										
										
											2016-03-21 17:35:54 -07:00
										 |  |  |         metric.goodDirection = goodDirection;
 | 
					
						
							|  |  |  |         metric.formula = formula;
 | 
					
						
							|  |  |  |         metric.dimensions = dimensions;
 | 
					
						
							|  |  |  |         metric.owners = owners;
 | 
					
						
							|  |  |  |         metric.tags = tags;
 | 
					
						
							|  |  |  |         metric.urn = urn;
 | 
					
						
							|  |  |  |         metric.metricUrl = url;
 | 
					
						
							|  |  |  |         metric.wikiUrl = wikiUrl;
 | 
					
						
							|  |  |  |         metric.scmUrl = scmUrl;
 | 
					
						
							| 
									
										
										
										
											2015-11-19 14:39:21 -08:00
										 |  |  |         metric.watchId = watchId;
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         return metric;
 | 
					
						
							|  |  |  |     }
 | 
					
						
							|  |  |  | }
 |