| /******************************************************************************* |
| * Copyright (c) 2000, 2018 IBM Corporation and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * IBM Corporation - initial API and implementation |
| *******************************************************************************/ |
| package org.eclipse.test.internal.performance.results.model; |
| |
| import java.util.Vector; |
| |
| import org.eclipse.test.internal.performance.data.Dim; |
| import org.eclipse.test.internal.performance.results.db.AbstractResults; |
| import org.eclipse.test.internal.performance.results.db.BuildResults; |
| import org.eclipse.ui.views.properties.IPropertyDescriptor; |
| import org.eclipse.ui.views.properties.PropertyDescriptor; |
| import org.eclipse.ui.views.properties.TextPropertyDescriptor; |
| |
| public class DimResultsElement extends ResultsElement { |
| |
| Dim dim; |
| |
| // Property descriptors |
| static final String P_ID_DIMENSION = "DimResultsElement.dim"; //$NON-NLS-1$ |
| static final String P_ID_COUNT = "DimResultsElement.count"; //$NON-NLS-1$ |
| static final String P_ID_AVERAGE = "DimResultsElement.average"; //$NON-NLS-1$ |
| static final String P_ID_STDDEV = "DimResultsElement.stddev"; //$NON-NLS-1$ |
| static final String P_ID_ERROR= "DimResultsElement.error"; //$NON-NLS-1$ |
| static final String P_ID_HAD_VALUES = "DimResultsElement.hadvalues"; //$NON-NLS-1$ |
| |
| static final String P_STR_DIMENSION = "dimension"; //$NON-NLS-1$ |
| static final String P_STR_COUNT= "count"; //$NON-NLS-1$ |
| static final String P_STR_AVERAGE = "average"; //$NON-NLS-1$ |
| static final String P_STR_STDDEV = "std dev"; //$NON-NLS-1$ |
| static final String P_STR_ERROR = "error"; //$NON-NLS-1$ |
| static final String P_STR_HAD_VALUES = "had values"; //$NON-NLS-1$ |
| |
| private static final TextPropertyDescriptor DIMENSION_DESCRIPTOR = new TextPropertyDescriptor(P_ID_DIMENSION, P_STR_DIMENSION); |
| private static final PropertyDescriptor DIM_COUNT_DESCRIPTOR = new PropertyDescriptor(P_ID_COUNT, P_STR_COUNT); |
| private static final PropertyDescriptor DIM_AVERAGE_DESCRIPTOR = new PropertyDescriptor(P_ID_AVERAGE, P_STR_AVERAGE); |
| private static final PropertyDescriptor DIM_STDDEV_DESCRIPTOR = new PropertyDescriptor(P_ID_STDDEV, P_STR_STDDEV); |
| private static final PropertyDescriptor DIM_ERROR_DESCRIPTOR = new PropertyDescriptor(P_ID_ERROR, P_STR_ERROR); |
| private static final PropertyDescriptor DIM_HAD_VALUES_DESCRIPTOR = new PropertyDescriptor(P_ID_HAD_VALUES, P_STR_HAD_VALUES); |
| |
| private static Vector<IPropertyDescriptor> DESCRIPTORS; |
| static Vector<IPropertyDescriptor> initDescriptors(int status) { |
| DESCRIPTORS = new Vector<>(); |
| // Status category |
| DESCRIPTORS.add(getInfosDescriptor(status)); |
| DESCRIPTORS.add(getWarningsDescriptor(status)); |
| DESCRIPTORS.add(ERROR_DESCRIPTOR); |
| ERROR_DESCRIPTOR.setCategory("Status"); |
| // Results category |
| DESCRIPTORS.addElement(DIMENSION_DESCRIPTOR); |
| DIMENSION_DESCRIPTOR.setCategory("Results"); |
| DESCRIPTORS.addElement(DIM_COUNT_DESCRIPTOR); |
| DIM_COUNT_DESCRIPTOR.setCategory("Results"); |
| DESCRIPTORS.addElement(DIM_AVERAGE_DESCRIPTOR); |
| DIM_AVERAGE_DESCRIPTOR.setCategory("Results"); |
| DESCRIPTORS.addElement(DIM_STDDEV_DESCRIPTOR); |
| DIM_STDDEV_DESCRIPTOR.setCategory("Results"); |
| DESCRIPTORS.addElement(DIM_ERROR_DESCRIPTOR); |
| DIM_ERROR_DESCRIPTOR.setCategory("Results"); |
| DESCRIPTORS.addElement(DIM_HAD_VALUES_DESCRIPTOR); |
| DIM_HAD_VALUES_DESCRIPTOR.setCategory("Results"); |
| // Survey category |
| DESCRIPTORS.add(COMMENT_DESCRIPTOR); |
| COMMENT_DESCRIPTOR.setCategory("Survey"); |
| return DESCRIPTORS; |
| } |
| static Vector<IPropertyDescriptor> getDescriptors() { |
| return DESCRIPTORS; |
| } |
| |
| public DimResultsElement(AbstractResults results, ResultsElement parent, Dim d) { |
| super(results, parent); |
| this.dim = d; |
| } |
| |
| @Override |
| ResultsElement createChild(AbstractResults testResults) { |
| return null; |
| } |
| |
| private BuildResults getBuildResults() { |
| return (BuildResults) this.results; |
| } |
| |
| @Override |
| public String getLabel(Object o) { |
| return this.dim.getName(); |
| } |
| |
| @Override |
| public IPropertyDescriptor[] getPropertyDescriptors() { |
| Vector<IPropertyDescriptor> descriptors = getDescriptors(); |
| if (descriptors == null) { |
| descriptors = initDescriptors(getStatus()); |
| } |
| int size = descriptors.size(); |
| IPropertyDescriptor[] descriptorsArray = new IPropertyDescriptor[size]; |
| descriptorsArray[0] = getInfosDescriptor(getStatus()); |
| descriptorsArray[1] = getWarningsDescriptor(getStatus()); |
| for (int i=2; i<size; i++) { |
| descriptorsArray[i] = descriptors.get(i); |
| } |
| return descriptorsArray; |
| } |
| |
| @Override |
| public Object getPropertyValue(Object propKey) { |
| BuildResults buildResults = getBuildResults(); |
| if (propKey.equals(P_ID_DIMENSION)) { |
| return this.dim.getDescription(); |
| } |
| if (propKey.equals(P_ID_COUNT)) { |
| long count = buildResults.getCount(this.dim.getId()); |
| return Double.valueOf(count); |
| } |
| if (propKey.equals(P_ID_AVERAGE)) |
| return Double.valueOf(buildResults.getValue(this.dim.getId())); |
| if (propKey.equals(P_ID_STDDEV)) |
| return Double.valueOf(buildResults.getDeviation(this.dim.getId())); |
| if (propKey.equals(P_ID_ERROR)) |
| return Double.valueOf(buildResults.getError(this.dim.getId())); |
| if (propKey.equals(P_ID_HAD_VALUES)) |
| return Boolean.valueOf(buildResults.hadValues()); |
| return super.getPropertyValue(propKey); |
| } |
| |
| } |