package org.opennms.web.svclayer.outage;

import java.util.Collection;
import java.util.Date;

import org.opennms.netmgt.model.OnmsOutage;

public interface OutageService {

    Collection<OnmsOutage> getCurrentOutages();
    
    Collection<OnmsOutage> getCurrentOutagesByRange(Integer Offset, Integer Limit, String Order, String Direction);

    Collection<OnmsOutage> getOutagesByRange(Integer Offset, Integer Limit, String Order, String Direction, String Filter);
    
    Collection<OnmsOutage> getSuppressedOutagesByRange(Integer Offset, Integer Limit, String Order, String Direction);    
    
    Collection<OnmsOutage> getSuppressedOutages();

    Integer getCurrentOutageCount() ;

    Integer getSuppressedOutageCount() ;

    Collection<OnmsOutage> getCurrentOutagesForNode(int nodeId)
            ;

    Collection<OnmsOutage> getNonCurrentOutagesForNode(int nodeId)
            ;

    Collection<OnmsOutage> getOutagesForNode(int nodeId) ;

    Collection<OnmsOutage> getOutagesForNode(int nodeId, Date time)
            ;

    Collection<OnmsOutage> getOutagesForInterface(int nodeId, String ipInterface)
            ;

    Collection<OnmsOutage> getOutagesForInterface(int nodeId, String ipAddr,
            Date time) ;

    Collection<OnmsOutage> getOutagesForService(int nodeId, String ipInterface,
            int serviceId) ;
    
    Collection<OnmsOutage>  getOutagesForService(int nodeId, String ipAddr, int serviceId,
            Date time) ;

	Collection<OnmsOutage> getCurrentOutages(String ordering);

	OnmsOutage load(Integer outageid);
	
	void update(OnmsOutage Outage);
	
	Integer getOutageCount() ;
	
	Integer outageCountFiltered(String Filter);

	Collection<OnmsOutage> getResolvedOutagesByRange(Integer Offset, Integer Limit, String Order, String Direction, String Filter);

	Integer outageResolvedCountFiltered(String searchFilter);
	
    // This we may have to define 
    /*
    OutageSummary[] getCurrentOutageSummaries() ;

    OutageSummary[] getCurrentSDSOutageSummaries() ;
    */
    
}

@@ -272,33 +272,33 @@
 ByRange(Integer 
-O
+o
 ffset, Integer L
@@ -288,33 +288,33 @@
 offset, Integer 
-L
+o
 imit, String Ord
@@ -302,37 +302,45 @@
 r oimit, String 
-O
+o
 rder
+Property
 , String Directi
@@ -324,33 +324,33 @@
 roperty, String 
-D
+d
 irection);%0A%0A    
@@ -390,33 +390,33 @@
 ByRange(Integer 
-O
+o
 ffset, Integer L
@@ -406,33 +406,33 @@
 offset, Integer 
-L
+l
 imit, String Ord
@@ -420,37 +420,45 @@
 r limit, String 
-O
+o
 rder
+Property
 , String Directi
@@ -442,33 +442,33 @@
 roperty, String 
-D
+d
 irection, String
@@ -460,33 +460,33 @@
 rection, String 
-F
+f
 ilter);%0A    %0A   
@@ -537,33 +537,33 @@
 ByRange(Integer 
-O
+o
 ffset, Integer L
@@ -553,33 +553,33 @@
 offset, Integer 
-L
+l
 imit, String Ord
@@ -567,37 +567,45 @@
 r limit, String 
-O
+o
 rder
+Property
 , String Directi
@@ -589,33 +589,33 @@
 roperty, String 
-D
+d
 irection);    %0A 
@@ -1228,28 +1228,16 @@
  ipAddr,
-%0A           
  Date ti
@@ -1322,28 +1322,16 @@
 terface,
-%0A           
  int ser
@@ -1435,28 +1435,16 @@
 rviceId,
-%0A           
  Date ti
@@ -1504,19 +1504,24 @@
 ng order
-ing
+Property
 );%0A%0A%09Onm
@@ -1578,17 +1578,17 @@
 sOutage 
-O
+o
 utage);%0A
@@ -1651,25 +1651,25 @@
 ered(String 
-F
+f
 ilter);%0A%0A%09Co
@@ -1723,17 +1723,17 @@
 Integer 
-O
+o
 ffset, I
@@ -1743,9 +1743,9 @@
 ger 
-L
+l
 imit
@@ -1757,13 +1757,21 @@
 ing 
-O
+o
 rder
+Property
 , St
@@ -1775,17 +1775,17 @@
  String 
-D
+d
 irection
@@ -1793,17 +1793,17 @@
  String 
-F
+f
 ilter);%0A

rename impropertyly name parameters