wenn man eigene db hat ist das ganz einfach:
definier einen sql-trigger, der beim update oder delete eines objektes aktiv wird und die dich interessierenden Objekte rausfiltert.
osmosis macht die schwerarbeit und der trigger der datenbank filtert die kritischen sachen raus.
ca 20-30 zeilen pgsql code. keine änderungen an osmosis.
gruss
walter

p.s. kein java :wink:

CREATE TRIGGER oberfoerster
  AFTER INSERT OR UPDATE OR DELETE
  ON ways
  FOR EACH ROW
  EXECUTE PROCEDURE oberfoerster();

CREATE OR REPLACE FUNCTION oberfoerster() RETURNS trigger AS $$

-- 263596 Oberförster

declare ts timestamp;

   BEGIN
      ts = current_timestamp;
      if TG_OP = 'INSERT' or TG_OP = 'UPDATE'
         then
            if (NEW.user_id = 263596 )
            then
               RAISE NOTICE  'Oberförster-Alarm: % way %',TG_OP, NEW.id;                    
               INSERT INTO logfile(dtm, trigger, what, state) values(ts, 'oberförster', NEW.id, TG_OP);
            end if;
      end if; 
      RETURN NEW;  
   END;
$$ LANGUAGE plpgsql;