#!/usr/bin/perl
# $Id: alpha_handler,v 1.5 2001/08/10 22:23:20 mpashniak Exp $
# Copyright 2001 Sun Microsystems, Inc.  All rights reserved.

use lib qw( ../../../../client/perl );
use CCE;
my $cce = new CCE; $cce->connectfd();

my $obj = $cce->event_object();
my $old = $cce->event_old();

my $name = $obj->{name} || $old->{name};

print STDERR "ALPHA names: $obj->{name} - $old->{name}\n";

if ($cce->event_is_create()) {
  print STDERR "ALPHA: creating $name\n";
  $cce->create("Beta", { 'name' => $name });
}
if ($cce->event_is_modify()) {
  print STDERR "ALPHA: modifying $name\n";
  my @oids = $cce->find("Beta", { 'name' => $old->{name} });
  if ($#oids < 0) {
    print STDERR "ALPHA: Missing BETA for $name\n";
  } else {
    $cce->set($oids[0], "", { 'name' => $obj->{name} } );
  }
}
if ($cce->event_is_destroy()) {
  print STDERR "ALPHA: destroying $name\n";
  my @oids = $cce->find("Beta", { 'name' => $name });
  print STDERR "ALPHA: going to destroy this Beta: @oids\n";
  if ($#oids < 0) {
    print STDERR "ALPHA: Missing BETA for $name\n";
  } else {
    $cce->destroy($oids[0]);
  }
}

if (
	($cce->event_is_create() && $name eq 'fail-on-create') 
     || ($cce->event_is_modify() && $name eq 'fail-on-modify')
     || ($cce->event_is_destroy() && $name eq 'fail-on-destroy')
) {
	$cce->bye("FAIL"); exit(1);
}

$cce->bye("SUCCESS");
exit(0);
