001 /** 002 * Copyright 2005-2013 The Kuali Foundation 003 * 004 * Licensed under the Educational Community License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.opensource.org/licenses/ecl2.php 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016 /* 017 * To change this template, choose Tools | Templates 018 * and open the template in the editor. 019 */ 020 package org.kuali.rice.krms.impl.repository; 021 022 import java.util.Comparator; 023 import org.kuali.rice.krms.api.repository.proposition.PropositionDefinition; 024 import org.kuali.rice.krms.api.repository.typerelation.TypeTypeRelation; 025 026 /** 027 * 028 * @author nwright 029 */ 030 public class CompoundPropositionComparator implements Comparator<PropositionDefinition> { 031 032 @Override 033 public int compare(PropositionDefinition o1, PropositionDefinition o2) { 034 Integer seq1 = buildKey (o1); 035 Integer seq2 = buildKey (o2); 036 return seq1.compareTo(seq2); 037 } 038 039 private static final Integer ZERO = new Integer (0); 040 private Integer buildKey (PropositionDefinition prop) { 041 if (prop.getCompoundSequenceNumber() != null) { 042 return prop.getCompoundSequenceNumber (); 043 } 044 return ZERO; 045 } 046 }