public boolean equals(Object obj) { if (obj == null) return false; if (obj == this) return true; return contains(obj); }
public List<Interval> getIntervals(List<DistinctValue> distinctValues) { if (labelIntervals == null) labelIntervals = buildIntervals(distinctValues); return labelIntervals; }
public boolean contains(Object value) { if (value == null) return false; Object other = value; if (other instanceof LabelInterval) { other = ((LabelInterval) value).getLabel(); } if (getLabel() == null) return other == null; if (other == null) return getLabel() == null; return getLabel().equals(other.toString()); }
public List getValues(Set<Interval> intervals, DataProperty p) { List results = new ArrayList(); if (p.equals(getProperty())) { for (Interval interval : intervals) { LabelInterval li = (LabelInterval) interval; results.add(li.getLabel()); } } else { List targetValues = p.getValues(); Set<Integer> targetRows = getRowNumbers(intervals); for (Integer targetRow : targetRows) { results.add(targetValues.get(targetRow)); } } return results; }
public Domain createDomain(Class<?> type) { if (Date.class.isAssignableFrom(type)) return new DateDomain(); if (Number.class.isAssignableFrom(type)) return new NumericDomain(); return new LabelDomain(); } }
public List<Interval> buildAllIntervals(List<DistinctValue> distinctValues) { List<Interval> all = new ArrayList<Interval>(); if (distinctValues != null && !distinctValues.isEmpty()) { for (DistinctValue distinctValue : distinctValues) { LabelInterval interval = new LabelInterval(); interval.setDomain(this); interval.setHolder(distinctValue); all.add(interval); } } return all; }
public List<Interval> buildIntervals(List<DistinctValue> distinctValues) { // Get all the intervals List<Interval> results = buildAllIntervals(distinctValues); // Don't show the label intervals to hide List<Interval> intervalsVisible = new ArrayList<Interval>(); for (int i = 0; i < results.size(); i++) { LabelInterval labelInterval = (LabelInterval) results.get(i); if (!isIntervalHidden(labelInterval)) intervalsVisible.add(labelInterval); } // Make sure the maximum number of intervals is not exceeded . results = cutIntervals(intervalsVisible); return results; }
public String getDescription(Locale l) { DataFormatterRegistry dfr = DataFormatterRegistry.lookup(); DataProperty property = getDomain().getProperty(); if (property == null) return getLabel(); DataPropertyFormatter dpf = dfr.getPropertyFormatter(property.getPropertyId()); return dpf.formatValue(property, getLabel(), l); }
if (allowedValue instanceof LabelInterval) { LabelInterval labelInterval = (LabelInterval) allowedValue; targetRows.addAll(labelInterval.getHolder().rows); filter.removeProperty(propId); if (compositeInterval.getDomain() instanceof LabelDomain) { LabelDomain labelDomain = (LabelDomain) compositeInterval.getDomain(); Set<Integer> compositeRows = labelDomain.getRowNumbers(compositeInterval.getIntervals()); targetRows.addAll(compositeRows); filter.removeProperty(propId);
public List<Interval> getIntervals() { AbstractDataSet dataSet = (AbstractDataSet) property.getDataSet(); int column = dataSet.getPropertyColumn(property); List<DistinctValue> distinctValues = dataSet.getDataSetIndex().getDistinctValues(column); return getIntervals(distinctValues); }
public List getValues(DataProperty p) { if (domain instanceof LabelDomain) { LabelDomain labelDomain = (LabelDomain) domain; return labelDomain.getValues(intervals, p); } return super.getValues(p); } }
public String toString() { return getDescription(LocaleManager.currentLocale()); } }
public List<Interval> cutIntervals(List<Interval> intervals) { List<Interval> results = new ArrayList<Interval>(); if (maxNumberOfIntervals < 1 || intervals.size() <= maxNumberOfIntervals) { return intervals; } // Leave out the intervals that exceed the maximum. for (int i = 0; i < maxNumberOfIntervals; i++) { results.add(intervals.get(i)); } // ... and group the rest in a new aggregated interval. CompositeInterval compositeInterval = new CompositeInterval(); ResourceBundle i18n = localeManager.getBundle("org.jboss.dashboard.displayer.messages", LocaleManager.currentLocale()); compositeInterval.setDescription(i18n.getString(AbstractDomain.I18N_PREFFIX + "finalInterval"), LocaleManager.currentLocale()); compositeInterval.setDomain(this); // Include the aggregated interval only if visible. if (!isIntervalHidden(compositeInterval)) { Set<Interval> otherIntervals = new HashSet<Interval>(); for (int i = maxNumberOfIntervals; i < intervals.size(); i++) otherIntervals.add(intervals.get(i)); compositeInterval.setIntervals(otherIntervals); results.add(compositeInterval); } return results; }
public List<DataProperty> _parseXMLProperties(NodeList nodes, boolean update) throws Exception { List<DataProperty> result = new ArrayList<DataProperty>(); for (int x = 0; x < nodes.getLength(); x++) { Node node = nodes.item(x); if (node.getNodeName().equals("dataproperty")) { String idDataProperty = StringEscapeUtils.unescapeXml(node.getAttributes().getNamedItem("id").getNodeValue()); DataProperty property = getPropertyById(idDataProperty); if (property == null) { if (update) continue; // Be aware of deleted properties. else property = new DefaultDataProperty(idDataProperty); } result.add(property); NodeList dataProperties = node.getChildNodes(); for (int y = 0; y < dataProperties.getLength(); y++) { Node dataProperty = dataProperties.item(y); if (dataProperty.getNodeName().equals("domain")) { Domain domain = (Domain) Class.forName(StringEscapeUtils.unescapeXml(dataProperty.getFirstChild().getNodeValue())).newInstance(); if (dataProperty.getAttributes().getNamedItem("convertedFromNumeric") != null) ((LabelDomain) domain).setConvertedFromNumeric(true); property.setDomain(domain); } if (dataProperty.getNodeName().equals("name")) { String lang = dataProperty.getAttributes().getNamedItem("language").getNodeValue(); String desc = StringEscapeUtils.unescapeXml(dataProperty.getFirstChild().getNodeValue()); property.setName(desc, new Locale(lang)); } } } } return result; }
public void formatXMLProperties(PrintWriter out, int indent) throws Exception { printIndent(out, indent++); out.println("<dataproperties>"); DataProperty[] properties = getProperties(); for (DataProperty property : properties) { printIndent(out, indent++); out.println("<dataproperty id=\"" + StringEscapeUtils.escapeXml(property.getPropertyId()) + "\">"); printIndent(out, indent); Domain domain = property.getDomain(); String convertedFromNumeric = ""; if (domain instanceof LabelDomain && ((LabelDomain)domain).isConvertedFromNumeric()) convertedFromNumeric = " convertedFromNumeric=\"true\" "; out.println("<domain" + convertedFromNumeric + ">" + StringEscapeUtils.escapeXml(property.getDomain().getClass().getName()) + "</domain>"); Map<Locale,String> names = property.getNameI18nMap(); if (names != null) { for (Locale locale : names.keySet()) { printIndent(out, indent); out.println("<name language=\"" + locale + "\">" + StringEscapeUtils.escapeXml(names.get(locale)) + "</name>"); } } printIndent(out, --indent); out.println("</dataproperty>"); } printIndent(out, --indent); out.println("</dataproperties>"); }
if (domain instanceof LabelDomain) { LabelDomain labelDomain = (LabelDomain) domain; labelIntervalsToHideI18nMap = new HashMap<Locale,String>(labelDomain.getLabelIntervalsToHideI18nMap());
case Types.LONGVARCHAR: case Types.BIT: // Booleans setDomain(new LabelDomain()); break; setDomain(new LabelDomain()); break;
public int hashCode() { return new HashCodeBuilder().append(getLabel()).toHashCode(); }
List<Interval> intervals = _pivotDomain.getIntervals(_sortedValues);
/** * Get a JDBC prepared statement representing the SQL sentence. */ public PreparedStatement getPreparedStatement(Connection connection) throws SQLException { PreparedStatement preparedStatement = connection.prepareStatement(SQLSentence); int psParamIndex = 1; Iterator paramIt = SQLParameters.iterator(); while (paramIt.hasNext()) { Object param = paramIt.next(); if (param instanceof String) preparedStatement.setString(psParamIndex, (String) param); else if (param instanceof Date) preparedStatement.setTimestamp(psParamIndex, new Timestamp(((Date) param).getTime())); else if (param instanceof Float) preparedStatement.setFloat(psParamIndex, ((Float) param).floatValue()); else if (param instanceof Double) preparedStatement.setDouble(psParamIndex, ((Double) param).doubleValue()); else if (param instanceof Number) preparedStatement.setLong(psParamIndex, ((Number) param).longValue()); else if (param instanceof Boolean) preparedStatement.setBoolean(psParamIndex, ((Boolean) param).booleanValue()); else if (param instanceof LabelInterval) preparedStatement.setString(psParamIndex, ((LabelInterval) param).getLabel()); psParamIndex++; } return preparedStatement; } }