use of alma.acs.alarmsystem.generated.FaultFamily in project ACS by ACS-Community.
the class AlarmManager method deleteFaultMember.
/**
* Deletes a Fault Member of a given Fault Family. The Fault Member to be
* deleted is checked against the existing Reduction Rules in order to
* preserve the consistency of the application (i.e., a Fault Member cannot
* be deleted if it is currently present in a Reduction Rule).
* @param ff The Fault Family of the Fault Member to be deleted
* @param fm The Fault Member to be deleted
* @return True if it deletes the given Fault Member, false otherwise
* @throws NullPointerException If the given Fault Family or Fault Member
* is null
* @throws IllegalOperationException If the Fault Member is part of an
* existing Reduction Rule
*/
public boolean deleteFaultMember(FaultFamily ff, FaultMember fm) throws NullPointerException, IllegalOperationException {
if (ff == null || ff.getName() == null)
throw new NullPointerException("The Fault Family (or its name) owner of the Fault Member to be deleted is null");
if (fm == null || fm.getName() == null)
throw new NullPointerException("The Fault Member to be deleted (or its name) is null");
List<ReductionRule> rrL = _reductionManager.getNodeReductionRules();
for (ReductionRule rr : rrL) {
String[] tr = rr.getParent().getAlarmId().split(":");
if (tr[0].compareTo(ff.getName()) == 0 && tr[1].compareTo(fm.getName()) == 0)
throw new IllegalOperationException("The Fault Member is currently associated to a Reduction Rule");
}
for (Iterator<FaultFamily> iterator = _ffList.iterator(); iterator.hasNext(); ) {
FaultFamily fft = (FaultFamily) iterator.next();
if (fft.getName().compareTo(ff.getName()) == 0) {
for (Iterator<FaultMember> iterator2 = Arrays.asList(fft.getFaultMember()).iterator(); iterator2.hasNext(); ) {
FaultMember fmt = (FaultMember) iterator2.next();
if (fmt.getName().compareTo(fm.getName()) == 0) {
fft.removeFaultMember(fm);
ObjectState os = _objState.get(fft.getName());
if (os == null)
throw new IllegalOperationException("There is no ObjectState associated with the given Fault Family");
os.update();
Vector<FaultFamily> ffs = new Vector<FaultFamily>();
ffs.add(ff);
((ACSAlarmDAOImpl) _alarmDAO).removeAlarmsMap(ffs);
((ACSAlarmDAOImpl) _alarmDAO).generateAlarmsMap(ffs);
return true;
}
}
}
}
return false;
}
use of alma.acs.alarmsystem.generated.FaultFamily in project ACS by ACS-Community.
the class ACSAlarmDAOImplTest method testAddFaultFamily.
public void testAddFaultFamily() {
boolean exception;
Alarm al1;
cern.laser.business.data.Location l;
//Delete Entry if it exists due to an error in previous test
{
FaultFamily ff = new FaultFamily();
ff.setName("ffTest1");
try {
_alarmDAO.removeFaultFamily(ff);
} catch (Exception e) {
//This happens when FaultFamily "ffTest1" doesn't exist
}
}
//Check Null Argument
exception = false;
try {
_alarmDAO.addFaultFamily(null);
} catch (Exception e) {
exception = true;
}
assertTrue(exception);
//Check new FaultFamily
FaultFamily ff = new FaultFamily();
ff.setName("ffTest1");
ff.setAlarmSource("ALARM_SYSTEM_SOURCES");
ff.setHelpUrl("http://www.test.com");
Contact ct = new Contact();
ct.setEmail("em1");
ct.setGsm("gsm1");
ct.setName("cont1");
ff.setContact(ct);
FaultCode fc = new FaultCode();
fc.setValue(1);
fc.setPriority(0);
fc.setAction("action1");
fc.setCause("cause1");
fc.setConsequence("conseq1");
fc.setProblemDescription("problem1");
ff.addFaultCode(fc);
FaultMemberDefault fmd = new FaultMemberDefault();
Location lc = new Location();
lc.setBuilding("b1");
lc.setFloor("f1");
lc.setMnemonic("m1");
lc.setPosition("p1");
lc.setRoom("r1");
fmd.setLocation(lc);
ff.setFaultMemberDefault(fmd);
FaultMember fm = new FaultMember();
fm.setName("fmTest1");
lc = new Location();
lc.setBuilding("b2");
lc.setFloor("f2");
lc.setMnemonic("m2");
lc.setPosition("p2");
lc.setRoom("r2");
fm.setLocation(lc);
ff.addFaultMember(fm);
exception = false;
try {
_alarmDAO.addFaultFamily(ff);
} catch (Exception e) {
exception = true;
}
assertFalse(exception);
al1 = _alarmDAO.getAlarm("ffTest1:fmTest1:1");
assertNotNull(al1);
assertEquals("ALARM_SYSTEM_SOURCES", al1.getSource().getName());
assertEquals("http://www.test.com", al1.getHelpURL().toString());
assertEquals("em1", al1.getPiquetEmail());
assertEquals("gsm1", al1.getPiquetGSM());
assertEquals("cont1", al1.getResponsiblePerson().getFamilyName());
assertEquals(0, al1.getPriority().intValue());
assertEquals("action1", al1.getAction());
assertEquals("cause1", al1.getCause());
assertEquals("conseq1", al1.getConsequence());
assertEquals("problem1", al1.getProblemDescription());
l = al1.getLocation();
assertNotNull(l);
//assertEquals("b2",l.getBuilding()); //Null
assertEquals("f2", l.getFloor());
assertEquals("m2", l.getMnemonic());
assertEquals("p2", l.getPosition());
assertEquals("r2", l.getRoom());
//Check if it already exists
exception = false;
try {
_alarmDAO.addFaultFamily(ff);
} catch (Exception e) {
exception = true;
}
assertTrue(exception);
}
use of alma.acs.alarmsystem.generated.FaultFamily in project ACS by ACS-Community.
the class ACSAlarmDAOImplTest method testUpdateFaultFamily.
public void testUpdateFaultFamily() {
boolean exception;
Alarm al1;
cern.laser.business.data.Location l;
//Delete Entry if it exists due to an error in previous test
{
FaultFamily ff = new FaultFamily();
ff.setName("ffTest1");
try {
_alarmDAO.removeFaultFamily(ff);
} catch (Exception e) {
//This happens when FaultFamily "ffTest1" doesn't exist
}
}
//Check Null Argument
exception = false;
try {
_alarmDAO.updateFaultFamily(null);
} catch (Exception e) {
exception = true;
}
assertTrue(exception);
//Update a FaultFamily that doesn't exist
FaultFamily ff = new FaultFamily();
ff.setName("ffTest1");
exception = false;
try {
_alarmDAO.updateFaultFamily(ff);
} catch (Exception e) {
exception = true;
}
assertTrue(exception);
//Check updating FaultFamily
ff.setAlarmSource("ALARM_SYSTEM_SOURCES");
ff.setHelpUrl("http://www.test.com");
Contact ct = new Contact();
ct.setEmail("em1");
ct.setGsm("gsm1");
ct.setName("cont1");
ff.setContact(ct);
FaultCode fc = new FaultCode();
fc.setValue(1);
fc.setPriority(0);
fc.setAction("action1");
fc.setCause("cause1");
fc.setConsequence("conseq1");
fc.setProblemDescription("problem1");
ff.addFaultCode(fc);
FaultMember fm = new FaultMember();
fm.setName("fmTest1");
Location lc = new Location();
lc.setBuilding("b2");
lc.setFloor("f2");
lc.setMnemonic("m2");
lc.setPosition("p2");
lc.setRoom("r2");
fm.setLocation(lc);
ff.addFaultMember(fm);
exception = false;
try {
_alarmDAO.addFaultFamily(ff);
} catch (Exception e) {
exception = true;
}
assertFalse(exception);
//Update FF information
//ff.setAlarmSource("ALARM_SYSTEM_SOURCES2");//Can't be changed at the moment.
ff.setHelpUrl("http://www.test2.com");
ct.setEmail("em2");
ct.setGsm("gsm2");
ct.setName("cont2");
try {
_alarmDAO.updateFaultFamily(ff);
} catch (Exception e) {
exception = true;
}
assertFalse(exception);
al1 = _alarmDAO.getAlarm("ffTest1:fmTest1:1");
assertNotNull(al1);
assertEquals("ALARM_SYSTEM_SOURCES", al1.getSource().getName());
//assertEquals("ALARM_SYSTEM_SOURCES2",al1.getSource().getName());
assertEquals("http://www.test2.com", al1.getHelpURL().toString());
assertEquals("em2", al1.getPiquetEmail());
assertEquals("gsm2", al1.getPiquetGSM());
assertEquals("cont2", al1.getResponsiblePerson().getFamilyName());
assertEquals(0, al1.getPriority().intValue());
assertEquals("action1", al1.getAction());
assertEquals("cause1", al1.getCause());
assertEquals("conseq1", al1.getConsequence());
assertEquals("problem1", al1.getProblemDescription());
l = al1.getLocation();
//assertEquals("b2",l.getBuilding());
assertEquals("f2", l.getFloor());
assertEquals("m2", l.getMnemonic());
assertEquals("p2", l.getPosition());
assertEquals("r2", l.getRoom());
//Update FM Information
fm.setName("fmTest2");
lc.setBuilding("b3");
lc.setFloor("f3");
lc.setMnemonic("m3");
lc.setPosition("p3");
lc.setRoom("r3");
try {
_alarmDAO.updateFaultFamily(ff);
} catch (Exception e) {
exception = true;
}
assertFalse(exception);
al1 = _alarmDAO.getAlarm("ffTest1:fmTest2:1");
assertNotNull(al1);
//assertEquals("ALARM_SYSTEM_SOURCES2",al1.getSource().getName());
assertEquals("ALARM_SYSTEM_SOURCES", al1.getSource().getName());
assertEquals("http://www.test2.com", al1.getHelpURL().toString());
assertEquals("em2", al1.getPiquetEmail());
assertEquals("gsm2", al1.getPiquetGSM());
assertEquals("cont2", al1.getResponsiblePerson().getFamilyName());
assertEquals(0, al1.getPriority().intValue());
assertEquals("action1", al1.getAction());
assertEquals("cause1", al1.getCause());
assertEquals("conseq1", al1.getConsequence());
assertEquals("problem1", al1.getProblemDescription());
l = al1.getLocation();
//assertEquals("b3",l.getBuilding());
assertEquals("f3", l.getFloor());
assertEquals("m3", l.getMnemonic());
assertEquals("p3", l.getPosition());
assertEquals("r3", l.getRoom());
//Update FC Information
fc.setValue(2);
fc.setPriority(1);
fc.setAction("action2");
fc.setCause("cause2");
fc.setConsequence("conseq2");
fc.setProblemDescription("problem2");
try {
_alarmDAO.updateFaultFamily(ff);
} catch (Exception e) {
exception = true;
}
assertFalse(exception);
al1 = _alarmDAO.getAlarm("ffTest1:fmTest2:2");
assertNotNull(al1);
//assertEquals("ALARM_SYSTEM_SOURCES2",al1.getSource().getName());
assertEquals("ALARM_SYSTEM_SOURCES", al1.getSource().getName());
assertEquals("http://www.test2.com", al1.getHelpURL().toString());
assertEquals("em2", al1.getPiquetEmail());
assertEquals("gsm2", al1.getPiquetGSM());
assertEquals("cont2", al1.getResponsiblePerson().getFamilyName());
assertEquals(1, al1.getPriority().intValue());
assertEquals("action2", al1.getAction());
assertEquals("cause2", al1.getCause());
assertEquals("conseq2", al1.getConsequence());
assertEquals("problem2", al1.getProblemDescription());
l = al1.getLocation();
//assertEquals("b3",l.getBuilding());
assertEquals("f3", l.getFloor());
assertEquals("m3", l.getMnemonic());
assertEquals("p3", l.getPosition());
assertEquals("r3", l.getRoom());
//Update Add FM
FaultMember fm2 = new FaultMember();
fm2.setName("fmTest3");
Location lc2 = new Location();
lc2.setBuilding("b4");
lc2.setFloor("f4");
lc2.setMnemonic("m4");
lc2.setPosition("p4");
lc2.setRoom("r4");
fm2.setLocation(lc2);
ff.addFaultMember(fm2);
exception = false;
try {
_alarmDAO.updateFaultFamily(ff);
} catch (Exception e) {
exception = true;
}
assertFalse(exception);
al1 = _alarmDAO.getAlarm("ffTest1:fmTest3:2");
assertNotNull(al1);
//assertEquals("ALARM_SYSTEM_SOURCES2",al1.getSource().getName());
assertEquals("ALARM_SYSTEM_SOURCES", al1.getSource().getName());
assertEquals("http://www.test2.com", al1.getHelpURL().toString());
assertEquals("em2", al1.getPiquetEmail());
assertEquals("gsm2", al1.getPiquetGSM());
assertEquals("cont2", al1.getResponsiblePerson().getFamilyName());
assertEquals(1, al1.getPriority().intValue());
assertEquals("action2", al1.getAction());
assertEquals("cause2", al1.getCause());
assertEquals("conseq2", al1.getConsequence());
assertEquals("problem2", al1.getProblemDescription());
l = al1.getLocation();
//assertEquals("b4",l.getBuilding());
assertEquals("f4", l.getFloor());
assertEquals("m4", l.getMnemonic());
assertEquals("p4", l.getPosition());
assertEquals("r4", l.getRoom());
//Update Add FC
FaultCode fc2 = new FaultCode();
fc2.setValue(3);
fc2.setPriority(2);
fc2.setAction("action3");
fc2.setCause("cause3");
fc2.setConsequence("conseq3");
fc2.setProblemDescription("problem3");
ff.addFaultCode(fc2);
exception = false;
try {
_alarmDAO.updateFaultFamily(ff);
} catch (Exception e) {
exception = true;
}
assertFalse(exception);
al1 = _alarmDAO.getAlarm("ffTest1:fmTest3:3");
assertNotNull(al1);
//assertEquals("ALARM_SYSTEM_SOURCES2",al1.getSource().getName());
assertEquals("ALARM_SYSTEM_SOURCES", al1.getSource().getName());
assertEquals("http://www.test2.com", al1.getHelpURL().toString());
assertEquals("em2", al1.getPiquetEmail());
assertEquals("gsm2", al1.getPiquetGSM());
assertEquals("cont2", al1.getResponsiblePerson().getFamilyName());
assertEquals(2, al1.getPriority().intValue());
assertEquals("action3", al1.getAction());
assertEquals("cause3", al1.getCause());
assertEquals("conseq3", al1.getConsequence());
assertEquals("problem3", al1.getProblemDescription());
l = al1.getLocation();
//assertEquals("b4",l.getBuilding());
assertEquals("f4", l.getFloor());
assertEquals("m4", l.getMnemonic());
assertEquals("p4", l.getPosition());
assertEquals("r4", l.getRoom());
//Update Remove FM
ff.removeFaultMember(fm);
exception = false;
try {
_alarmDAO.updateFaultFamily(ff);
} catch (Exception e) {
exception = true;
}
assertFalse(exception);
al1 = _alarmDAO.getAlarm("ffTest1:fmTest2:2");
assertNull(al1);
al1 = _alarmDAO.getAlarm("ffTest1:fmTest2:3");
assertNull(al1);
al1 = _alarmDAO.getAlarm("ffTest1:fmTest3:2");
assertNotNull(al1);
al1 = _alarmDAO.getAlarm("ffTest1:fmTest3:3");
assertNotNull(al1);
//Update Remove FC
ff.removeFaultCode(fc);
exception = false;
try {
_alarmDAO.updateFaultFamily(ff);
} catch (Exception e) {
exception = true;
}
assertFalse(exception);
al1 = _alarmDAO.getAlarm("ffTest1:fmTest3:2");
assertNull(al1);
al1 = _alarmDAO.getAlarm("ffTest1:fmTest3:3");
assertNotNull(al1);
//Update Add Default FM
FaultMemberDefault fmd = new FaultMemberDefault();
lc = new Location();
lc.setBuilding("b1");
lc.setFloor("f1");
lc.setMnemonic("m1");
lc.setPosition("p1");
lc.setRoom("r1");
fmd.setLocation(lc);
ff.setFaultMemberDefault(fmd);
exception = false;
try {
_alarmDAO.updateFaultFamily(ff);
} catch (Exception e) {
exception = true;
}
assertFalse(exception);
al1 = _alarmDAO.getAlarm("ffTest1:any:3");
assertNotNull(al1);
al1 = _alarmDAO.getAlarm("ffTest1:fmTest3:3");
assertNotNull(al1);
//Update Remove Default FM
//ff.removeFaultMemberDefault(); Missing method?
/*
exception = false;
try{
_alarmDAO.updateFaultFamily(ff);
}catch(Exception e){
exception = true;
}
assertFalse(exception);
al1 = _alarmDAO.getAlarm("ffTest1:any:3");
assertNull(al1);
al1 = _alarmDAO.getAlarm("ffTest1:fmTest3:3");
assertNotNull(al1);
*/
}
use of alma.acs.alarmsystem.generated.FaultFamily in project ACS by ACS-Community.
the class ACSAlarmDAOImplTest method testRemoveFaultFamily.
public void testRemoveFaultFamily() {
Alarm al1;
boolean exception;
//Delete Entry if it exists due to an error in previous test
{
FaultFamily ff = new FaultFamily();
ff.setName("ffTest1");
try {
_alarmDAO.removeFaultFamily(ff);
} catch (Exception e) {
//This happens when FaultFamily "ffTest1" doesn't exist
}
}
//Check null argument
exception = false;
try {
_alarmDAO.removeFaultFamily(null);
} catch (Exception e) {
exception = true;
}
assertTrue(exception);
//Check Remove FF that doesn't exist
FaultFamily ff = new FaultFamily();
ff.setName("ffTest1");
exception = false;
try {
_alarmDAO.removeFaultFamily(ff);
} catch (Exception e) {
exception = true;
}
assertTrue(exception);
//Check Remove FF
ff.setAlarmSource("ALARM_SYSTEM_SOURCES");
ff.setHelpUrl("http://www.test.com");
Contact ct = new Contact();
ct.setEmail("em1");
ct.setGsm("gsm1");
ct.setName("cont1");
ff.setContact(ct);
FaultCode fc = new FaultCode();
fc.setValue(1);
fc.setPriority(0);
fc.setAction("action1");
fc.setCause("cause1");
fc.setConsequence("conseq1");
fc.setProblemDescription("problem1");
ff.addFaultCode(fc);
FaultMemberDefault fmd = new FaultMemberDefault();
Location lc = new Location();
lc.setBuilding("b1");
lc.setFloor("f1");
lc.setMnemonic("m1");
lc.setPosition("p1");
lc.setRoom("r1");
fmd.setLocation(lc);
ff.setFaultMemberDefault(fmd);
FaultMember fm = new FaultMember();
fm.setName("fmTest1");
lc = new Location();
lc.setBuilding("b2");
lc.setFloor("f2");
lc.setMnemonic("m2");
lc.setPosition("p2");
lc.setRoom("r2");
fm.setLocation(lc);
ff.addFaultMember(fm);
exception = false;
try {
_alarmDAO.addFaultFamily(ff);
} catch (Exception e) {
exception = true;
}
assertFalse(exception);
al1 = _alarmDAO.getAlarm("ffTest1:fmTest1:1");
assertNotNull(al1);
try {
_alarmDAO.removeFaultFamily(ff);
} catch (Exception e) {
exception = true;
}
assertFalse(exception);
al1 = _alarmDAO.getAlarm("ffTest1:fmTest1:1");
assertNull(al1);
}
use of alma.acs.alarmsystem.generated.FaultFamily in project ACS by ACS-Community.
the class AlarmManagerTest method testSaveToCDB.
public void testSaveToCDB() {
boolean exception;
_am = AlarmManager.getInstance(_daoManager.getAlarmDAO());
_am.loadFromCDB();
List<FaultFamily> ff1 = _am.getAllAlarms();
assertNotNull(ff1);
int size1 = ff1.size();
int size2;
exception = false;
FaultFamily ff = new FaultFamily();
size1 = ff1.size();
ff.setName("foobar");
ff.setHelpUrl("http://www.foobar.cl/");
Contact ct = new Contact();
ct.setEmail("test@foobar.cl");
ct.setGsm("da");
ct.setName("Foobar");
ff.setContact(ct);
FaultCode fc = new FaultCode();
fc.setValue(1);
fc.setAction("a1");
fc.setCause("c1");
fc.setConsequence("co1");
fc.setPriority(1);
fc.setProblemDescription("pd1");
ff.addFaultCode(fc);
FaultMember fm = new FaultMember();
fm.setName("fmFoobar");
Location lc = new Location();
lc.setBuilding("b1");
lc.setFloor("f1");
lc.setMnemonic("m1");
lc.setPosition("p1");
lc.setRoom("r1");
fm.setLocation(lc);
try {
_am.addFaultFamily(ff);
} catch (Exception e) {
exception = true;
}
assertFalse(exception);
size2 = ff1.size();
assertEquals(size1, size2 - 1);
_am.saveToCDB();
_am.loadFromCDB();
FaultFamily fft = _am.getFaultFamily("foobar");
assertNotNull(fft);
assertEquals(fft.getName(), ff.getName());
assertEquals(fft.getHelpUrl(), ff.getHelpUrl());
exception = false;
try {
_am.deleteFaultFamily(fft);
} catch (Exception e) {
exception = true;
}
assertFalse(exception);
_am.saveToCDB();
_am.loadFromCDB();
fft = _am.getFaultFamily("foobar");
assertNull(fft);
}
Aggregations