/* * Copyright (c) 2011, Cloudera, Inc. All Rights Reserved. * * Cloudera, Inc. licenses this file to you 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 * * This software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for * the specific language governing permissions and limitations under the * License. */ package com.cloudera.recordbreaker.schemadict; /***************************************************** * DictionaryMapping is a SchemaMapping that includes a SchemaDictionary item. * * @author mjc ******************************************************/ public class DictionaryMapping implements Comparable { SchemaMapping mapping; SchemaDictionaryEntry dictElt; public DictionaryMapping(SchemaMapping mapping, SchemaDictionaryEntry dictElt) { this.mapping = mapping; this.dictElt = dictElt; } public SchemaMapping getMapping() { return mapping; } public SchemaDictionaryEntry getDictEntry() { return dictElt; } public int compareTo(Object o) { DictionaryMapping dm = (DictionaryMapping) o; double thisDist = this.mapping.getDist(); double dmDist = dm.getMapping().getDist(); if (thisDist < dmDist) { return -1; } else if (thisDist > dmDist) { return 1; } else { return this.dictElt.getSchema().toString().compareTo(dm.getDictEntry().getSchema().toString()); } } public String toString() { return "Map " + dictElt; } }