Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. class ForeCastMatcher extends GenericMatchEngine {
  2.   @Override
  3.   protected AbstractSimilarityChecker prepareChecker() {
  4.     return new AbstractSimilarityChecker(filter) {
  5.  
  6.       @Override
  7.       public boolean isSimilar(EObject obj1, final EObject obj2)
  8.           throws FactoryException {
  9.         WorldcupforecastSwitch<Boolean> comparison = new WorldcupforecastSwitch<Boolean>() {
  10.  
  11.           @Override
  12.           public Boolean caseForecast(Forecast object) {
  13.             return EcoreUtil.equals(object.getMatch(),
  14.                 ((Forecast) obj2).getMatch());
  15.           }
  16.  
  17.           @Override
  18.           public Boolean caseForecastDay(ForecastDay object) {
  19.  
  20.             return object.getDate().equals(((ForecastDay) obj2).getDate());
  21.           }
  22.  
  23.           @Override
  24.           public Boolean casePlayer(Player object) {
  25.             return true;
  26.           }
  27.         };
  28.         return comparison.doSwitch(obj1);
  29.       }
  30.  
  31.       @Override
  32.       public double absoluteMetric(EObject obj1, EObject obj2)
  33.           throws FactoryException {
  34.         if (isSimilar(obj1, obj2)) {
  35.           return 1.0;
  36.         }
  37.         return 0;
  38.       }
  39.  
  40.       @Override
  41.       public void init(Resource leftResource, Resource rightResource)
  42.           throws FactoryException {
  43.  
  44.       }
  45.  
  46.       @Override
  47.       public void init(EObject leftObject, EObject rightObject)
  48.           throws FactoryException {
  49.       }
  50.  
  51.     };
  52.   }