use of alma.acs.alarmsystem.generated.FaultCode in project ACS by ACS-Community.
the class AlarmManager method updateFaultCode.
/**
* Modifies a Fault Code of a given Fault Family.
* @param ff The Fault Family to which belongs the Fault Code to be changed
* @param fc The Fault Code to be changed
* @param fci The Fault Code with the new values
* @throws NullPointerException If any (or both) of the given Fault Codes
* or the Fault Family (or its name) or both are null
* @throws IllegalOperationException If the Fault Family doesn't exists
*/
public void updateFaultCode(FaultFamily ff, FaultCode fc, FaultCode fci) throws NullPointerException, IllegalOperationException {
if (ff == null || ff.getName() == null)
throw new NullPointerException("The Fault Family (or its name) is null");
if (fc == null)
throw new NullPointerException("The Fault Code to be changed is null");
if (fci == null)
throw new NullPointerException("The Fault Code with the new values is null");
for (Iterator<FaultFamily> iterator = _ffList.iterator(); iterator.hasNext(); ) {
FaultFamily fft = (FaultFamily) iterator.next();
if (fft.getName().compareTo(ff.getName()) == 0) {
for (Iterator<FaultCode> iterator2 = Arrays.asList(fft.getFaultCode()).iterator(); iterator2.hasNext(); ) {
FaultCode fct = (FaultCode) iterator2.next();
if (fct.getValue() == fci.getValue()) {
if (fc.getValue() == fci.getValue())
continue;
throw new IllegalOperationException("The Fault Code " + fci.getValue() + " already exists");
}
}
for (Iterator<FaultCode> iterator2 = Arrays.asList(fft.getFaultCode()).iterator(); iterator2.hasNext(); ) {
FaultCode fct = (FaultCode) iterator2.next();
if (fct.getValue() == fc.getValue()) {
int value = fc.getValue();
fct.setValue(fci.getValue());
fct.setPriority(fci.getPriority());
fct.setCause(fci.getCause());
fct.setAction(fci.getAction());
fct.setConsequence(fci.getConsequence());
fct.setProblemDescription(fci.getProblemDescription());
ObjectState os = _objState.get(fft.getName());
if (os == null)
throw new IllegalOperationException("There is no ObjectState associated with the given Fault Family");
os.update();
if (value != fci.getValue()) {
Vector<FaultFamily> ffs = new Vector<FaultFamily>();
ffs.add(ff);
((ACSAlarmDAOImpl) _alarmDAO).removeAlarmsMap(ffs);
((ACSAlarmDAOImpl) _alarmDAO).generateAlarmsMap(ffs);
}
return;
}
}
throw new IllegalOperationException("The Fault Value " + fc.getValue() + " doesn't exists");
}
}
throw new IllegalOperationException("The Fault Family " + ff.getName() + " doesn't exists");
}
use of alma.acs.alarmsystem.generated.FaultCode in project ACS by ACS-Community.
the class AlarmManager method deleteFaultCode.
/**
* Deletes a Fault Code of a given Fault Family. The Fault Code to be
* deleted is checked against the existing Reduction Rules in order to
* preserve the consistency of the application (i.e., a Fault Code cannot
* be deleted if it is currently present in a Reduction Rule).
* @param ff The Fault Family of the Fault Code to be deleted
* @param fc The Fault Code to be deleted
* @return True if it deletes the given Fault Code, false otherwise
* @throws NullPointerException If the given Fault Family or Fault Code
* is null
* @throws IllegalOperationException If the Fault Code is part of an
* existing Reduction Rule
*/
public boolean deleteFaultCode(FaultFamily ff, FaultCode fc) throws NullPointerException, IllegalOperationException {
if (ff == null || ff.getName() == null)
throw new NullPointerException("The Fault Family (or its name) owner of the Fault Code to be deleted is null");
if (fc == null)
throw new NullPointerException("The Fault Code to be deleted is null");
List<ReductionRule> rrL = _reductionManager.getNodeReductionRules();
for (ReductionRule rr : rrL) {
String[] tr = rr.getParent().getAlarmId().split(":");
if (tr[0].compareTo(ff.getName()) == 0 && Integer.parseInt(tr[2]) == fc.getValue())
throw new IllegalOperationException("The Fault Code 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<FaultCode> iterator2 = Arrays.asList(fft.getFaultCode()).iterator(); iterator2.hasNext(); ) {
FaultCode fct = (FaultCode) iterator2.next();
if (fct.getValue() == fc.getValue()) {
fft.removeFaultCode(fc);
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.FaultCode in project ACS by ACS-Community.
the class ACSAlarmDAOImpl method generateAlarmsMap.
/**
* Generate the alarms from the definition of the fault families.
* The alarms will be added into the HashMap with their triplet as key.
* The default item has FM="*".
*
* The sources read from the families are also added to the HashMap of the sources
*
* @param families The FF read from the CDB
*/
public void generateAlarmsMap(Vector<FaultFamily> families) {
if (families == null) {
throw new IllegalArgumentException("Invalid null vector of FFs");
}
for (FaultFamily family : families) {
String FF = family.getName();
String helpUrl = family.getHelpUrl();
String source = family.getAlarmSource();
Contact contactPerson = family.getContact();
FaultMember[] FMs = family.getFaultMember();
FaultMemberDefault defaultFM = family.getFaultMemberDefault();
FaultCode[] FCs = family.getFaultCode();
// There should be at least one FC in the CDB
if (FCs == null || FCs.length == 0) {
logger.log(AcsLogLevel.WARNING, "No FC defined for family " + family.getName());
continue;
}
// There should be at least one FM or a default FM defined in the CDB
if (defaultFM == null && (FMs == null || FMs.length == 0)) {
logger.log(AcsLogLevel.WARNING, "No FM defined for family " + family.getName());
continue;
}
// Iterate over the FCs
for (FaultCode code : FCs) {
int FC = code.getValue();
int priority = code.getPriority();
String action = code.getAction();
String cause = code.getCause();
String consequence = code.getConsequence();
String problemDesc = code.getProblemDescription();
boolean instant = code.getInstant();
// Iterate over all the FMs
for (FaultMember member : FMs) {
alma.acs.alarmsystem.generated.Location loc = member.getLocation();
if (loc == null) {
loc = new alma.acs.alarmsystem.generated.Location();
}
if (loc.getBuilding() == null) {
loc.setBuilding("");
}
if (loc.getFloor() == null) {
loc.setFloor("");
}
if (loc.getMnemonic() == null) {
loc.setMnemonic("");
}
if (loc.getPosition() == null) {
loc.setPosition("");
}
if (loc.getRoom() == null) {
loc.setRoom("");
}
String FM = member.getName();
if (FM.equals(DEFAULT_FM)) {
logger.log(AcsLogLevel.ERROR, "In the CDB, FM=" + DEFAULT_FM + " in family " + FF + " is not allowed");
}
AlarmImpl alarm = new AlarmImpl();
alarm.setMultiplicityChildrenIds(new HashSet());
alarm.setMultiplicityParentIds(new HashSet());
alarm.setNodeChildrenIds(new HashSet());
alarm.setNodeParentIds(new HashSet());
alarm.setAction(action);
alarm.setTriplet(new Triplet(FF, FM, FC));
alarm.setCategories(new HashSet<Category>());
alarm.setCause(cause);
alarm.setConsequence(consequence);
alarm.setProblemDescription(problemDesc);
try {
alarm.setHelpURL(new URL(helpUrl));
} catch (MalformedURLException e) {
alarm.setHelpURL(null);
}
alarm.setInstant(instant);
Location location = new Location("0", loc.getFloor(), loc.getMnemonic(), loc.getPosition(), loc.getRoom());
alarm.setLocation(location);
if (contactPerson.getEmail() != null) {
alarm.setPiquetEmail(contactPerson.getEmail());
} else {
alarm.setPiquetEmail("");
}
if (contactPerson.getGsm() != null) {
alarm.setPiquetGSM(contactPerson.getGsm());
} else {
alarm.setPiquetGSM("");
}
alarm.setPriority(priority);
ResponsiblePerson responsible = new ResponsiblePerson(0, contactPerson.getName(), "", contactPerson.getEmail(), contactPerson.getGsm(), "");
alarm.setResponsiblePerson(responsible);
SourceDefinition srcDef = new SourceDefinition(source, "SOURCE", "", 15, 1);
Source src = new Source(srcDef, responsible);
alarm.setSource(src);
alarm.setIdentifier(alarm.getTriplet().toIdentifier());
alarmDefs.put(alarm.getAlarmId(), alarm);
if (!srcDefs.containsKey(source)) {
srcDefs.put(src.getSourceId(), src);
logger.log(AcsLogLevel.DEBUG, "Source " + src.getName() + " (id=" + src.getSourceId() + ") added");
}
logger.log(AcsLogLevel.DEBUG, "Alarm added " + alarm.getAlarmId());
}
// Add the default
if (defaultFM != null) {
alma.acs.alarmsystem.generated.Location loc = defaultFM.getLocation();
if (loc == null) {
loc = new alma.acs.alarmsystem.generated.Location();
}
if (loc.getBuilding() == null) {
loc.setBuilding("");
}
if (loc.getFloor() == null) {
loc.setFloor("");
}
if (loc.getMnemonic() == null) {
loc.setMnemonic("");
}
if (loc.getPosition() == null) {
loc.setPosition("");
}
if (loc.getRoom() == null) {
loc.setRoom("");
}
AlarmImpl defaultAlarm = new AlarmImpl();
defaultAlarm.setMultiplicityChildrenIds(new HashSet());
defaultAlarm.setMultiplicityParentIds(new HashSet());
defaultAlarm.setNodeChildrenIds(new HashSet());
defaultAlarm.setNodeParentIds(new HashSet());
defaultAlarm.setAction(action);
defaultAlarm.setCategories(new HashSet<Category>());
defaultAlarm.setCause(cause);
defaultAlarm.setConsequence(consequence);
defaultAlarm.setProblemDescription(problemDesc);
try {
defaultAlarm.setHelpURL(new URL(helpUrl));
} catch (MalformedURLException e) {
defaultAlarm.setHelpURL(null);
}
defaultAlarm.setInstant(instant);
Location location = new Location("0", loc.getFloor(), loc.getMnemonic(), loc.getPosition(), loc.getRoom());
defaultAlarm.setLocation(location);
defaultAlarm.setPiquetEmail(contactPerson.getEmail());
defaultAlarm.setPiquetGSM(contactPerson.getGsm());
defaultAlarm.setPriority(priority);
ResponsiblePerson responsible = new ResponsiblePerson(0, contactPerson.getName(), "", contactPerson.getEmail(), contactPerson.getGsm(), "");
defaultAlarm.setResponsiblePerson(responsible);
SourceDefinition srcDef = new SourceDefinition(source, "SOURCE", "", 15, 1);
Source src = new Source(srcDef, responsible);
defaultAlarm.setSource(src);
defaultAlarm.setIdentifier(defaultAlarm.getTriplet().toIdentifier());
Triplet triplet = new Triplet(FF, DEFAULT_FM, FC);
defaultAlarm.setTriplet(triplet);
defaultAlarm.setIdentifier(triplet.toIdentifier());
alarmDefs.put(defaultAlarm.getAlarmId(), defaultAlarm);
if (!srcDefs.containsKey(source)) {
srcDefs.put(src.getSourceId(), src);
logger.log(AcsLogLevel.DEBUG, "Source " + src.getName() + " (id=" + src.getSourceId() + ") added");
}
logger.log(AcsLogLevel.DEBUG, "Default alarm added " + defaultAlarm.getAlarmId());
}
}
}
}
use of alma.acs.alarmsystem.generated.FaultCode 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.FaultCode 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);
*/
}
Aggregations