git-svn-id: https://svn.coded.pt/svn/SIPRP@1224 bb69d46d-e84e-40c8-a05a-06db0d633741

0'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z
Tiago Simão 16 years ago
parent 7254dc76d5
commit 49d1d9fe0a

@ -559,7 +559,7 @@ public class LeafWindow extends JFrame implements TrackableWindow, ListSelection
while( listRunLater.size() > 0 )
{
Pair<String, Object > p = listRunLater.poll();
runAction( p.getCar(), p.getCdr() );
runAction( p.getLeft(), p.getRight() );
}
}

@ -22,6 +22,7 @@ import javax.swing.JFileChooser;
import javax.swing.JPanel;
import com.evolute.utils.dataui.ControllableComponent;
import com.evolute.utils.error.ErrorLogger;
public class ImagePanel extends JPanel implements MouseListener, ControllableComponent
{
@ -94,7 +95,8 @@ public class ImagePanel extends JPanel implements MouseListener, ControllableCom
}
} catch( IOException e )
{
e.printStackTrace();
e.printStackTrace( System.out );
ErrorLogger.logException( e );
}
refresh();
}

@ -229,7 +229,7 @@ public class OrderedMap<KeyClass extends Object> implements Iterable<KeyClass>
else
{
Pair<String, KeyClass> previousEntry = equalEntries.get( 0 );
if( previousEntry.getCar().equals( entry.getCar() ) )
if( previousEntry.getLeft().equals( entry.getLeft() ) )
{
if( i < (sortedList.size() - 1) )
{
@ -248,8 +248,8 @@ public class OrderedMap<KeyClass extends Object> implements Iterable<KeyClass>
List<String> DEBUGLIST = new Vector<String>();
for( Pair<String, KeyClass> pair : equalEntries )
{
toSubOrder.add( pair.getCdr() );
DEBUGLIST.add( pair.getCar() );
toSubOrder.add( pair.getRight() );
DEBUGLIST.add( pair.getLeft() );
}
order( colNumbers, currentColumnIndex + 1, 0, toSubOrder.size() - 1, toSubOrder );
for( int j = 0; j < toSubOrder.size(); ++j )
@ -267,7 +267,7 @@ public class OrderedMap<KeyClass extends Object> implements Iterable<KeyClass>
for( int i = 0; i < sortedList.size(); ++i )
{
Pair<String, KeyClass> value = sortedList.get( i );
order.set( i, value.getCdr() );
order.set( i, value.getRight() );
}
}
}

@ -1,48 +1,100 @@
package com.evolute.adt;
public class Pair<CarClass extends Comparable<CarClass>, CdrClass> implements Comparable<Pair<CarClass, CdrClass>>
public class Pair<CARCLASS extends Object, CDRCLASS extends Object> implements Comparable<Pair<? extends CARCLASS,? extends CDRCLASS>>
{
private final CarClass car;
private final CdrClass cdr;
public Pair(CarClass car, CdrClass cdr)
private final CARCLASS left;
private final CDRCLASS right;
public Pair( CARCLASS leftValue, CDRCLASS rightValue )
{
this.car = car;
this.cdr = cdr;
this.left = leftValue;
this.right = rightValue;
}
public CarClass getCar()
public CARCLASS getLeft()
{
return car;
return left;
}
public CdrClass getCdr()
public CDRCLASS getRight()
{
return cdr;
return right;
}
@SuppressWarnings("unchecked")
@Override
public boolean equals(Object obj)
{
boolean result = obj != null;
if( result )
{
if( obj instanceof Pair )
{
result = ( left == null ? (((Pair) obj).left == null ) : (left.equals(((Pair) obj).left)) );
result &= ( right == null ? (((Pair) obj).right == null ) : (right.equals(((Pair) obj).right)) );
}
else
{
result = false;
}
}
return result;
}
@Override
public int compareTo( Pair<CarClass, CdrClass> toPair )
public int compareTo(Pair<? extends CARCLASS, ? extends CDRCLASS> pair)
{
if(toPair == null)
int result = compare( left, pair == null ? null : pair.left );
if( result == 0 )
{
return 1;
result = compare( right, pair == null ? null : pair.right );
}
else if(car == null && toPair.getCar() == null)
return result;
}
@SuppressWarnings("unchecked")
private int compare( Object a, Object b )
{
int result = a == null ? (b == null ? 0 : -1 ) : ( b == null ? 1 : 0 );
if( a != null && b != null )
{
return 0;
if( a.getClass().equals( b.getClass() ) && (a instanceof Comparable) )
{
((Comparable)a).compareTo(b);
}
else
{
result = compare(a.toString(),b.toString());
}
}
else
return result;
}
@Override
public int hashCode()
{
int result = super.hashCode();
if( left != null )
{
result = left.hashCode();
if( right != null )
{
result ^= right.hashCode();
}
}
else if( right != null )
{
return getCar().compareTo( toPair.getCar() );
result = right.hashCode();
}
return result;
}
@Override
public String toString()
{
return "(" + (car == null ? "" : car.toString()) + ", "+ (cdr == null ? "" : cdr.toString()) + ")";
return "<"+left+","+right+">";
}
}

Loading…
Cancel
Save