3", and.getAtomicExprList().get(0).toString());
- Assert.assertEquals("@b>10", and.getAtomicExprList().get(1).toString());
-
- AtomicExpression leftExpression = and.getAtomicExprList().get(0);
- Assert.assertEquals("a + b", leftExpression.getKey());
- Assert.assertEquals(TokenType.EXP, leftExpression.getKeyType());
- Assert.assertEquals(">", leftExpression.getOp().toString());
- Assert.assertEquals("3", leftExpression.getValue());
- Assert.assertEquals(TokenType.NUMBER, leftExpression.getValueType());
- AtomicExpression rightExpression = and.getAtomicExprList().get(1);
- Assert.assertEquals("@b", rightExpression.getKey());
- Assert.assertEquals(TokenType.ID, rightExpression.getKeyType());
- Assert.assertEquals(">", rightExpression.getOp().toString());
- Assert.assertEquals("10",rightExpression.getValue());
- Assert.assertEquals(TokenType.NUMBER, rightExpression.getValueType());
- }
-
- @Test
- public void testComplexExpressionWithConditionAndNestedBrace(){
- String query = "(EXP{(@a + @b) / ((@c + @d)*(@e)/(@d))} > EXP{@c + @d}) AND (EXP{@e + @f} > EXP{@h + @i})";
- EagleQueryParser parser = new EagleQueryParser(query);
- ORExpression or = null;
- try{
- or = parser.parse();
- }catch(EagleQueryParseException ex){
- Assert.fail(ex.getMessage());
- }
- Assert.assertTrue(or.getANDExprList().size()==1);
- ANDExpression and = or.getANDExprList().get(0);
- Assert.assertEquals(2, and.getAtomicExprList().size());
- Assert.assertEquals("(a + b) / ((c + d)*(e)/(d))>c + d", and.getAtomicExprList().get(0).toString());
- Assert.assertEquals("e + f>h + i", and.getAtomicExprList().get(1).toString());
-
- AtomicExpression leftExpression = and.getAtomicExprList().get(0);
- Assert.assertEquals("(a + b) / ((c + d)*(e)/(d))", leftExpression.getKey());
- Assert.assertEquals(">", leftExpression.getOp().toString());
- Assert.assertEquals("c + d", leftExpression.getValue());
-
- AtomicExpression rightExpression = and.getAtomicExprList().get(1);
- Assert.assertEquals("e + f", rightExpression.getKey());
- Assert.assertEquals(">", rightExpression.getOp().toString());
- Assert.assertEquals("h + i",rightExpression.getValue());
- }
-
- @Test
- public void testNegativeExpressionCase(){
- String query = "(EXP{(@a + @b) / ((@c + @d)*(@e)/(@d))}} > EXP{@c + @d}) AND (EXP{@e + @f} > EXP{@h + @i})";
- EagleQueryParser parser = new EagleQueryParser(query);
- boolean parseFail = true;
- try{
- parser.parse();
- }catch(EagleQueryParseException ex){
- parseFail = false;
- }
- Assert.assertFalse(parseFail);
-
- query = "(EXP{{(@a + @b) / ((@c + @d)*(@e)/(@d))}} > EXP{@c + @d}) AND (EXP{@e + @f} > EXP{@h + @i})";
- parser = new EagleQueryParser(query);
- parseFail = true;
- try{
- parser.parse();
- }catch(EagleQueryParseException ex){
- parseFail = false;
- }
- Assert.assertFalse(parseFail);
-
- query = "(EXP{(@a + @b) / ((@c + @d)*(@e)/(@d))} > EXP{@c + @d}) AND EXP{})";
- parser = new EagleQueryParser(query);
- parseFail = true;
- try{
- parser.parse();
- }catch(EagleQueryParseException ex){
- parseFail = false;
- }
- Assert.assertFalse(parseFail);
-
- }
-
- @Test
- public void testIsExpression(){
- Assert.assertTrue(TokenConstant.isExpression("EXP{ count }"));
- Assert.assertFalse(TokenConstant.isExpression("count"));
- }
+
+ private static final Logger LOG = LoggerFactory.getLogger(TestEagleQueryParser.class);
+
+ @Test
+ public void testSingleExpression() {
+ String query = "@cluster=\"a\"";
+ EagleQueryParser parser = new EagleQueryParser(query);
+ ORExpression or = null;
+ try {
+ or = parser.parse();
+ } catch (EagleQueryParseException ex) {
+ Assert.fail(ex.getMessage());
+ }
+ Assert.assertTrue(or.getANDExprList().size() == 1);
+ Assert.assertEquals(1, or.getANDExprList().get(0).getAtomicExprList().size());
+ Assert.assertEquals("@cluster", or.getANDExprList().get(0).getAtomicExprList().get(0).getKey());
+ Assert.assertEquals("a", or.getANDExprList().get(0).getAtomicExprList().get(0).getValue());
+ Assert.assertEquals("=", or.getANDExprList().get(0).getAtomicExprList().get(0).getOp().toString());
+ LOG.info(or.toString());
+ Assert.assertEquals("(@cluster=\"a\")", or.toString());
+ }
+
+ @Test
+ public void testLessThanExpression() {
+ String query = "@field1<\"1\"";
+ EagleQueryParser parser = new EagleQueryParser(query);
+ ORExpression or = null;
+ try {
+ or = parser.parse();
+ } catch (EagleQueryParseException ex) {
+ Assert.fail(ex.getMessage());
+ }
+ Assert.assertTrue(or.getANDExprList().size() == 1);
+ Assert.assertEquals(1, or.getANDExprList().get(0).getAtomicExprList().size());
+ Assert.assertEquals("@field1", or.getANDExprList().get(0).getAtomicExprList().get(0).getKey());
+ Assert.assertEquals("1", or.getANDExprList().get(0).getAtomicExprList().get(0).getValue());
+ Assert.assertEquals("<", or.getANDExprList().get(0).getAtomicExprList().get(0).getOp().toString());
+ LOG.info(or.toString());
+ Assert.assertEquals("(@field1<\"1\")", or.toString());
+ }
+
+ @Test
+ public void testLessOrEqualExpression() {
+ String query = "@field1<=\"1\"";
+ EagleQueryParser parser = new EagleQueryParser(query);
+ ORExpression or = null;
+ try {
+ or = parser.parse();
+ } catch (EagleQueryParseException ex) {
+ Assert.fail(ex.getMessage());
+ }
+ Assert.assertTrue(or.getANDExprList().size() == 1);
+ Assert.assertEquals(1, or.getANDExprList().get(0).getAtomicExprList().size());
+ Assert.assertEquals("@field1", or.getANDExprList().get(0).getAtomicExprList().get(0).getKey());
+ Assert.assertEquals("1", or.getANDExprList().get(0).getAtomicExprList().get(0).getValue());
+ Assert.assertEquals("<=", or.getANDExprList().get(0).getAtomicExprList().get(0).getOp().toString());
+ LOG.info(or.toString());
+ Assert.assertEquals("(@field1<=\"1\")", or.toString());
+ }
+
+ @Test
+ public void testGreaterThanExpression() {
+ String query = "@field1>\"1\"";
+ EagleQueryParser parser = new EagleQueryParser(query);
+ ORExpression or = null;
+ try {
+ or = parser.parse();
+ } catch (EagleQueryParseException ex) {
+ Assert.fail(ex.getMessage());
+ }
+ Assert.assertTrue(or.getANDExprList().size() == 1);
+ Assert.assertEquals(1, or.getANDExprList().get(0).getAtomicExprList().size());
+ Assert.assertEquals("@field1", or.getANDExprList().get(0).getAtomicExprList().get(0).getKey());
+ Assert.assertEquals("1", or.getANDExprList().get(0).getAtomicExprList().get(0).getValue());
+ Assert.assertEquals(">", or.getANDExprList().get(0).getAtomicExprList().get(0).getOp().toString());
+ LOG.info(or.toString());
+ Assert.assertEquals("(@field1>\"1\")", or.toString());
+ }
+
+ @Test
+ public void testGreaterOrEqualExpression() {
+ String query = "@field1>=\"1\"";
+ EagleQueryParser parser = new EagleQueryParser(query);
+ ORExpression or = null;
+ try {
+ or = parser.parse();
+ } catch (EagleQueryParseException ex) {
+ Assert.fail(ex.getMessage());
+ }
+ Assert.assertTrue(or.getANDExprList().size() == 1);
+ Assert.assertEquals(1, or.getANDExprList().get(0).getAtomicExprList().size());
+ Assert.assertEquals("@field1", or.getANDExprList().get(0).getAtomicExprList().get(0).getKey());
+ Assert.assertEquals("1", or.getANDExprList().get(0).getAtomicExprList().get(0).getValue());
+ Assert.assertEquals(">=", or.getANDExprList().get(0).getAtomicExprList().get(0).getOp().toString());
+ Assert.assertEquals(TokenType.STRING, or.getANDExprList().get(0).getAtomicExprList().get(0).getValueType());
+
+ LOG.info(or.toString());
+ Assert.assertEquals("(@field1>=\"1\")", or.toString());
+ }
+
+ @Test
+ public void testMultipleANDExpression() {
+ String query = "@cluster=\"abc\" AND @host=\"dc123.xyz.com\"";
+ EagleQueryParser parser = new EagleQueryParser(query);
+ ORExpression or = null;
+ try {
+ or = parser.parse();
+ } catch (EagleQueryParseException ex) {
+ Assert.fail(ex.getMessage());
+ }
+ Assert.assertTrue(or.getANDExprList().size() == 1);
+ Assert.assertEquals(2, or.getANDExprList().get(0).getAtomicExprList().size());
+ Assert.assertEquals("@cluster", or.getANDExprList().get(0).getAtomicExprList().get(0).getKey());
+ Assert.assertEquals("abc", or.getANDExprList().get(0).getAtomicExprList().get(0).getValue());
+ Assert.assertEquals(TokenType.STRING, or.getANDExprList().get(0).getAtomicExprList().get(0).getValueType());
+ Assert.assertEquals("=", or.getANDExprList().get(0).getAtomicExprList().get(0).getOp().toString());
+ Assert.assertEquals("@host", or.getANDExprList().get(0).getAtomicExprList().get(1).getKey());
+ Assert.assertEquals("dc123.xyz.com", or.getANDExprList().get(0).getAtomicExprList().get(1).getValue());
+ Assert.assertEquals(TokenType.STRING, or.getANDExprList().get(0).getAtomicExprList().get(1).getValueType());
+ Assert.assertEquals("=", or.getANDExprList().get(0).getAtomicExprList().get(1).getOp().toString());
+ LOG.info(or.toString());
+ Assert.assertEquals("(@cluster=\"abc\" AND @host=\"dc123.xyz.com\")", or.toString());
+
+ query = "@datacenter=\"dc1\" AND @cluster=\"abc\" AND @host=\"dc123.xyz.com\" ";
+ parser = new EagleQueryParser(query);
+ try {
+ or = parser.parse();
+ } catch (EagleQueryParseException ex) {
+ Assert.fail(ex.getMessage());
+ }
+ Assert.assertTrue(or.getANDExprList().size() == 1);
+ Assert.assertEquals(3, or.getANDExprList().get(0).getAtomicExprList().size());
+ Assert.assertEquals("@datacenter", or.getANDExprList().get(0).getAtomicExprList().get(0).getKey());
+ Assert.assertEquals("dc1", or.getANDExprList().get(0).getAtomicExprList().get(0).getValue());
+ Assert.assertEquals("=", or.getANDExprList().get(0).getAtomicExprList().get(0).getOp().toString());
+ Assert.assertEquals("@cluster", or.getANDExprList().get(0).getAtomicExprList().get(1).getKey());
+ Assert.assertEquals("abc", or.getANDExprList().get(0).getAtomicExprList().get(1).getValue());
+ Assert.assertEquals("=", or.getANDExprList().get(0).getAtomicExprList().get(1).getOp().toString());
+ Assert.assertEquals("@host", or.getANDExprList().get(0).getAtomicExprList().get(2).getKey());
+ Assert.assertEquals("dc123.xyz.com", or.getANDExprList().get(0).getAtomicExprList().get(2).getValue());
+ Assert.assertEquals("=", or.getANDExprList().get(0).getAtomicExprList().get(2).getOp().toString());
+ LOG.info(or.toString());
+ Assert.assertEquals("(@datacenter=\"dc1\" AND @cluster=\"abc\" AND @host=\"dc123.xyz.com\")", or.toString());
+ }
+
+ @Test
+ public void testMultipleORExpression() {
+ String query = "@cluster=\"abc\" OR @host=\"dc123.xyz.com\"";
+ EagleQueryParser parser = new EagleQueryParser(query);
+ ORExpression or = null;
+ try {
+ or = parser.parse();
+ } catch (EagleQueryParseException ex) {
+ Assert.fail(ex.getMessage());
+ }
+ Assert.assertTrue(or.getANDExprList().size() == 2);
+ Assert.assertEquals(1, or.getANDExprList().get(0).getAtomicExprList().size());
+ Assert.assertEquals(1, or.getANDExprList().get(1).getAtomicExprList().size());
+ Assert.assertEquals("@cluster", or.getANDExprList().get(0).getAtomicExprList().get(0).getKey());
+ Assert.assertEquals("abc", or.getANDExprList().get(0).getAtomicExprList().get(0).getValue());
+ Assert.assertEquals("=", or.getANDExprList().get(0).getAtomicExprList().get(0).getOp().toString());
+ Assert.assertEquals("@host", or.getANDExprList().get(1).getAtomicExprList().get(0).getKey());
+ Assert.assertEquals("dc123.xyz.com", or.getANDExprList().get(1).getAtomicExprList().get(0).getValue());
+ Assert.assertEquals("=", or.getANDExprList().get(1).getAtomicExprList().get(0).getOp().toString());
+ Assert.assertEquals("(@cluster=\"abc\") OR (@host=\"dc123.xyz.com\")", or.toString());
+
+ query = "@datacenter=\"dc1\" OR @cluster=\"abc\" OR @host=\"dc123.xyz.com\"";
+ parser = new EagleQueryParser(query);
+ or = null;
+ try {
+ or = parser.parse();
+ } catch (EagleQueryParseException ex) {
+ Assert.fail(ex.getMessage());
+ }
+ Assert.assertTrue(or.getANDExprList().size() == 3);
+ Assert.assertEquals(1, or.getANDExprList().get(0).getAtomicExprList().size());
+ Assert.assertEquals(1, or.getANDExprList().get(1).getAtomicExprList().size());
+ Assert.assertEquals(1, or.getANDExprList().get(2).getAtomicExprList().size());
+ Assert.assertEquals("@datacenter", or.getANDExprList().get(0).getAtomicExprList().get(0).getKey());
+ Assert.assertEquals("dc1", or.getANDExprList().get(0).getAtomicExprList().get(0).getValue());
+ Assert.assertEquals("=", or.getANDExprList().get(0).getAtomicExprList().get(0).getOp().toString());
+ Assert.assertEquals("@cluster", or.getANDExprList().get(1).getAtomicExprList().get(0).getKey());
+ Assert.assertEquals("abc", or.getANDExprList().get(1).getAtomicExprList().get(0).getValue());
+ Assert.assertEquals("=", or.getANDExprList().get(1).getAtomicExprList().get(0).getOp().toString());
+ Assert.assertEquals("@host", or.getANDExprList().get(2).getAtomicExprList().get(0).getKey());
+ Assert.assertEquals("dc123.xyz.com", or.getANDExprList().get(2).getAtomicExprList().get(0).getValue());
+ Assert.assertEquals("=", or.getANDExprList().get(2).getAtomicExprList().get(0).getOp().toString());
+ Assert.assertEquals("(@datacenter=\"dc1\") OR (@cluster=\"abc\") OR (@host=\"dc123.xyz.com\")", or.toString());
+ }
+
+ @Test
+ public void testANDORCombination() {
+ String query = "@cluster=\"abc\" OR @host=\"dc123.xyz.com\" AND @datacenter=\"dc1\"";
+ EagleQueryParser parser = new EagleQueryParser(query);
+ ORExpression or = null;
+ try {
+ or = parser.parse();
+ } catch (EagleQueryParseException ex) {
+ Assert.fail(ex.getMessage());
+ }
+ LOG.info(or.toString());
+ Assert.assertEquals("(@cluster=\"abc\") OR (@host=\"dc123.xyz.com\" AND @datacenter=\"dc1\")", or.toString());
+
+ query = "(@cluster=\"abc\" AND @host=\"dc123.xyz.com\") AND @datacenter=\"dc1\"";
+ parser = new EagleQueryParser(query);
+ or = null;
+ try {
+ or = parser.parse();
+ } catch (EagleQueryParseException ex) {
+ Assert.fail(ex.getMessage());
+ }
+ LOG.info(or.toString());
+ Assert.assertEquals("(@cluster=\"abc\" AND @host=\"dc123.xyz.com\" AND @datacenter=\"dc1\")", or.toString());
+
+ query = "(@cluster=\"abc\" OR @host=\"dc123.xyz.com\") AND @datacenter=\"dc1\"";
+ parser = new EagleQueryParser(query);
+ or = null;
+ try {
+ or = parser.parse();
+ } catch (EagleQueryParseException ex) {
+ Assert.fail(ex.getMessage());
+ }
+ LOG.info(or.toString());
+ Assert.assertEquals("(@cluster=\"abc\" AND @datacenter=\"dc1\") OR (@host=\"dc123.xyz.com\" AND @datacenter=\"dc1\")", or.toString());
+
+ query = "(@cluster=\"abc\" OR @host=\"dc123.xyz.com\") AND (@datacenter=\"dc1\" OR @cluster=\"bcd\")";
+ parser = new EagleQueryParser(query);
+ or = null;
+ try {
+ or = parser.parse();
+ } catch (EagleQueryParseException ex) {
+ Assert.fail(ex.getMessage());
+ }
+ LOG.info(or.toString());
+ Assert.assertEquals("(@cluster=\"abc\" AND @datacenter=\"dc1\") OR (@cluster=\"abc\" AND @cluster=\"bcd\") OR (@host=\"dc123.xyz.com\" AND @datacenter=\"dc1\") OR (@host=\"dc123.xyz.com\" " +
+ "AND @cluster=\"bcd\")", or.toString());
+
+ query = "(@cluster=\"abc\" OR @host=\"dc123.xyz.com\") AND (@datacenter=\"dc1\" AND @cluster=\"bcd\")";
+ parser = new EagleQueryParser(query);
+ or = null;
+ try {
+ or = parser.parse();
+ } catch (EagleQueryParseException ex) {
+ Assert.fail(ex.getMessage());
+ }
+ LOG.info(or.toString());
+ Assert.assertEquals("(@cluster=\"abc\" AND @datacenter=\"dc1\" AND @cluster=\"bcd\") OR (@host=\"dc123.xyz.com\" AND @datacenter=\"dc1\" AND @cluster=\"bcd\")", or.toString());
+ }
+
+ @Test
+ public void testNegativeCase() {
+ String query = "@cluster = \"a\"";
+ EagleQueryParser parser = new EagleQueryParser(query);
+ ORExpression or = null;
+ try {
+ or = parser.parse();
+ } catch (EagleQueryParseException ex) {
+ Assert.fail(ex.getMessage());
+ }
+ LOG.info(or.toString());
+ Assert.assertEquals("(@cluster=\"a\")", or.toString());
+
+ query = "@cluster = a\"";
+ parser = new EagleQueryParser(query);
+ or = null;
+ try {
+ or = parser.parse();
+ } catch (Exception ex) {
+ LOG.error("Can not successfully parse the query:" + query, ex);
+ }
+ Assert.assertTrue(or == null);
+
+ query = "@cluster = \"\"a\"";
+ parser = new EagleQueryParser(query);
+ or = null;
+ try {
+ or = parser.parse();
+ } catch (Exception ex) {
+ LOG.error("Can not successfully parse the query:" + query, ex);
+ }
+ Assert.assertNotNull(or);
+
+ query = "@cluster=\"cluster1\" AND @datacenter=\"dc1\" AND @remediationID=8888\" AND @remediationStatus=\"status\"";
+ parser = new EagleQueryParser(query);
+ or = null;
+ try {
+ or = parser.parse();
+ } catch (Exception ex) {
+ LOG.error("Can not successfully parse the query:" + query, ex);
+ }
+ Assert.assertTrue(or == null);
+ }
+
+ @Test
+ public void testSimpleWildcardMatchQuery() {
+ String expected = "-[]/{}()*+?.\\^$|";
+ String query = "@user=\"-[]/{}()*+?.\\\\^$|\"";
+ System.out.println(query);
+ EagleQueryParser parser = new EagleQueryParser(query);
+ ORExpression or = null;
+ try {
+ or = parser.parse();
+ } catch (EagleQueryParseException ex) {
+ Assert.fail(ex.getMessage());
+ }
+ Assert.assertTrue(or.getANDExprList().size() == 1);
+ Assert.assertEquals(1, or.getANDExprList().get(0).getAtomicExprList().size());
+ Assert.assertEquals("@user", or.getANDExprList().get(0).getAtomicExprList().get(0).getKey());
+ Assert.assertEquals(expected, or.getANDExprList().get(0).getAtomicExprList().get(0).getValue());
+ Assert.assertEquals("=", or.getANDExprList().get(0).getAtomicExprList().get(0).getOp().toString());
+ LOG.info(or.toString());
+ Assert.assertEquals("(@user=\"" + expected + "\")", or.toString());
+ }
+
+ @Test
+ public void testNumberQuery() {
+ String query = "@field1 >= -1.234";
+ EagleQueryParser parser = new EagleQueryParser(query);
+ ORExpression or = null;
+ try {
+ or = parser.parse();
+ } catch (EagleQueryParseException ex) {
+ Assert.fail(ex.getMessage());
+ }
+ Assert.assertTrue(or.getANDExprList().size() == 1);
+ Assert.assertEquals(1, or.getANDExprList().get(0).getAtomicExprList().size());
+ Assert.assertEquals("@field1", or.getANDExprList().get(0).getAtomicExprList().get(0).getKey());
+ Assert.assertEquals(-1.234, Double.parseDouble(or.getANDExprList().get(0).getAtomicExprList().get(0).getValue()), 0.0001);
+ Assert.assertEquals(">=", or.getANDExprList().get(0).getAtomicExprList().get(0).getOp().toString());
+ Assert.assertEquals(TokenType.NUMBER, or.getANDExprList().get(0).getAtomicExprList().get(0).getValueType());
+ }
+
+ @Test
+ public void testContainQuery() {
+ String query = "@name contains \"jame\"";
+ EagleQueryParser parser = new EagleQueryParser(query);
+ ORExpression or = null;
+ try {
+ or = parser.parse();
+ } catch (EagleQueryParseException ex) {
+ Assert.fail(ex.getMessage());
+ }
+ Assert.assertTrue(or.getANDExprList().size() == 1);
+ Assert.assertEquals(1, or.getANDExprList().get(0).getAtomicExprList().size());
+ Assert.assertEquals("@name", or.getANDExprList().get(0).getAtomicExprList().get(0).getKey());
+ Assert.assertEquals("jame", or.getANDExprList().get(0).getAtomicExprList().get(0).getValue());
+ Assert.assertEquals("CONTAINS", or.getANDExprList().get(0).getAtomicExprList().get(0).getOp().toString());
+ Assert.assertEquals(TokenType.STRING, or.getANDExprList().get(0).getAtomicExprList().get(0).getValueType());
+ }
+
+ @Test
+ public void testNotContainQuery() {
+ String query = "@name not contains \"jame\"";
+ EagleQueryParser parser = new EagleQueryParser(query);
+ ORExpression or = null;
+ try {
+ or = parser.parse();
+ } catch (EagleQueryParseException ex) {
+ Assert.fail(ex.getMessage());
+ }
+ Assert.assertTrue(or.getANDExprList().size() == 1);
+ Assert.assertEquals(1, or.getANDExprList().get(0).getAtomicExprList().size());
+ Assert.assertEquals("@name", or.getANDExprList().get(0).getAtomicExprList().get(0).getKey());
+ Assert.assertEquals("jame", or.getANDExprList().get(0).getAtomicExprList().get(0).getValue());
+ Assert.assertEquals("NOT CONTAINS", or.getANDExprList().get(0).getAtomicExprList().get(0).getOp().toString());
+ Assert.assertEquals(TokenType.STRING, or.getANDExprList().get(0).getAtomicExprList().get(0).getValueType());
+
+ query = "@name NOT CONTAINS \"jame\"";
+ parser = new EagleQueryParser(query);
+ try {
+ or = parser.parse();
+ } catch (EagleQueryParseException ex) {
+ Assert.fail(ex.getMessage());
+ }
+ Assert.assertTrue(or.getANDExprList().size() == 1);
+ Assert.assertEquals(1, or.getANDExprList().get(0).getAtomicExprList().size());
+ Assert.assertEquals("@name", or.getANDExprList().get(0).getAtomicExprList().get(0).getKey());
+ Assert.assertEquals("jame", or.getANDExprList().get(0).getAtomicExprList().get(0).getValue());
+ Assert.assertEquals("NOT CONTAINS", or.getANDExprList().get(0).getAtomicExprList().get(0).getOp().toString());
+ Assert.assertEquals(TokenType.STRING, or.getANDExprList().get(0).getAtomicExprList().get(0).getValueType());
+
+ query = "@name NOT CONTAINS \"jame\"";
+ parser = new EagleQueryParser(query);
+ try {
+ or = parser.parse();
+ } catch (EagleQueryParseException ex) {
+ Assert.fail(ex.getMessage());
+ }
+ Assert.assertTrue(or.getANDExprList().size() == 1);
+ Assert.assertEquals(1, or.getANDExprList().get(0).getAtomicExprList().size());
+ Assert.assertEquals("@name", or.getANDExprList().get(0).getAtomicExprList().get(0).getKey());
+ Assert.assertEquals("jame", or.getANDExprList().get(0).getAtomicExprList().get(0).getValue());
+ Assert.assertEquals("NOT CONTAINS", or.getANDExprList().get(0).getAtomicExprList().get(0).getOp().toString());
+ Assert.assertEquals(TokenType.STRING, or.getANDExprList().get(0).getAtomicExprList().get(0).getValueType());
+ }
+
+ @Test
+ public void testNullQuery() {
+ String query = "@name is null";
+ EagleQueryParser parser = new EagleQueryParser(query);
+ ORExpression or = null;
+ try {
+ or = parser.parse();
+ } catch (EagleQueryParseException ex) {
+ Assert.fail(ex.getMessage());
+ }
+ Assert.assertTrue(or.getANDExprList().size() == 1);
+ Assert.assertEquals(1, or.getANDExprList().get(0).getAtomicExprList().size());
+ Assert.assertEquals("@name", or.getANDExprList().get(0).getAtomicExprList().get(0).getKey());
+ Assert.assertEquals("null", or.getANDExprList().get(0).getAtomicExprList().get(0).getValue());
+ Assert.assertEquals("IS", or.getANDExprList().get(0).getAtomicExprList().get(0).getOp().toString());
+ Assert.assertEquals(TokenType.NULL, or.getANDExprList().get(0).getAtomicExprList().get(0).getValueType());
+
+ query = "@name IS NULL";
+ parser = new EagleQueryParser(query);
+ try {
+ or = parser.parse();
+ } catch (EagleQueryParseException ex) {
+ Assert.fail(ex.getMessage());
+ }
+ Assert.assertTrue(or.getANDExprList().size() == 1);
+ Assert.assertEquals(1, or.getANDExprList().get(0).getAtomicExprList().size());
+ Assert.assertEquals("@name", or.getANDExprList().get(0).getAtomicExprList().get(0).getKey());
+ Assert.assertEquals("NULL", or.getANDExprList().get(0).getAtomicExprList().get(0).getValue());
+ Assert.assertEquals("IS", or.getANDExprList().get(0).getAtomicExprList().get(0).getOp().toString());
+ Assert.assertEquals(TokenType.NULL, or.getANDExprList().get(0).getAtomicExprList().get(0).getValueType());
+
+ query = "@name is not null";
+ parser = new EagleQueryParser(query);
+ try {
+ or = parser.parse();
+ } catch (EagleQueryParseException ex) {
+ Assert.fail(ex.getMessage());
+ }
+ Assert.assertTrue(or.getANDExprList().size() == 1);
+ Assert.assertEquals(1, or.getANDExprList().get(0).getAtomicExprList().size());
+ Assert.assertEquals("@name", or.getANDExprList().get(0).getAtomicExprList().get(0).getKey());
+ Assert.assertEquals("null", or.getANDExprList().get(0).getAtomicExprList().get(0).getValue());
+ Assert.assertEquals("IS NOT", or.getANDExprList().get(0).getAtomicExprList().get(0).getOp().toString());
+ Assert.assertEquals(TokenType.NULL, or.getANDExprList().get(0).getAtomicExprList().get(0).getValueType());
+
+ query = "@name is not NULL";
+ parser = new EagleQueryParser(query);
+ try {
+ or = parser.parse();
+ } catch (EagleQueryParseException ex) {
+ Assert.fail(ex.getMessage());
+ }
+ Assert.assertTrue(or.getANDExprList().size() == 1);
+ Assert.assertEquals(1, or.getANDExprList().get(0).getAtomicExprList().size());
+ Assert.assertEquals("@name", or.getANDExprList().get(0).getAtomicExprList().get(0).getKey());
+ Assert.assertEquals("NULL", or.getANDExprList().get(0).getAtomicExprList().get(0).getValue());
+ Assert.assertEquals("IS NOT", or.getANDExprList().get(0).getAtomicExprList().get(0).getOp().toString());
+ Assert.assertEquals(TokenType.NULL, or.getANDExprList().get(0).getAtomicExprList().get(0).getValueType());
+
+ query = "@name = NULL";
+ parser = new EagleQueryParser(query);
+ try {
+ or = parser.parse();
+ } catch (EagleQueryParseException ex) {
+ Assert.fail(ex.getMessage());
+ }
+ Assert.assertTrue(or.getANDExprList().size() == 1);
+ Assert.assertEquals(1, or.getANDExprList().get(0).getAtomicExprList().size());
+ Assert.assertEquals("@name", or.getANDExprList().get(0).getAtomicExprList().get(0).getKey());
+ Assert.assertEquals("NULL", or.getANDExprList().get(0).getAtomicExprList().get(0).getValue());
+ Assert.assertEquals("=", or.getANDExprList().get(0).getAtomicExprList().get(0).getOp().toString());
+ Assert.assertEquals(TokenType.NULL, or.getANDExprList().get(0).getAtomicExprList().get(0).getValueType());
+
+ query = "@name != NULL";
+ parser = new EagleQueryParser(query);
+ try {
+ or = parser.parse();
+ } catch (EagleQueryParseException ex) {
+ Assert.fail(ex.getMessage());
+ }
+ Assert.assertTrue(or.getANDExprList().size() == 1);
+ Assert.assertEquals(1, or.getANDExprList().get(0).getAtomicExprList().size());
+ Assert.assertEquals("@name", or.getANDExprList().get(0).getAtomicExprList().get(0).getKey());
+ Assert.assertEquals("NULL", or.getANDExprList().get(0).getAtomicExprList().get(0).getValue());
+ Assert.assertEquals("!=", or.getANDExprList().get(0).getAtomicExprList().get(0).getOp().toString());
+ Assert.assertEquals(TokenType.NULL, or.getANDExprList().get(0).getAtomicExprList().get(0).getValueType());
+ }
+
+ @Test
+ public void testIsOrIsNotQuery() {
+ String query = "@name is \"james\"";
+ EagleQueryParser parser = new EagleQueryParser(query);
+ ORExpression or = null;
+ try {
+ or = parser.parse();
+ } catch (EagleQueryParseException ex) {
+ Assert.fail(ex.getMessage());
+ }
+ Assert.assertTrue(or.getANDExprList().size() == 1);
+ Assert.assertEquals(1, or.getANDExprList().get(0).getAtomicExprList().size());
+ Assert.assertEquals("@name", or.getANDExprList().get(0).getAtomicExprList().get(0).getKey());
+ Assert.assertEquals("james", or.getANDExprList().get(0).getAtomicExprList().get(0).getValue());
+ Assert.assertEquals("IS", or.getANDExprList().get(0).getAtomicExprList().get(0).getOp().toString());
+ Assert.assertEquals(TokenType.STRING, or.getANDExprList().get(0).getAtomicExprList().get(0).getValueType());
+
+ query = "@name is not \"james\"";
+ parser = new EagleQueryParser(query);
+ try {
+ or = parser.parse();
+ } catch (EagleQueryParseException ex) {
+ Assert.fail(ex.getMessage());
+ }
+ Assert.assertTrue(or.getANDExprList().size() == 1);
+ Assert.assertEquals(1, or.getANDExprList().get(0).getAtomicExprList().size());
+ Assert.assertEquals("@name", or.getANDExprList().get(0).getAtomicExprList().get(0).getKey());
+ Assert.assertEquals("james", or.getANDExprList().get(0).getAtomicExprList().get(0).getValue());
+ Assert.assertEquals("IS NOT", or.getANDExprList().get(0).getAtomicExprList().get(0).getOp().toString());
+ Assert.assertEquals(TokenType.STRING, or.getANDExprList().get(0).getAtomicExprList().get(0).getValueType());
+
+ query = "@name is 1.234";
+ parser = new EagleQueryParser(query);
+ try {
+ or = parser.parse();
+ } catch (EagleQueryParseException ex) {
+ Assert.fail(ex.getMessage());
+ }
+ Assert.assertTrue(or.getANDExprList().size() == 1);
+ Assert.assertEquals(1, or.getANDExprList().get(0).getAtomicExprList().size());
+ Assert.assertEquals("@name", or.getANDExprList().get(0).getAtomicExprList().get(0).getKey());
+ Assert.assertEquals("1.234", or.getANDExprList().get(0).getAtomicExprList().get(0).getValue());
+ Assert.assertEquals("IS", or.getANDExprList().get(0).getAtomicExprList().get(0).getOp().toString());
+ Assert.assertEquals(TokenType.NUMBER, or.getANDExprList().get(0).getAtomicExprList().get(0).getValueType());
+
+ query = "@name is not 1.234";
+ parser = new EagleQueryParser(query);
+ try {
+ or = parser.parse();
+ } catch (EagleQueryParseException ex) {
+ Assert.fail(ex.getMessage());
+ }
+ Assert.assertTrue(or.getANDExprList().size() == 1);
+ Assert.assertEquals(1, or.getANDExprList().get(0).getAtomicExprList().size());
+ Assert.assertEquals("@name", or.getANDExprList().get(0).getAtomicExprList().get(0).getKey());
+ Assert.assertEquals("1.234", or.getANDExprList().get(0).getAtomicExprList().get(0).getValue());
+ Assert.assertEquals("IS NOT", or.getANDExprList().get(0).getAtomicExprList().get(0).getOp().toString());
+ Assert.assertEquals(TokenType.NUMBER, or.getANDExprList().get(0).getAtomicExprList().get(0).getValueType());
+ }
+
+ @Test
+ public void testINListQuery() {
+ String query = "@name in (\"jame\",\"lebron\")";
+ EagleQueryParser parser = new EagleQueryParser(query);
+ ORExpression or = null;
+ try {
+ or = parser.parse();
+ } catch (EagleQueryParseException ex) {
+ Assert.fail(ex.getMessage());
+ }
+ Assert.assertTrue(or.getANDExprList().size() == 1);
+ Assert.assertEquals(1, or.getANDExprList().get(0).getAtomicExprList().size());
+ Assert.assertEquals("@name", or.getANDExprList().get(0).getAtomicExprList().get(0).getKey());
+ Assert.assertEquals("(\"jame\",\"lebron\")", or.getANDExprList().get(0).getAtomicExprList().get(0).getValue());
+ Assert.assertEquals("IN", or.getANDExprList().get(0).getAtomicExprList().get(0).getOp().toString());
+ Assert.assertEquals(TokenType.LIST, or.getANDExprList().get(0).getAtomicExprList().get(0).getValueType());
+
+ query = "@name NOT IN (1,\"lebron\")";
+ parser = new EagleQueryParser(query);
+ try {
+ or = parser.parse();
+ } catch (EagleQueryParseException ex) {
+ Assert.fail(ex.getMessage());
+ }
+ Assert.assertTrue(or.getANDExprList().size() == 1);
+ Assert.assertEquals(1, or.getANDExprList().get(0).getAtomicExprList().size());
+ Assert.assertEquals("@name", or.getANDExprList().get(0).getAtomicExprList().get(0).getKey());
+ Assert.assertEquals("(1,\"lebron\")", or.getANDExprList().get(0).getAtomicExprList().get(0).getValue());
+ Assert.assertEquals("NOT IN", or.getANDExprList().get(0).getAtomicExprList().get(0).getOp().toString());
+ Assert.assertEquals(TokenType.LIST, or.getANDExprList().get(0).getAtomicExprList().get(0).getValueType());
+
+ query = "@name not in (1,\"lebron\")";
+ parser = new EagleQueryParser(query);
+ try {
+ or = parser.parse();
+ } catch (EagleQueryParseException ex) {
+ Assert.fail(ex.getMessage());
+ }
+ Assert.assertTrue(or.getANDExprList().size() == 1);
+ Assert.assertEquals(1, or.getANDExprList().get(0).getAtomicExprList().size());
+ Assert.assertEquals("@name", or.getANDExprList().get(0).getAtomicExprList().get(0).getKey());
+ Assert.assertEquals("(1,\"lebron\")", or.getANDExprList().get(0).getAtomicExprList().get(0).getValue());
+ Assert.assertEquals("NOT IN", or.getANDExprList().get(0).getAtomicExprList().get(0).getOp().toString());
+ Assert.assertEquals(TokenType.LIST, or.getANDExprList().get(0).getAtomicExprList().get(0).getValueType());
+ }
+
+ @Test
+ public void testEmptyString() {
+ String query = "@name = \"\"";
+ EagleQueryParser parser = new EagleQueryParser(query);
+ ORExpression or = null;
+ try {
+ or = parser.parse();
+ } catch (EagleQueryParseException ex) {
+ Assert.fail(ex.getMessage());
+ }
+ Assert.assertNotNull(or);
+ Assert.assertEquals("@name", or.getANDExprList().get(0).getAtomicExprList().get(0).getKey());
+ Assert.assertEquals("", or.getANDExprList().get(0).getAtomicExprList().get(0).getValue());
+ Assert.assertEquals("=", or.getANDExprList().get(0).getAtomicExprList().get(0).getOp().toString());
+ Assert.assertEquals(TokenType.STRING, or.getANDExprList().get(0).getAtomicExprList().get(0).getValueType());
+ }
+
+ /**
+ * Will split tokens for escaped string
+ *
+ * "va\"lue" => "va\"lue"
+ * ("va\"lue","va,lue") => ["va\\\"lue","va,lue"]
+ */
+ @Test
+ public void testEscapedQuotesString() {
+ String query = "@value = \"value\\\"content, and another content\"";
+ EagleQueryParser parser = new EagleQueryParser(query);
+ ORExpression or = null;
+ try {
+ or = parser.parse();
+ } catch (EagleQueryParseException ex) {
+ Assert.fail(ex.getMessage());
+ }
+ Assert.assertNotNull(or);
+ Assert.assertEquals("@value", or.getANDExprList().get(0).getAtomicExprList().get(0).getKey());
+ Assert.assertEquals("value\"content, and another content", or.getANDExprList().get(0).getAtomicExprList().get(0).getValue());
+ Assert.assertEquals("=", or.getANDExprList().get(0).getAtomicExprList().get(0).getOp().toString());
+ Assert.assertEquals(TokenType.STRING, or.getANDExprList().get(0).getAtomicExprList().get(0).getValueType());
+
+ query = "@value in (\"value\\\"content, and another content\",\"others item\")";
+ parser = new EagleQueryParser(query);
+ or = null;
+ try {
+ or = parser.parse();
+ } catch (EagleQueryParseException ex) {
+ Assert.fail(ex.getMessage());
+ }
+ Assert.assertNotNull(or);
+ Assert.assertEquals("@value", or.getANDExprList().get(0).getAtomicExprList().get(0).getKey());
+ Assert.assertEquals("(\"value\\\"content, and another content\",\"others item\")", or.getANDExprList().get(0).getAtomicExprList().get(0).getValue());
+ Assert.assertEquals("IN", or.getANDExprList().get(0).getAtomicExprList().get(0).getOp().toString());
+ Assert.assertEquals(TokenType.LIST, or.getANDExprList().get(0).getAtomicExprList().get(0).getValueType());
+
+ query = "@value in (\"value\\\"content, and another content\",\"others item\",-1.2345)";
+ parser = new EagleQueryParser(query);
+ or = null;
+ try {
+ or = parser.parse();
+ } catch (EagleQueryParseException ex) {
+ Assert.fail(ex.getMessage());
+ }
+ Assert.assertNotNull(or);
+ Assert.assertEquals("@value", or.getANDExprList().get(0).getAtomicExprList().get(0).getKey());
+ Assert.assertEquals("(\"value\\\"content, and another content\",\"others item\",-1.2345)", or.getANDExprList().get(0).getAtomicExprList().get(0).getValue());
+ Assert.assertEquals("IN", or.getANDExprList().get(0).getAtomicExprList().get(0).getOp().toString());
+ Assert.assertEquals(TokenType.LIST, or.getANDExprList().get(0).getAtomicExprList().get(0).getValueType());
+ }
+
+ @Test
+ public void testCompareAtomicExpression() {
+ String query = "EXP{@mapProgress} < EXP{@reduceProgress}";
+ EagleQueryParser parser = new EagleQueryParser(query);
+ ORExpression or = null;
+ try {
+ or = parser.parse();
+ } catch (EagleQueryParseException ex) {
+ Assert.fail(ex.getMessage());
+ }
+ Assert.assertTrue(or.getANDExprList().size() == 1);
+ Assert.assertEquals(1, or.getANDExprList().get(0).getAtomicExprList().size());
+ Assert.assertEquals("mapProgress", or.getANDExprList().get(0).getAtomicExprList().get(0).getKey());
+ Assert.assertEquals("reduceProgress", or.getANDExprList().get(0).getAtomicExprList().get(0).getValue());
+ Assert.assertEquals("<", or.getANDExprList().get(0).getAtomicExprList().get(0).getOp().toString());
+ Assert.assertEquals("(mapProgress3", and.getAtomicExprList().get(0).toString());
+ Assert.assertEquals("@b>10", and.getAtomicExprList().get(1).toString());
+
+ AtomicExpression leftExpression = and.getAtomicExprList().get(0);
+ Assert.assertEquals("a + b", leftExpression.getKey());
+ Assert.assertEquals(TokenType.EXP, leftExpression.getKeyType());
+ Assert.assertEquals(">", leftExpression.getOp().toString());
+ Assert.assertEquals("3", leftExpression.getValue());
+ Assert.assertEquals(TokenType.NUMBER, leftExpression.getValueType());
+ AtomicExpression rightExpression = and.getAtomicExprList().get(1);
+ Assert.assertEquals("@b", rightExpression.getKey());
+ Assert.assertEquals(TokenType.ID, rightExpression.getKeyType());
+ Assert.assertEquals(">", rightExpression.getOp().toString());
+ Assert.assertEquals("10", rightExpression.getValue());
+ Assert.assertEquals(TokenType.NUMBER, rightExpression.getValueType());
+ }
+
+ @Test
+ public void testComplexExpressionWithConditionAndNestedBrace() {
+ String query = "(EXP{(@a + @b) / ((@c + @d)*(@e)/(@d))} > EXP{@c + @d}) AND (EXP{@e + @f} > EXP{@h + @i})";
+ EagleQueryParser parser = new EagleQueryParser(query);
+ ORExpression or = null;
+ try {
+ or = parser.parse();
+ } catch (EagleQueryParseException ex) {
+ Assert.fail(ex.getMessage());
+ }
+ Assert.assertTrue(or.getANDExprList().size() == 1);
+ ANDExpression and = or.getANDExprList().get(0);
+ Assert.assertEquals(2, and.getAtomicExprList().size());
+ Assert.assertEquals("(a + b) / ((c + d)*(e)/(d))>c + d", and.getAtomicExprList().get(0).toString());
+ Assert.assertEquals("e + f>h + i", and.getAtomicExprList().get(1).toString());
+
+ AtomicExpression leftExpression = and.getAtomicExprList().get(0);
+ Assert.assertEquals("(a + b) / ((c + d)*(e)/(d))", leftExpression.getKey());
+ Assert.assertEquals(">", leftExpression.getOp().toString());
+ Assert.assertEquals("c + d", leftExpression.getValue());
+
+ AtomicExpression rightExpression = and.getAtomicExprList().get(1);
+ Assert.assertEquals("e + f", rightExpression.getKey());
+ Assert.assertEquals(">", rightExpression.getOp().toString());
+ Assert.assertEquals("h + i", rightExpression.getValue());
+ }
+
+ @Test
+ public void testNegativeExpressionCase() {
+ String query = "(EXP{(@a + @b) / ((@c + @d)*(@e)/(@d))}} > EXP{@c + @d}) AND (EXP{@e + @f} > EXP{@h + @i})";
+ EagleQueryParser parser = new EagleQueryParser(query);
+ boolean parseFail = true;
+ try {
+ parser.parse();
+ } catch (EagleQueryParseException ex) {
+ parseFail = false;
+ }
+ Assert.assertFalse(parseFail);
+
+ query = "(EXP{{(@a + @b) / ((@c + @d)*(@e)/(@d))}} > EXP{@c + @d}) AND (EXP{@e + @f} > EXP{@h + @i})";
+ parser = new EagleQueryParser(query);
+ parseFail = true;
+ try {
+ parser.parse();
+ } catch (EagleQueryParseException ex) {
+ parseFail = false;
+ }
+ Assert.assertFalse(parseFail);
+
+ query = "(EXP{(@a + @b) / ((@c + @d)*(@e)/(@d))} > EXP{@c + @d}) AND EXP{})";
+ parser = new EagleQueryParser(query);
+ parseFail = true;
+ try {
+ parser.parse();
+ } catch (EagleQueryParseException ex) {
+ parseFail = false;
+ }
+ Assert.assertFalse(parseFail);
+
+ }
+
+ @Test
+ public void testIsExpression() {
+ Assert.assertTrue(TokenConstant.isExpression("EXP{ count }"));
+ Assert.assertFalse(TokenConstant.isExpression("count"));
+ }
}
diff --git a/eagle-core/eagle-query/eagle-antlr/src/test/java/org/apache/eagle/query/parser/test/TestValueType.java b/eagle-core/eagle-query/eagle-antlr/src/test/java/org/apache/eagle/query/parser/test/TestValueType.java
index 9627b7852a..01912e702a 100755
--- a/eagle-core/eagle-query/eagle-antlr/src/test/java/org/apache/eagle/query/parser/test/TestValueType.java
+++ b/eagle-core/eagle-query/eagle-antlr/src/test/java/org/apache/eagle/query/parser/test/TestValueType.java
@@ -22,52 +22,52 @@
import org.junit.Test;
public class TestValueType {
- @Test
- public void testLocateValueType(){
- Assert.assertEquals(TokenType.EXP, TokenType.locate("EXP{ 1+1 = 2 }"));
- Assert.assertEquals(TokenType.EXP, TokenType.locate("EXP{ sum(a + b) > 1 }"));
+ @Test
+ public void testLocateValueType() {
+ Assert.assertEquals(TokenType.EXP, TokenType.locate("EXP{ 1+1 = 2 }"));
+ Assert.assertEquals(TokenType.EXP, TokenType.locate("EXP{ sum(a + b) > 1 }"));
- Assert.assertEquals(TokenType.STRING, TokenType.locate("\"\""));
- Assert.assertEquals(TokenType.STRING, TokenType.locate("\"abc\""));
+ Assert.assertEquals(TokenType.STRING, TokenType.locate("\"\""));
+ Assert.assertEquals(TokenType.STRING, TokenType.locate("\"abc\""));
- Assert.assertEquals(TokenType.LIST, TokenType.locate("(1,\"ab\")"));
- Assert.assertEquals(TokenType.LIST, TokenType.locate("(\"\",\"ab\")"));
+ Assert.assertEquals(TokenType.LIST, TokenType.locate("(1,\"ab\")"));
+ Assert.assertEquals(TokenType.LIST, TokenType.locate("(\"\",\"ab\")"));
- Assert.assertEquals(TokenType.NUMBER, TokenType.locate("1"));
- Assert.assertEquals(TokenType.NUMBER, TokenType.locate("1.234"));
- Assert.assertEquals(TokenType.NUMBER, TokenType.locate("-1.234"));
- Assert.assertEquals(TokenType.NUMBER, TokenType.locate("+1.234"));
- Assert.assertEquals(TokenType.NUMBER, TokenType.locate("- 1.234"));
- Assert.assertEquals(TokenType.NUMBER, TokenType.locate("+ 1.234"));
- Assert.assertEquals(TokenType.NUMBER, TokenType.locate(" + 1.234 "));
- Assert.assertEquals(TokenType.NUMBER, TokenType.locate(" + 1.234 "));
+ Assert.assertEquals(TokenType.NUMBER, TokenType.locate("1"));
+ Assert.assertEquals(TokenType.NUMBER, TokenType.locate("1.234"));
+ Assert.assertEquals(TokenType.NUMBER, TokenType.locate("-1.234"));
+ Assert.assertEquals(TokenType.NUMBER, TokenType.locate("+1.234"));
+ Assert.assertEquals(TokenType.NUMBER, TokenType.locate("- 1.234"));
+ Assert.assertEquals(TokenType.NUMBER, TokenType.locate("+ 1.234"));
+ Assert.assertEquals(TokenType.NUMBER, TokenType.locate(" + 1.234 "));
+ Assert.assertEquals(TokenType.NUMBER, TokenType.locate(" + 1.234 "));
- Assert.assertEquals(TokenType.NULL, TokenType.locate("null"));
- Assert.assertEquals(TokenType.NULL, TokenType.locate("NULL"));
+ Assert.assertEquals(TokenType.NULL, TokenType.locate("null"));
+ Assert.assertEquals(TokenType.NULL, TokenType.locate("NULL"));
- Assert.assertEquals(TokenType.STRING,TokenType.locate("\"SELECT start.hr AS hr,\n" +
- " ...details.inst_type(Stage-10)\""));
+ Assert.assertEquals(TokenType.STRING, TokenType.locate("\"SELECT start.hr AS hr,\n" +
+ " ...details.inst_type(Stage-10)\""));
- // Bad format
- boolean gotEx = false;
- try{
- TokenType.locate("+ 1.234.567");
- }catch (IllegalArgumentException ex){
- gotEx = true;
- }
- Assert.assertTrue(gotEx);
- }
+ // Bad format
+ boolean gotEx = false;
+ try {
+ TokenType.locate("+ 1.234.567");
+ } catch (IllegalArgumentException ex) {
+ gotEx = true;
+ }
+ Assert.assertTrue(gotEx);
+ }
- @Test
- public void testParseExpressionContent(){
- String expression = "EXP{ @fieldName /2 } AS a";
- Assert.assertEquals(" @fieldName /2 ", TokenConstant.parseExpressionContent(expression));
+ @Test
+ public void testParseExpressionContent() {
+ String expression = "EXP{ @fieldName /2 } AS a";
+ Assert.assertEquals(" @fieldName /2 ", TokenConstant.parseExpressionContent(expression));
- expression = "EXP{ @fieldName /2 } a";
- Assert.assertEquals(" @fieldName /2 ", TokenConstant.parseExpressionContent(expression));
+ expression = "EXP{ @fieldName /2 } a";
+ Assert.assertEquals(" @fieldName /2 ", TokenConstant.parseExpressionContent(expression));
- expression = "EXP{ @fieldName /2 }";
- Assert.assertEquals(" @fieldName /2 ", TokenConstant.parseExpressionContent(expression));
- }
+ expression = "EXP{ @fieldName /2 }";
+ Assert.assertEquals(" @fieldName /2 ", TokenConstant.parseExpressionContent(expression));
+ }
}
\ No newline at end of file
diff --git a/eagle-core/eagle-query/eagle-audit-base/src/main/java/org/apache/eagle/audit/common/AuditConstants.java b/eagle-core/eagle-query/eagle-audit-base/src/main/java/org/apache/eagle/audit/common/AuditConstants.java
index d8143d99ec..953e4802ef 100644
--- a/eagle-core/eagle-query/eagle-audit-base/src/main/java/org/apache/eagle/audit/common/AuditConstants.java
+++ b/eagle-core/eagle-query/eagle-audit-base/src/main/java/org/apache/eagle/audit/common/AuditConstants.java
@@ -19,17 +19,17 @@
public class AuditConstants {
- public static final String AUDIT_SERVICE_ENDPOINT = "AuditService";
-
- // HBase Operations
- public static final String AUDIT_EVENT_CREATE = "CREATE";
- public static final String AUDIT_EVENT_UPDATE = "UPDATE";
- public static final String AUDIT_EVENT_DELETE = "DELETE";
-
- // Audit table details
- public static final String AUDIT_TABLE = "serviceAudit";
- public static final String AUDIT_COLUMN_SERVICE_NAME = "serviceName";
- public static final String AUDIT_COLUMN_USER_ID = "userID";
- public static final String AUDIT_COLUMN_OPERATION = "operation";
- public static final String AUDIT_COLUMN_TIMESTAMP = "auditTimestamp";
+ public static final String AUDIT_SERVICE_ENDPOINT = "AuditService";
+
+ // HBase Operations
+ public static final String AUDIT_EVENT_CREATE = "CREATE";
+ public static final String AUDIT_EVENT_UPDATE = "UPDATE";
+ public static final String AUDIT_EVENT_DELETE = "DELETE";
+
+ // Audit table details
+ public static final String AUDIT_TABLE = "serviceAudit";
+ public static final String AUDIT_COLUMN_SERVICE_NAME = "serviceName";
+ public static final String AUDIT_COLUMN_USER_ID = "userID";
+ public static final String AUDIT_COLUMN_OPERATION = "operation";
+ public static final String AUDIT_COLUMN_TIMESTAMP = "auditTimestamp";
}
\ No newline at end of file
diff --git a/eagle-core/eagle-query/eagle-audit-base/src/main/java/org/apache/eagle/audit/common/AuditEvent.java b/eagle-core/eagle-query/eagle-audit-base/src/main/java/org/apache/eagle/audit/common/AuditEvent.java
index 8f34a9146a..b4d1cedff7 100644
--- a/eagle-core/eagle-query/eagle-audit-base/src/main/java/org/apache/eagle/audit/common/AuditEvent.java
+++ b/eagle-core/eagle-query/eagle-audit-base/src/main/java/org/apache/eagle/audit/common/AuditEvent.java
@@ -17,35 +17,35 @@
package org.apache.eagle.audit.common;
-import java.util.List;
-
import org.apache.eagle.log.base.taggedlog.TaggedLogAPIEntity;
+import java.util.List;
+
public class AuditEvent extends java.util.EventObject {
- public AuditEvent(Object source, String serviceName, List extends TaggedLogAPIEntity> auditEntities) {
- super(source);
- this.serviceName = serviceName;
- this.auditEntities = auditEntities;
- }
-
- private String serviceName;
- private List extends TaggedLogAPIEntity> auditEntities;
-
- public String getServiceName() {
- return serviceName;
- }
-
- public List extends TaggedLogAPIEntity> getAuditEntities() {
- return auditEntities;
- }
-
- public String toString() {
+ public AuditEvent(Object source, String serviceName, List extends TaggedLogAPIEntity> auditEntities) {
+ super(source);
+ this.serviceName = serviceName;
+ this.auditEntities = auditEntities;
+ }
+
+ private String serviceName;
+ private List extends TaggedLogAPIEntity> auditEntities;
+
+ public String getServiceName() {
+ return serviceName;
+ }
+
+ public List extends TaggedLogAPIEntity> getAuditEntities() {
+ return auditEntities;
+ }
+
+ public String toString() {
StringBuilder returnString = new StringBuilder(getClass().getName());
returnString.append("[");
returnString.append("serviceName=").append(getServiceName());
returnString.append("; source=").append(getSource().getClass());
returnString.append("]");
return returnString.toString();
- }
+ }
}
\ No newline at end of file
diff --git a/eagle-core/eagle-query/eagle-audit-base/src/main/java/org/apache/eagle/audit/common/AuditListenerMap.java b/eagle-core/eagle-query/eagle-audit-base/src/main/java/org/apache/eagle/audit/common/AuditListenerMap.java
index e433f53d1b..44c5576e33 100644
--- a/eagle-core/eagle-query/eagle-audit-base/src/main/java/org/apache/eagle/audit/common/AuditListenerMap.java
+++ b/eagle-core/eagle-query/eagle-audit-base/src/main/java/org/apache/eagle/audit/common/AuditListenerMap.java
@@ -21,7 +21,7 @@
import org.apache.eagle.audit.listener.AuditListenerProxy;
public final class AuditListenerMap extends BaseAuditListenerMap {
-
+
private static final AuditListener[] EMPTY = {};
@Override
diff --git a/eagle-core/eagle-query/eagle-audit-base/src/main/java/org/apache/eagle/audit/common/BaseAuditListenerMap.java b/eagle-core/eagle-query/eagle-audit-base/src/main/java/org/apache/eagle/audit/common/BaseAuditListenerMap.java
index a2c70a9b5f..e201d8f8ed 100644
--- a/eagle-core/eagle-query/eagle-audit-base/src/main/java/org/apache/eagle/audit/common/BaseAuditListenerMap.java
+++ b/eagle-core/eagle-query/eagle-audit-base/src/main/java/org/apache/eagle/audit/common/BaseAuditListenerMap.java
@@ -17,16 +17,10 @@
package org.apache.eagle.audit.common;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.EventListener;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
+import java.util.*;
import java.util.Map.Entry;
-abstract class BaseAuditListenerMap {
+abstract class BaseAuditListenerMap {
private Map map;
@@ -40,8 +34,8 @@ public final synchronized void add(String name, L listener) {
}
L[] array = this.map.get(name);
int size = (array != null)
- ? array.length
- : 0;
+ ? array.length
+ : 0;
L[] clone = newArray(size + 1);
clone[size] = listener;
@@ -63,8 +57,7 @@ public final synchronized void remove(String name, L listener) {
System.arraycopy(array, 0, clone, 0, i);
System.arraycopy(array, i + 1, clone, i, size - i);
this.map.put(name, clone);
- }
- else {
+ } else {
this.map.remove(name);
if (this.map.isEmpty()) {
this.map = null;
@@ -79,8 +72,8 @@ public final synchronized void remove(String name, L listener) {
public final synchronized L[] get(String name) {
return (this.map != null)
- ? this.map.get(name)
- : null;
+ ? this.map.get(name)
+ : null;
}
public final void set(String name, L[] listeners) {
@@ -89,8 +82,7 @@ public final void set(String name, L[] listeners) {
this.map = new HashMap();
}
this.map.put(name, listeners);
- }
- else if (this.map != null) {
+ } else if (this.map != null) {
this.map.remove(name);
if (this.map.isEmpty()) {
this.map = null;
@@ -141,8 +133,8 @@ public final synchronized boolean hasListeners(String name) {
public final Set> getEntries() {
return (this.map != null)
- ? this.map.entrySet()
- : Collections.>emptySet();
+ ? this.map.entrySet()
+ : Collections.>emptySet();
}
public abstract L extract(L listener);
diff --git a/eagle-core/eagle-query/eagle-audit-base/src/main/java/org/apache/eagle/audit/dao/ServiceAuditDAO.java b/eagle-core/eagle-query/eagle-audit-base/src/main/java/org/apache/eagle/audit/dao/ServiceAuditDAO.java
index c76708eec2..69eb57470c 100644
--- a/eagle-core/eagle-query/eagle-audit-base/src/main/java/org/apache/eagle/audit/dao/ServiceAuditDAO.java
+++ b/eagle-core/eagle-query/eagle-audit-base/src/main/java/org/apache/eagle/audit/dao/ServiceAuditDAO.java
@@ -17,74 +17,82 @@
package org.apache.eagle.audit.dao;
-import java.util.List;
-
import org.apache.eagle.audit.entity.GenericAuditEntity;
+import java.util.List;
+
public interface ServiceAuditDAO {
- /**
- * Retrieve all audits of alert definition for a specific site and data source.
- * @return
- * @throws Exception
- */
- List findPolicyAudit(String site, String dataSource) throws Exception;
+ /**
+ * Retrieve all audits of alert definition for a specific site and data source.
+ *
+ * @return
+ * @throws Exception
+ */
+ List findPolicyAudit(String site, String dataSource) throws Exception;
+
+ /**
+ * Retrieve all audits of site definition for the given site.
+ *
+ * @return
+ * @throws Exception
+ */
+ List findSiteAudit(String site) throws Exception;
+
+ /**
+ * Retrieve all audits of datasource definition for the given data source.
+ *
+ * @param dataSource
+ * @return
+ * @throws Exception
+ */
+ List findDataSourceAudit(String dataSource) throws Exception;
+
+ /**
+ * Retrieve all audits specific to a service.
+ *
+ * @param serviceName
+ * @return
+ * @throws Exception
+ */
+ List findServiceAudit(String serviceName) throws Exception;
+
+ /**
+ * Retrieve all audits specific to a service and specific to a userID.
+ *
+ * @param serviceName
+ * @param userID
+ * @return
+ * @throws Exception
+ */
+ List findServiceAuditByUser(String serviceName, String userID) throws Exception;
+
+ /**
+ * Retrieve all audits specific to a service and specific to an action.
+ *
+ * @param serviceName
+ * @param action
+ * @return
+ * @throws Exception
+ */
+ List findServiceAuditByAction(String serviceName, String action) throws Exception;
+
+ /**
+ * Retrieve all audits specific to a user.
+ *
+ * @param userID
+ * @return
+ * @throws Exception
+ */
+ List findUserServiceAudit(String userID) throws Exception;
- /**
- * Retrieve all audits of site definition for the given site.
- * @return
- * @throws Exception
- */
- List findSiteAudit(String site) throws Exception;
-
- /**
- * Retrieve all audits of datasource definition for the given data source.
- * @param dataSource
- * @return
- * @throws Exception
- */
- List findDataSourceAudit(String dataSource) throws Exception;
-
- /**
- * Retrieve all audits specific to a service.
- * @param serviceName
- * @return
- * @throws Exception
- */
- List findServiceAudit(String serviceName) throws Exception;
-
- /**
- * Retrieve all audits specific to a service and specific to a userID.
- * @param serviceName
- * @param userID
- * @return
- * @throws Exception
- */
- List findServiceAuditByUser(String serviceName, String userID) throws Exception;
-
- /**
- * Retrieve all audits specific to a service and specific to an action.
- * @param serviceName
- * @param action
- * @return
- * @throws Exception
- */
- List findServiceAuditByAction(String serviceName, String action) throws Exception;
-
- /**
- * Retrieve all audits specific to a user.
- * @param userID
- * @return
- * @throws Exception
- */
- List findUserServiceAudit(String userID) throws Exception;
-
- /**
- * Retrieve all audits specific to a user and specific to an action.
- * @param userID
- * @param action
- * @return
- * @throws Exception
- */
- List findUserServiceAuditByAction(String userID, String action) throws Exception;
+ /**
+ * Retrieve all audits specific to a user and specific to an action.
+ *
+ * @param userID
+ * @param action
+ * @return
+ * @throws Exception
+ */
+ List findUserServiceAuditByAction(String userID, String action) throws Exception;
}
\ No newline at end of file
diff --git a/eagle-core/eagle-query/eagle-audit-base/src/main/java/org/apache/eagle/audit/dao/ServiceAuditDAOImpl.java b/eagle-core/eagle-query/eagle-audit-base/src/main/java/org/apache/eagle/audit/dao/ServiceAuditDAOImpl.java
index 41332ae1f2..d3d2a0d50e 100644
--- a/eagle-core/eagle-query/eagle-audit-base/src/main/java/org/apache/eagle/audit/dao/ServiceAuditDAOImpl.java
+++ b/eagle-core/eagle-query/eagle-audit-base/src/main/java/org/apache/eagle/audit/dao/ServiceAuditDAOImpl.java
@@ -17,8 +17,6 @@
package org.apache.eagle.audit.dao;
-import java.util.List;
-
import org.apache.commons.lang.time.DateUtils;
import org.apache.eagle.audit.common.AuditConstants;
import org.apache.eagle.audit.entity.GenericAuditEntity;
@@ -29,148 +27,150 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import java.util.List;
+
public class ServiceAuditDAOImpl implements ServiceAuditDAO {
-
- private final Logger LOG = LoggerFactory.getLogger(ServiceAuditDAOImpl.class);
+
+ private static final Logger LOG = LoggerFactory.getLogger(ServiceAuditDAOImpl.class);
private final EagleServiceConnector connector;
-
- public ServiceAuditDAOImpl(EagleServiceConnector connector){
+
+ public ServiceAuditDAOImpl(EagleServiceConnector connector) {
this.connector = connector;
}
- @Override
+ @Override
public List findPolicyAudit(String site, String application) throws Exception {
- try {
- IEagleServiceClient client = new EagleServiceClientImpl(connector);
- String query = AuditConstants.AUDIT_SERVICE_ENDPOINT + "[@serviceName=\"AlertDefinitionService\" AND @site=\"" + site + "\" AND @application=\"" + application + "\"]{*}";
- GenericServiceAPIResponseEntity response = client.search().startTime(0).endTime(10 * DateUtils.MILLIS_PER_DAY).pageSize(Integer.MAX_VALUE).query(query).send();
+ try {
+ IEagleServiceClient client = new EagleServiceClientImpl(connector);
+ String query = AuditConstants.AUDIT_SERVICE_ENDPOINT + "[@serviceName=\"AlertDefinitionService\" AND @site=\"" + site + "\" AND @application=\"" + application + "\"]{*}";
+ GenericServiceAPIResponseEntity response = client.search().startTime(0).endTime(10 * DateUtils.MILLIS_PER_DAY).pageSize(Integer.MAX_VALUE).query(query).send();
client.close();
if (response.getException() != null) {
throw new Exception("Exception in querying eagle service: " + response.getException());
}
return response.getObj();
- } catch (Exception exception) {
- LOG.error("Exception in retrieving audit entry: " + exception);
- throw new IllegalStateException(exception);
- }
+ } catch (Exception exception) {
+ LOG.error("Exception in retrieving audit entry: " + exception);
+ throw new IllegalStateException(exception);
+ }
}
- @Override
+ @Override
public List findSiteAudit(String site) throws Exception {
- try {
- IEagleServiceClient client = new EagleServiceClientImpl(connector);
- String query = AuditConstants.AUDIT_SERVICE_ENDPOINT + "[@serviceName=\"AlertDataSourceService\" AND @site=\"" + site + "\"]{*}";
- GenericServiceAPIResponseEntity response = client.search().startTime(0).endTime(10 * DateUtils.MILLIS_PER_DAY).pageSize(Integer.MAX_VALUE).query(query).send();
+ try {
+ IEagleServiceClient client = new EagleServiceClientImpl(connector);
+ String query = AuditConstants.AUDIT_SERVICE_ENDPOINT + "[@serviceName=\"AlertDataSourceService\" AND @site=\"" + site + "\"]{*}";
+ GenericServiceAPIResponseEntity response = client.search().startTime(0).endTime(10 * DateUtils.MILLIS_PER_DAY).pageSize(Integer.MAX_VALUE).query(query).send();
client.close();
if (response.getException() != null) {
throw new Exception("Exception in querying eagle service: " + response.getException());
}
return response.getObj();
- } catch (Exception exception) {
- LOG.error("Exception in retrieving audit entry: " + exception);
- throw new IllegalStateException(exception);
- }
+ } catch (Exception exception) {
+ LOG.error("Exception in retrieving audit entry: " + exception);
+ throw new IllegalStateException(exception);
+ }
}
-
- @Override
+
+ @Override
public List findDataSourceAudit(String application) throws Exception {
- try {
- IEagleServiceClient client = new EagleServiceClientImpl(connector);
- String query = AuditConstants.AUDIT_SERVICE_ENDPOINT + "[@serviceName=\"AlertDataSourceService\" AND @application=\"" + application + "\"]{*}";
- GenericServiceAPIResponseEntity response = client.search().startTime(0).endTime(10 * DateUtils.MILLIS_PER_DAY).pageSize(Integer.MAX_VALUE).query(query).send();
+ try {
+ IEagleServiceClient client = new EagleServiceClientImpl(connector);
+ String query = AuditConstants.AUDIT_SERVICE_ENDPOINT + "[@serviceName=\"AlertDataSourceService\" AND @application=\"" + application + "\"]{*}";
+ GenericServiceAPIResponseEntity response = client.search().startTime(0).endTime(10 * DateUtils.MILLIS_PER_DAY).pageSize(Integer.MAX_VALUE).query(query).send();
client.close();
if (response.getException() != null) {
throw new Exception("Exception in querying eagle service: " + response.getException());
}
return response.getObj();
- } catch (Exception exception) {
- LOG.error("Exception in retrieving audit entry: " + exception);
- throw new IllegalStateException(exception);
- }
+ } catch (Exception exception) {
+ LOG.error("Exception in retrieving audit entry: " + exception);
+ throw new IllegalStateException(exception);
+ }
}
-
- @Override
- public List findServiceAudit(String serviceName) throws Exception {
- try {
- IEagleServiceClient client = new EagleServiceClientImpl(connector);
- String query = AuditConstants.AUDIT_SERVICE_ENDPOINT + "[@serviceName=\"" + serviceName + "\"]{*}";
- GenericServiceAPIResponseEntity response = client.search().startTime(0).endTime(10 * DateUtils.MILLIS_PER_DAY).pageSize(Integer.MAX_VALUE).query(query).send();
+
+ @Override
+ public List findServiceAudit(String serviceName) throws Exception {
+ try {
+ IEagleServiceClient client = new EagleServiceClientImpl(connector);
+ String query = AuditConstants.AUDIT_SERVICE_ENDPOINT + "[@serviceName=\"" + serviceName + "\"]{*}";
+ GenericServiceAPIResponseEntity response = client.search().startTime(0).endTime(10 * DateUtils.MILLIS_PER_DAY).pageSize(Integer.MAX_VALUE).query(query).send();
client.close();
if (response.getException() != null) {
throw new Exception("Exception in querying eagle service: " + response.getException());
}
return response.getObj();
- } catch (Exception exception) {
- LOG.error("Exception in retrieving audit entry: " + exception);
- throw new IllegalStateException(exception);
- }
- }
+ } catch (Exception exception) {
+ LOG.error("Exception in retrieving audit entry: " + exception);
+ throw new IllegalStateException(exception);
+ }
+ }
- @Override
- public List findServiceAuditByUser(String serviceName, String userID) throws Exception {
- try {
- IEagleServiceClient client = new EagleServiceClientImpl(connector);
- String query = AuditConstants.AUDIT_SERVICE_ENDPOINT + "[@serviceName=\"" + serviceName + "\" AND @userID=\"" + userID + "\"]{*}";
- GenericServiceAPIResponseEntity response = client.search().startTime(0).endTime(10 * DateUtils.MILLIS_PER_DAY).pageSize(Integer.MAX_VALUE).query(query).send();
+ @Override
+ public List findServiceAuditByUser(String serviceName, String userID) throws Exception {
+ try {
+ IEagleServiceClient client = new EagleServiceClientImpl(connector);
+ String query = AuditConstants.AUDIT_SERVICE_ENDPOINT + "[@serviceName=\"" + serviceName + "\" AND @userID=\"" + userID + "\"]{*}";
+ GenericServiceAPIResponseEntity response = client.search().startTime(0).endTime(10 * DateUtils.MILLIS_PER_DAY).pageSize(Integer.MAX_VALUE).query(query).send();
client.close();
if (response.getException() != null) {
throw new Exception("Exception in querying eagle service: " + response.getException());
}
return response.getObj();
- } catch (Exception exception) {
- LOG.error("Exception in retrieving audit entry: " + exception);
- throw new IllegalStateException(exception);
- }
- }
+ } catch (Exception exception) {
+ LOG.error("Exception in retrieving audit entry: " + exception);
+ throw new IllegalStateException(exception);
+ }
+ }
- @Override
- public List findServiceAuditByAction(String serviceName, String action) throws Exception {
- try {
- IEagleServiceClient client = new EagleServiceClientImpl(connector);
- String query = AuditConstants.AUDIT_SERVICE_ENDPOINT + "[@serviceName=\"" + serviceName + "\" AND @actionTaken=\"" + action + "\"]{*}";
- GenericServiceAPIResponseEntity response = client.search().startTime(0).endTime(10 * DateUtils.MILLIS_PER_DAY).pageSize(Integer.MAX_VALUE).query(query).send();
+ @Override
+ public List findServiceAuditByAction(String serviceName, String action) throws Exception {
+ try {
+ IEagleServiceClient client = new EagleServiceClientImpl(connector);
+ String query = AuditConstants.AUDIT_SERVICE_ENDPOINT + "[@serviceName=\"" + serviceName + "\" AND @actionTaken=\"" + action + "\"]{*}";
+ GenericServiceAPIResponseEntity response = client.search().startTime(0).endTime(10 * DateUtils.MILLIS_PER_DAY).pageSize(Integer.MAX_VALUE).query(query).send();
client.close();
if (response.getException() != null) {
throw new Exception("Exception in querying eagle service: " + response.getException());
}
return response.getObj();
- } catch (Exception exception) {
- LOG.error("Exception in retrieving audit entry: " + exception);
- throw new IllegalStateException(exception);
- }
- }
+ } catch (Exception exception) {
+ LOG.error("Exception in retrieving audit entry: " + exception);
+ throw new IllegalStateException(exception);
+ }
+ }
- @Override
- public List findUserServiceAudit(String userID) throws Exception {
- try {
- IEagleServiceClient client = new EagleServiceClientImpl(connector);
- String query = AuditConstants.AUDIT_SERVICE_ENDPOINT + "[@userID=\"" + userID + "\"]{*}";
- GenericServiceAPIResponseEntity response = client.search().startTime(0).endTime(10 * DateUtils.MILLIS_PER_DAY).pageSize(Integer.MAX_VALUE).query(query).send();
+ @Override
+ public List findUserServiceAudit(String userID) throws Exception {
+ try {
+ IEagleServiceClient client = new EagleServiceClientImpl(connector);
+ String query = AuditConstants.AUDIT_SERVICE_ENDPOINT + "[@userID=\"" + userID + "\"]{*}";
+ GenericServiceAPIResponseEntity response = client.search().startTime(0).endTime(10 * DateUtils.MILLIS_PER_DAY).pageSize(Integer.MAX_VALUE).query(query).send();
client.close();
if (response.getException() != null) {
throw new Exception("Exception in querying eagle service: " + response.getException());
}
return response.getObj();
- } catch (Exception exception) {
- LOG.error("Exception in retrieving audit entry: " + exception);
- throw new IllegalStateException(exception);
- }
- }
+ } catch (Exception exception) {
+ LOG.error("Exception in retrieving audit entry: " + exception);
+ throw new IllegalStateException(exception);
+ }
+ }
- @Override
- public List findUserServiceAuditByAction(String userID, String action) throws Exception {
- try {
- IEagleServiceClient client = new EagleServiceClientImpl(connector);
- String query = AuditConstants.AUDIT_SERVICE_ENDPOINT + "[@userID=\"" + userID + "\" AND @actionTaken=\"" + action + "\"]{*}";
- GenericServiceAPIResponseEntity response = client.search().startTime(0).endTime(10 * DateUtils.MILLIS_PER_DAY).pageSize(Integer.MAX_VALUE).query(query).send();
+ @Override
+ public List findUserServiceAuditByAction(String userID, String action) throws Exception {
+ try {
+ IEagleServiceClient client = new EagleServiceClientImpl(connector);
+ String query = AuditConstants.AUDIT_SERVICE_ENDPOINT + "[@userID=\"" + userID + "\" AND @actionTaken=\"" + action + "\"]{*}";
+ GenericServiceAPIResponseEntity response = client.search().startTime(0).endTime(10 * DateUtils.MILLIS_PER_DAY).pageSize(Integer.MAX_VALUE).query(query).send();
client.close();
if (response.getException() != null) {
throw new Exception("Exception in querying eagle service: " + response.getException());
}
return response.getObj();
- } catch (Exception exception) {
- LOG.error("Exception in retrieving audit entry: " + exception);
- throw new IllegalStateException(exception);
- }
- }
+ } catch (Exception exception) {
+ LOG.error("Exception in retrieving audit entry: " + exception);
+ throw new IllegalStateException(exception);
+ }
+ }
}
\ No newline at end of file
diff --git a/eagle-core/eagle-query/eagle-audit-base/src/main/java/org/apache/eagle/audit/entity/GenericAuditEntity.java b/eagle-core/eagle-query/eagle-audit-base/src/main/java/org/apache/eagle/audit/entity/GenericAuditEntity.java
index 1a365ff691..4618276c71 100644
--- a/eagle-core/eagle-query/eagle-audit-base/src/main/java/org/apache/eagle/audit/entity/GenericAuditEntity.java
+++ b/eagle-core/eagle-query/eagle-audit-base/src/main/java/org/apache/eagle/audit/entity/GenericAuditEntity.java
@@ -19,62 +19,58 @@
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.eagle.log.base.taggedlog.TaggedLogAPIEntity;
-import org.apache.eagle.log.entity.meta.ColumnFamily;
-import org.apache.eagle.log.entity.meta.Prefix;
-import org.apache.eagle.log.entity.meta.Service;
-import org.apache.eagle.log.entity.meta.Table;
-import org.apache.eagle.log.entity.meta.Tags;
-import org.apache.eagle.log.entity.meta.TimeSeries;
+import org.apache.eagle.log.entity.meta.*;
import org.codehaus.jackson.annotate.JsonIgnoreProperties;
import org.codehaus.jackson.map.annotate.JsonSerialize;
-import static org.apache.eagle.audit.common.AuditConstants.AUDIT_COLUMN_OPERATION;
-import static org.apache.eagle.audit.common.AuditConstants.AUDIT_COLUMN_SERVICE_NAME;
-import static org.apache.eagle.audit.common.AuditConstants.AUDIT_COLUMN_TIMESTAMP;
-import static org.apache.eagle.audit.common.AuditConstants.AUDIT_COLUMN_USER_ID;
-import static org.apache.eagle.audit.common.AuditConstants.AUDIT_SERVICE_ENDPOINT;
-import static org.apache.eagle.audit.common.AuditConstants.AUDIT_TABLE;
+import static org.apache.eagle.audit.common.AuditConstants.*;
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)
+@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
@Table(AUDIT_TABLE)
@ColumnFamily("f")
@Prefix(AUDIT_TABLE)
@Service(AUDIT_SERVICE_ENDPOINT)
@JsonIgnoreProperties(ignoreUnknown = true)
@TimeSeries(false)
-@Tags({AUDIT_COLUMN_SERVICE_NAME, AUDIT_COLUMN_USER_ID, AUDIT_COLUMN_OPERATION, AUDIT_COLUMN_TIMESTAMP})
+@Tags( {AUDIT_COLUMN_SERVICE_NAME, AUDIT_COLUMN_USER_ID, AUDIT_COLUMN_OPERATION, AUDIT_COLUMN_TIMESTAMP})
public class GenericAuditEntity extends TaggedLogAPIEntity {
-
- public boolean equals (Object obj) {
- if(obj == this)
- return true;
- if(!(obj instanceof GenericAuditEntity))
- return false;
- GenericAuditEntity that = (GenericAuditEntity) obj;
- if(compare(that.getTags().get(AUDIT_COLUMN_SERVICE_NAME), this.getTags().get(AUDIT_COLUMN_SERVICE_NAME)) &&
- compare(that.getTags().get(AUDIT_COLUMN_USER_ID), this.getTags().get(AUDIT_COLUMN_USER_ID)) &&
- compare(that.getTags().get(AUDIT_COLUMN_OPERATION), this.getTags().get(AUDIT_COLUMN_OPERATION)) &&
- compare(that.getTags().get(AUDIT_COLUMN_TIMESTAMP), this.getTags().get(AUDIT_COLUMN_TIMESTAMP)))
- return true;
- return false;
- }
-
- private boolean compare(String a, String b){
- if(a == b)
- return true;
- if(a == null || b == null)
- return false;
- if(a.equals(b))
- return true;
- return false;
- }
- public int hashCode(){
- HashCodeBuilder builder = new HashCodeBuilder();
- builder.append(getTags().get(AUDIT_COLUMN_SERVICE_NAME));
- builder.append(getTags().get(AUDIT_COLUMN_USER_ID));
- builder.append(getTags().get(AUDIT_COLUMN_OPERATION));
- builder.append(getTags().get(AUDIT_COLUMN_TIMESTAMP));
- return builder.toHashCode();
- }
+ public boolean equals(Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof GenericAuditEntity)) {
+ return false;
+ }
+ GenericAuditEntity that = (GenericAuditEntity) obj;
+ if (compare(that.getTags().get(AUDIT_COLUMN_SERVICE_NAME), this.getTags().get(AUDIT_COLUMN_SERVICE_NAME))
+ && compare(that.getTags().get(AUDIT_COLUMN_USER_ID), this.getTags().get(AUDIT_COLUMN_USER_ID))
+ && compare(that.getTags().get(AUDIT_COLUMN_OPERATION), this.getTags().get(AUDIT_COLUMN_OPERATION))
+ && compare(that.getTags().get(AUDIT_COLUMN_TIMESTAMP), this.getTags().get(AUDIT_COLUMN_TIMESTAMP))) {
+ return true;
+ }
+ return false;
+ }
+
+ private boolean compare(String a, String b) {
+ if (a == b) {
+ return true;
+ }
+ if (a == null || b == null) {
+ return false;
+ }
+ if (a.equals(b)) {
+ return true;
+ }
+ return false;
+ }
+
+ public int hashCode() {
+ HashCodeBuilder builder = new HashCodeBuilder();
+ builder.append(getTags().get(AUDIT_COLUMN_SERVICE_NAME));
+ builder.append(getTags().get(AUDIT_COLUMN_USER_ID));
+ builder.append(getTags().get(AUDIT_COLUMN_OPERATION));
+ builder.append(getTags().get(AUDIT_COLUMN_TIMESTAMP));
+ return builder.toHashCode();
+ }
}
\ No newline at end of file
diff --git a/eagle-core/eagle-query/eagle-audit-base/src/main/java/org/apache/eagle/audit/entity/repo/AuditEntityRepository.java b/eagle-core/eagle-query/eagle-audit-base/src/main/java/org/apache/eagle/audit/entity/repo/AuditEntityRepository.java
index bfcc5f6452..a9963b4d79 100755
--- a/eagle-core/eagle-query/eagle-audit-base/src/main/java/org/apache/eagle/audit/entity/repo/AuditEntityRepository.java
+++ b/eagle-core/eagle-query/eagle-audit-base/src/main/java/org/apache/eagle/audit/entity/repo/AuditEntityRepository.java
@@ -22,7 +22,7 @@
public class AuditEntityRepository extends EntityRepository {
- public AuditEntityRepository() {
- entitySet.add(GenericAuditEntity.class);
- }
+ public AuditEntityRepository() {
+ entitySet.add(GenericAuditEntity.class);
+ }
}
diff --git a/eagle-core/eagle-query/eagle-audit-base/src/main/java/org/apache/eagle/audit/listener/AuditListener.java b/eagle-core/eagle-query/eagle-audit-base/src/main/java/org/apache/eagle/audit/listener/AuditListener.java
index 422cc99e66..1716a38210 100644
--- a/eagle-core/eagle-query/eagle-audit-base/src/main/java/org/apache/eagle/audit/listener/AuditListener.java
+++ b/eagle-core/eagle-query/eagle-audit-base/src/main/java/org/apache/eagle/audit/listener/AuditListener.java
@@ -20,6 +20,6 @@
import org.apache.eagle.audit.common.AuditEvent;
public interface AuditListener extends java.util.EventListener {
-
- void auditEvent(AuditEvent event);
+
+ void auditEvent(AuditEvent event);
}
\ No newline at end of file
diff --git a/eagle-core/eagle-query/eagle-audit-base/src/main/java/org/apache/eagle/audit/listener/AuditListenerProxy.java b/eagle-core/eagle-query/eagle-audit-base/src/main/java/org/apache/eagle/audit/listener/AuditListenerProxy.java
index a63ca38b3d..d0a6a73b3f 100644
--- a/eagle-core/eagle-query/eagle-audit-base/src/main/java/org/apache/eagle/audit/listener/AuditListenerProxy.java
+++ b/eagle-core/eagle-query/eagle-audit-base/src/main/java/org/apache/eagle/audit/listener/AuditListenerProxy.java
@@ -17,25 +17,25 @@
package org.apache.eagle.audit.listener;
-import java.util.EventListenerProxy;
-
import org.apache.eagle.audit.common.AuditEvent;
+import java.util.EventListenerProxy;
+
public class AuditListenerProxy extends EventListenerProxy implements AuditListener {
- private final String propertyName;
-
- public String getPropertyName() {
- return propertyName;
- }
-
- public AuditListenerProxy(String propertyName, AuditListener listener) {
- super(listener);
- this.propertyName = propertyName;
- }
-
- @Override
- public void auditEvent(AuditEvent event) {
- getListener().auditEvent(event);
- }
+ private final String propertyName;
+
+ public String getPropertyName() {
+ return propertyName;
+ }
+
+ public AuditListenerProxy(String propertyName, AuditListener listener) {
+ super(listener);
+ this.propertyName = propertyName;
+ }
+
+ @Override
+ public void auditEvent(AuditEvent event) {
+ getListener().auditEvent(event);
+ }
}
\ No newline at end of file
diff --git a/eagle-core/eagle-query/eagle-audit-base/src/main/java/org/apache/eagle/audit/listener/AuditSupport.java b/eagle-core/eagle-query/eagle-audit-base/src/main/java/org/apache/eagle/audit/listener/AuditSupport.java
index 39ac46f21f..837724e445 100644
--- a/eagle-core/eagle-query/eagle-audit-base/src/main/java/org/apache/eagle/audit/listener/AuditSupport.java
+++ b/eagle-core/eagle-query/eagle-audit-base/src/main/java/org/apache/eagle/audit/listener/AuditSupport.java
@@ -17,76 +17,83 @@
package org.apache.eagle.audit.listener;
-import java.io.Serializable;
-import java.util.List;
-
import org.apache.eagle.audit.common.AuditEvent;
import org.apache.eagle.audit.common.AuditListenerMap;
import org.apache.eagle.audit.entity.GenericAuditEntity;
+import java.io.Serializable;
+import java.util.List;
+
public class AuditSupport implements Serializable {
-
- private AuditListenerMap map = new AuditListenerMap();
+
+ private AuditListenerMap map = new AuditListenerMap();
public AuditSupport(Object sourceBean) {
- if (sourceBean == null)
+ if (sourceBean == null) {
throw new NullPointerException();
+ }
source = sourceBean;
}
-
- public void addAuditListener(AuditListener listener) {
- if (listener == null)
- return;
- if (listener instanceof AuditListenerProxy) {
- AuditListenerProxy proxy = (AuditListenerProxy) listener;
- addAuditListener(proxy.getPropertyName(), proxy.getListener());
- } else {
- this.map.add(null, listener);
- }
- }
-
+
+ public void addAuditListener(AuditListener listener) {
+ if (listener == null) {
+ return;
+ }
+ if (listener instanceof AuditListenerProxy) {
+ AuditListenerProxy proxy = (AuditListenerProxy) listener;
+ addAuditListener(proxy.getPropertyName(), proxy.getListener());
+ } else {
+ this.map.add(null, listener);
+ }
+ }
+
public void addAuditListener(String propertyName, AuditListener listener) {
- if (listener == null || propertyName == null)
- return;
- listener = this.map.extract(listener);
- if (listener != null)
- this.map.add(propertyName, listener);
+ if (listener == null || propertyName == null) {
+ return;
+ }
+ listener = this.map.extract(listener);
+ if (listener != null) {
+ this.map.add(propertyName, listener);
+ }
}
-
- public void removeAuditListener(AuditListener listener) {
- if (listener == null)
- return;
- if (listener instanceof AuditListenerProxy) {
- AuditListenerProxy proxy = (AuditListenerProxy) listener;
- removeAuditListener(proxy.getPropertyName(), proxy.getListener());
- } else {
- this.map.remove(null, listener);
- }
- }
-
+
+ public void removeAuditListener(AuditListener listener) {
+ if (listener == null) {
+ return;
+ }
+ if (listener instanceof AuditListenerProxy) {
+ AuditListenerProxy proxy = (AuditListenerProxy) listener;
+ removeAuditListener(proxy.getPropertyName(), proxy.getListener());
+ } else {
+ this.map.remove(null, listener);
+ }
+ }
+
public void removeAuditListener(String propertyName, AuditListener listener) {
- if (listener == null || propertyName == null)
- return;
- listener = this.map.extract(listener);
- if (listener != null)
- this.map.remove(propertyName, listener);
+ if (listener == null || propertyName == null) {
+ return;
+ }
+ listener = this.map.extract(listener);
+ if (listener != null) {
+ this.map.remove(propertyName, listener);
+ }
}
-
+
public void fireAudit(String serviceName, List auditEntities) {
if (null != serviceName && null != auditEntities && 0 != auditEntities.size()) {
- fireAudit(new AuditEvent(this.source, serviceName, auditEntities));
+ fireAudit(new AuditEvent(this.source, serviceName, auditEntities));
}
}
-
+
public void fireAudit(AuditEvent event) {
- if (null != event.getAuditEntities() && 0 != event.getAuditEntities().size()) {
- AuditListener[] common = this.map.get(null);
- AuditListener[] named = (null != event.getServiceName()) ? this.map.get(event.getServiceName()) : null;
- fire(common, event);
- fire(named, event);
- }
+ if (null != event.getAuditEntities() && 0 != event.getAuditEntities().size()) {
+ AuditListener[] common = this.map.get(null);
+ AuditListener[] named = (null != event.getServiceName()) ? this.map.get(event.getServiceName()) : null;
+ fire(common, event);
+ fire(named, event);
+ }
}
-
+
private static void fire(AuditListener[] listeners, AuditEvent event) {
if (listeners != null) {
for (AuditListener listener : listeners) {
@@ -94,18 +101,18 @@ private static void fire(AuditListener[] listeners, AuditEvent event) {
}
}
}
-
+
public AuditListener[] getAuditListeners() {
return this.map.getListeners();
}
-
+
public AuditListener[] getAuditListeners(String propertyName) {
return this.map.getListeners(propertyName);
}
-
+
public boolean hasListeners(String propertyName) {
return this.map.hasListeners(propertyName);
}
-
+
private Object source;
}
\ No newline at end of file
diff --git a/eagle-core/eagle-query/eagle-client-base/pom.xml b/eagle-core/eagle-query/eagle-client-base/pom.xml
index 41a02c577b..01aff7e3d8 100644
--- a/eagle-core/eagle-query/eagle-client-base/pom.xml
+++ b/eagle-core/eagle-query/eagle-client-base/pom.xml
@@ -66,5 +66,17 @@
jersey-client
+
+
+
+ org.apache.maven.plugins
+ maven-checkstyle-plugin
+
+ true
+ true
+
+
+
+
diff --git a/eagle-core/eagle-query/eagle-client-base/src/main/java/org/apache/eagle/service/client/EagleServiceAsyncClient.java b/eagle-core/eagle-query/eagle-client-base/src/main/java/org/apache/eagle/service/client/EagleServiceAsyncClient.java
index 48e71f5a90..8d7d135aa3 100644
--- a/eagle-core/eagle-query/eagle-client-base/src/main/java/org/apache/eagle/service/client/EagleServiceAsyncClient.java
+++ b/eagle-core/eagle-query/eagle-client-base/src/main/java/org/apache/eagle/service/client/EagleServiceAsyncClient.java
@@ -25,29 +25,27 @@
import java.util.concurrent.Future;
/**
+ * EagleServiceAsyncClient.
* @see IEagleServiceClient
*/
-public interface EagleServiceAsyncClient extends Closeable{
+public interface EagleServiceAsyncClient extends Closeable {
/**
- *
* @param
* @param entities
* @param serviceName
* @return
*/
- Future> create(final List entities,final String serviceName) throws IOException, EagleServiceClientException;
+ Future> create(final List entities, final String serviceName) throws IOException, EagleServiceClientException;
/**
- *
* @param entities
* @param entityClass
* @param
* @return
*/
- Future> create(final List entities,final Class entityClass) throws IOException, EagleServiceClientException;
+ Future> create(final List entities, final Class entityClass) throws IOException, EagleServiceClientException;
/**
- *
* @param entities
* @param
* @return
@@ -55,7 +53,6 @@ public interface EagleServiceAsyncClient extends Closeable{
Future> create(final List entities) throws IOException, EagleServiceClientException;
/**
- *
* @param entities
* @param
* @return
@@ -63,23 +60,21 @@ public interface EagleServiceAsyncClient extends Closeable{
Future> delete(final List entities) throws IOException, EagleServiceClientException;
/**
- *
* @param entities
* @param
* @return
*/
- Future> delete(final List entities,final String serviceName) throws IOException, EagleServiceClientException;
+ Future> delete(final List entities, final String serviceName) throws IOException, EagleServiceClientException;
/**
- *
* @param entities
* @param
* @return
*/
- Future> delete(final List entities,final Class entityClass) throws IOException, EagleServiceClientException;
+ Future> delete(final List entities, final Class entityClass) throws IOException, EagleServiceClientException;
/**
- *
+ * delete.
* @param request
* @return
*/
@@ -93,23 +88,20 @@ public interface EagleServiceAsyncClient extends Closeable{
Future> update(final List entities) throws IOException, EagleServiceClientException;
/**
- *
* @param entities
* @param
* @return
*/
- Future> update(final List entities,final String serviceName) throws IOException, EagleServiceClientException;
+ Future> update(final List entities, final String serviceName) throws IOException, EagleServiceClientException;
/**
- *
* @param entities
* @param
* @return
*/
- Future> update(final List entities,final Class entityClass) throws IOException, EagleServiceClientException;
+ Future> update(final List entities, final Class entityClass) throws IOException, EagleServiceClientException;
/**
- *
* @param request
* @return
*/
diff --git a/eagle-core/eagle-query/eagle-client-base/src/main/java/org/apache/eagle/service/client/EagleServiceClientException.java b/eagle-core/eagle-query/eagle-client-base/src/main/java/org/apache/eagle/service/client/EagleServiceClientException.java
index d3845db1c2..136b4d150b 100644
--- a/eagle-core/eagle-query/eagle-client-base/src/main/java/org/apache/eagle/service/client/EagleServiceClientException.java
+++ b/eagle-core/eagle-query/eagle-client-base/src/main/java/org/apache/eagle/service/client/EagleServiceClientException.java
@@ -17,25 +17,22 @@
package org.apache.eagle.service.client;
/**
- * Default Eagle service client exception class
+ * Default Eagle service client exception class.
*/
public class EagleServiceClientException extends Exception {
- /**
- *
- */
- private static final long serialVersionUID = 1710851110199812779L;
+ private static final long serialVersionUID = 1710851110199812779L;
- /**
- * Default constructor of EagleServiceClientException
- */
+ /**
+ * Default constructor of EagleServiceClientException.
+ */
public EagleServiceClientException() {
super();
}
/**
- * Constructor of EagleServiceClientException
- *
+ * Constructor of EagleServiceClientException.
+ *
* @param message error message
*/
public EagleServiceClientException(String message) {
@@ -43,19 +40,18 @@ public EagleServiceClientException(String message) {
}
/**
- * Constructor of EagleServiceClientException
- *
+ * Constructor of EagleServiceClientException.
+ *
* @param message error message
- * @param cause the cause of the exception
- *
+ * @param cause the cause of the exception
*/
public EagleServiceClientException(String message, Throwable cause) {
super(message, cause);
}
/**
- * Constructor of EagleServiceClientException
- *
+ * Constructor of EagleServiceClientException.
+ *
* @param cause the cause of the exception
*/
public EagleServiceClientException(Throwable cause) {
diff --git a/eagle-core/eagle-query/eagle-client-base/src/main/java/org/apache/eagle/service/client/EagleServiceConnector.java b/eagle-core/eagle-query/eagle-client-base/src/main/java/org/apache/eagle/service/client/EagleServiceConnector.java
index d06a3e4550..70a919292c 100644
--- a/eagle-core/eagle-query/eagle-client-base/src/main/java/org/apache/eagle/service/client/EagleServiceConnector.java
+++ b/eagle-core/eagle-query/eagle-client-base/src/main/java/org/apache/eagle/service/client/EagleServiceConnector.java
@@ -25,25 +25,25 @@
/**
* Some common codes to enable DAO through eagle service including service host/post, credential population etc.
*/
-public class EagleServiceConnector implements Serializable{
+public class EagleServiceConnector implements Serializable {
private final String eagleServiceHost;
private final Integer eagleServicePort;
private String username;
private String password;
- public String getEagleServiceHost(){
+ public String getEagleServiceHost() {
return this.eagleServiceHost;
}
- public Integer getEagleServicePort(){
+ public Integer getEagleServicePort() {
return this.eagleServicePort;
}
- public String getUsername(){
+ public String getUsername() {
return username;
}
- public String getPassword(){
+ public String getPassword() {
return password;
}
@@ -58,10 +58,11 @@ public EagleServiceConnector(String eagleServiceHost, Integer eagleServicePort,
this.password = password;
}
- public EagleServiceConnector(Config config){
+ public EagleServiceConnector(Config config) {
this.eagleServiceHost = config.getString(EagleConfigConstants.EAGLE_PROPS + "." + EagleConfigConstants.EAGLE_SERVICE + "." + EagleConfigConstants.HOST);
this.eagleServicePort = config.getInt(EagleConfigConstants.EAGLE_PROPS + "." + EagleConfigConstants.EAGLE_SERVICE + "." + EagleConfigConstants.PORT);
- if (config.hasPath(EagleConfigConstants.EAGLE_PROPS + "." + EagleConfigConstants.EAGLE_SERVICE + "." + EagleConfigConstants.USERNAME) && config.hasPath(EagleConfigConstants.EAGLE_PROPS + "." + EagleConfigConstants.EAGLE_SERVICE + "." + EagleConfigConstants.PASSWORD)) {
+ if (config.hasPath(EagleConfigConstants.EAGLE_PROPS + "." + EagleConfigConstants.EAGLE_SERVICE + "." + EagleConfigConstants.USERNAME) && config.hasPath(EagleConfigConstants.EAGLE_PROPS + ""
+ + "." + EagleConfigConstants.EAGLE_SERVICE + "." + EagleConfigConstants.PASSWORD)) {
this.username = config.getString(EagleConfigConstants.EAGLE_PROPS + "." + EagleConfigConstants.EAGLE_SERVICE + "." + EagleConfigConstants.USERNAME);
this.password = config.getString(EagleConfigConstants.EAGLE_PROPS + "." + EagleConfigConstants.EAGLE_SERVICE + "." + EagleConfigConstants.PASSWORD);
}
diff --git a/eagle-core/eagle-query/eagle-client-base/src/main/java/org/apache/eagle/service/client/EagleServiceGroupByQueryRequest.java b/eagle-core/eagle-query/eagle-client-base/src/main/java/org/apache/eagle/service/client/EagleServiceGroupByQueryRequest.java
index e9e58c3f75..567980c0a4 100644
--- a/eagle-core/eagle-query/eagle-client-base/src/main/java/org/apache/eagle/service/client/EagleServiceGroupByQueryRequest.java
+++ b/eagle-core/eagle-query/eagle-client-base/src/main/java/org/apache/eagle/service/client/EagleServiceGroupByQueryRequest.java
@@ -21,153 +21,172 @@
import java.util.List;
public class EagleServiceGroupByQueryRequest {
-
- private String filter;
- private String startRowkey;
- private int pageSize;
- private String startTime;
- private String endTime;
- private List groupBys;
- private List returns;
- private List orderBys;
- private String metricName;
- private int intervalMin;
-
- public String getMetricName() {
- return metricName;
- }
- public void setMetricName(String metricName) {
- this.metricName = metricName;
- }
- public String getFilter() {
- return filter;
- }
- public void setFilter(String filter) {
- this.filter = filter;
- }
- public String getStartRowkey() {
- return startRowkey;
- }
- public void setStartRowkey(String startRowkey) {
- this.startRowkey = startRowkey;
- }
- public int getPageSize() {
- return pageSize;
- }
- public void setPageSize(int pageSize) {
- this.pageSize = pageSize;
- }
- public String getStartTime() {
- return startTime;
- }
- public void setStartTime(String startTime) {
- this.startTime = startTime;
- }
- public String getEndTime() {
- return endTime;
- }
- public void setEndTime(String endTime) {
- this.endTime = endTime;
- }
- public List getGroupBys() {
- return groupBys;
- }
- public void setGroupBys(List groupBys) {
- this.groupBys = groupBys;
- }
- public List getOrderBys() {
- return orderBys;
- }
- public void setOrderBys(List orderBys) {
- this.orderBys = orderBys;
- }
- public List getReturns() {
- return returns;
- }
- public void setReturns(List returns) {
- this.returns = returns;
- }
-
- public String getQueryParameterString(String service) throws EagleServiceClientException {
- if (pageSize <= 0) {
- throw new EagleServiceClientException("pageSize can't be less than 1, pageSize: " + pageSize);
- }
- try {
- final String query = getQuery();
- final StringBuilder sb = new StringBuilder();
- // query
- sb.append("query=").append(service).append(URLEncoder.encode(query, "UTF-8"));
- // startRowkey
- if (startRowkey != null) {
- sb.append("&startRowkey=").append(startRowkey);
- }
- // pageSize
- sb.append("&pageSize=").append(this.pageSize);
- if (startTime != null || endTime != null) {
- sb.append("&startTime=").append(URLEncoder.encode(startTime, "UTF-8"));
- sb.append("&endTime=").append(URLEncoder.encode(endTime, "UTF-8"));
- }
-
- // metricName
- if(metricName != null){
- sb.append("&metricName=" + metricName);
- }
-
- if (intervalMin != 0) {
- sb.append("&timeSeries=true&intervalmin=" + intervalMin);
- }
- return sb.toString();
- } catch (UnsupportedEncodingException e) {
- throw new EagleServiceClientException("Got an UnsupportedEncodingException" + e.getMessage(), e);
- }
- }
-
- private String getQuery() {
- final StringBuilder sb = new StringBuilder();
- sb.append("[").append(filter).append("]<");
- boolean first = true;
- if (groupBys != null && groupBys.size() > 0) {
- for (String groupBy : groupBys) {
- if (first) {
- first = false;
- } else {
- sb.append(",");
- }
- sb.append("@").append(groupBy);
- }
- }
- sb.append(">{");
- if (returns != null && returns.size() > 0) {
- first = true;
- for (String returnFiled : returns) {
- if (first) {
- first = false;
- } else {
- sb.append(",");
- }
- sb.append(returnFiled);
- }
- }
- sb.append("}");
- if (orderBys != null && orderBys.size() > 0) {
- sb.append(".{");
- first = true;
- for (String orderBy : orderBys) {
- if (first) {
- first = false;
- } else {
- sb.append(",");
- }
- sb.append(orderBy);
- }
- sb.append("}");
- }
- return sb.toString();
- }
- public int getIntervalMin() {
- return intervalMin;
- }
- public void setIntervalMin(int intervalMin) {
- this.intervalMin = intervalMin;
- }
+
+ private String filter;
+ private String startRowkey;
+ private int pageSize;
+ private String startTime;
+ private String endTime;
+ private List groupBys;
+ private List returns;
+ private List orderBys;
+ private String metricName;
+ private int intervalMin;
+
+ public String getMetricName() {
+ return metricName;
+ }
+
+ public void setMetricName(String metricName) {
+ this.metricName = metricName;
+ }
+
+ public String getFilter() {
+ return filter;
+ }
+
+ public void setFilter(String filter) {
+ this.filter = filter;
+ }
+
+ public String getStartRowkey() {
+ return startRowkey;
+ }
+
+ public void setStartRowkey(String startRowkey) {
+ this.startRowkey = startRowkey;
+ }
+
+ public int getPageSize() {
+ return pageSize;
+ }
+
+ public void setPageSize(int pageSize) {
+ this.pageSize = pageSize;
+ }
+
+ public String getStartTime() {
+ return startTime;
+ }
+
+ public void setStartTime(String startTime) {
+ this.startTime = startTime;
+ }
+
+ public String getEndTime() {
+ return endTime;
+ }
+
+ public void setEndTime(String endTime) {
+ this.endTime = endTime;
+ }
+
+ public List getGroupBys() {
+ return groupBys;
+ }
+
+ public void setGroupBys(List groupBys) {
+ this.groupBys = groupBys;
+ }
+
+ public List getOrderBys() {
+ return orderBys;
+ }
+
+ public void setOrderBys(List orderBys) {
+ this.orderBys = orderBys;
+ }
+
+ public List getReturns() {
+ return returns;
+ }
+
+ public void setReturns(List returns) {
+ this.returns = returns;
+ }
+
+ public String getQueryParameterString(String service) throws EagleServiceClientException {
+ if (pageSize <= 0) {
+ throw new EagleServiceClientException("pageSize can't be less than 1, pageSize: " + pageSize);
+ }
+ try {
+ final String query = getQuery();
+ final StringBuilder sb = new StringBuilder();
+ // query
+ sb.append("query=").append(service).append(URLEncoder.encode(query, "UTF-8"));
+ // startRowkey
+ if (startRowkey != null) {
+ sb.append("&startRowkey=").append(startRowkey);
+ }
+ // pageSize
+ sb.append("&pageSize=").append(this.pageSize);
+ if (startTime != null || endTime != null) {
+ sb.append("&startTime=").append(URLEncoder.encode(startTime, "UTF-8"));
+ sb.append("&endTime=").append(URLEncoder.encode(endTime, "UTF-8"));
+ }
+
+ // metricName
+ if (metricName != null) {
+ sb.append("&metricName=" + metricName);
+ }
+
+ if (intervalMin != 0) {
+ sb.append("&timeSeries=true&intervalmin=" + intervalMin);
+ }
+ return sb.toString();
+ } catch (UnsupportedEncodingException e) {
+ throw new EagleServiceClientException("Got an UnsupportedEncodingException" + e.getMessage(), e);
+ }
+ }
+
+ private String getQuery() {
+ final StringBuilder sb = new StringBuilder();
+ sb.append("[").append(filter).append("]<");
+ boolean first = true;
+ if (groupBys != null && groupBys.size() > 0) {
+ for (String groupBy : groupBys) {
+ if (first) {
+ first = false;
+ } else {
+ sb.append(",");
+ }
+ sb.append("@").append(groupBy);
+ }
+ }
+ sb.append(">{");
+ if (returns != null && returns.size() > 0) {
+ first = true;
+ for (String returnFiled : returns) {
+ if (first) {
+ first = false;
+ } else {
+ sb.append(",");
+ }
+ sb.append(returnFiled);
+ }
+ }
+ sb.append("}");
+ if (orderBys != null && orderBys.size() > 0) {
+ sb.append(".{");
+ first = true;
+ for (String orderBy : orderBys) {
+ if (first) {
+ first = false;
+ } else {
+ sb.append(",");
+ }
+ sb.append(orderBy);
+ }
+ sb.append("}");
+ }
+ return sb.toString();
+ }
+
+ public int getIntervalMin() {
+ return intervalMin;
+ }
+
+ public void setIntervalMin(int intervalMin) {
+ this.intervalMin = intervalMin;
+ }
}
diff --git a/eagle-core/eagle-query/eagle-client-base/src/main/java/org/apache/eagle/service/client/EagleServiceQueryBuilder.java b/eagle-core/eagle-query/eagle-client-base/src/main/java/org/apache/eagle/service/client/EagleServiceQueryBuilder.java
index 106ebc69da..a98fedf288 100644
--- a/eagle-core/eagle-query/eagle-client-base/src/main/java/org/apache/eagle/service/client/EagleServiceQueryBuilder.java
+++ b/eagle-core/eagle-query/eagle-client-base/src/main/java/org/apache/eagle/service/client/EagleServiceQueryBuilder.java
@@ -20,88 +20,88 @@
import java.util.List;
/**
- * Builder helper class to create EagleServiceQueryRequest
+ * Builder helper class to create EagleServiceQueryRequest.
*/
public final class EagleServiceQueryBuilder {
- private final EagleServiceQueryRequest request = new EagleServiceQueryRequest();
-
- public EagleServiceQueryBuilder addSearchTag(String tagKey, String tagValue) throws EagleServiceClientException {
- if (tagKey == null || tagValue == null) {
- throw new EagleServiceClientException("tagKey or tagValue is null, tagKey: " + tagKey + ", tagValue: " + tagValue);
- }
- List searchTags = request.getSearchTags();
- if (searchTags == null) {
- searchTags = new ArrayList();
- request.setSearchTags(searchTags);
- }
- if (!containsTag(tagKey, tagValue)) {
- final EagleServiceQueryRequest.Tag tag = new EagleServiceQueryRequest.Tag();
- tag.setKey(tagKey);
- tag.setValue(tagValue);
- searchTags.add(tag);
- }
- return this;
- }
-
- public EagleServiceQueryRequest buildRequest() throws EagleServiceClientException {
- return request;
- }
-
- public EagleServiceQueryBuilder setStartTime(long startTime) {
- request.setStartTime(startTime);
- return this;
- }
-
- public EagleServiceQueryBuilder setEndTime(long endTime) {
- request.setEndTime(endTime);
- return this;
- }
-
- public EagleServiceQueryBuilder setPageSize(int pageSize) throws EagleServiceClientException {
- if (pageSize <= 0) {
- throw new EagleServiceClientException("pageSize can't be less than 1");
- }
- request.setPageSize(pageSize);
- return this;
- }
+ private final EagleServiceQueryRequest request = new EagleServiceQueryRequest();
- public EagleServiceQueryBuilder addReturnTag(String tagKey) throws EagleServiceClientException {
- if (tagKey == null) {
- throw new EagleServiceClientException("tagKey can't be null");
- }
- List returnTags = request.getReturnTags();
- if (returnTags == null) {
- returnTags = new ArrayList();
- request.setReturnTags(returnTags);
- }
- if (!returnTags.contains(tagKey)) {
- returnTags.add(tagKey);
- }
- return this;
- }
-
- public EagleServiceQueryBuilder addReturnField(String field) throws EagleServiceClientException {
- if (field == null) {
- throw new EagleServiceClientException("field can't be null");
- }
- List returnFields = request.getReturnFields();
- if (returnFields == null) {
- returnFields = new ArrayList();
- request.setReturnFields(returnFields);
- }
- if (!returnFields.contains(field)) {
- returnFields.add(field);
- }
- return this;
- }
+ public EagleServiceQueryBuilder addSearchTag(String tagKey, String tagValue) throws EagleServiceClientException {
+ if (tagKey == null || tagValue == null) {
+ throw new EagleServiceClientException("tagKey or tagValue is null, tagKey: " + tagKey + ", tagValue: " + tagValue);
+ }
+ List searchTags = request.getSearchTags();
+ if (searchTags == null) {
+ searchTags = new ArrayList();
+ request.setSearchTags(searchTags);
+ }
+ if (!containsTag(tagKey, tagValue)) {
+ final EagleServiceQueryRequest.Tag tag = new EagleServiceQueryRequest.Tag();
+ tag.setKey(tagKey);
+ tag.setValue(tagValue);
+ searchTags.add(tag);
+ }
+ return this;
+ }
- private boolean containsTag(String tagKey, String tagValue) {
- for (EagleServiceQueryRequest.Tag tag : request.getSearchTags()) {
- if (tag.getKey().equals(tagKey) && tag.getValue().equals(tagValue)) {
- return true;
- }
- }
- return false;
- }
+ public EagleServiceQueryRequest buildRequest() throws EagleServiceClientException {
+ return request;
+ }
+
+ public EagleServiceQueryBuilder setStartTime(long startTime) {
+ request.setStartTime(startTime);
+ return this;
+ }
+
+ public EagleServiceQueryBuilder setEndTime(long endTime) {
+ request.setEndTime(endTime);
+ return this;
+ }
+
+ public EagleServiceQueryBuilder setPageSize(int pageSize) throws EagleServiceClientException {
+ if (pageSize <= 0) {
+ throw new EagleServiceClientException("pageSize can't be less than 1");
+ }
+ request.setPageSize(pageSize);
+ return this;
+ }
+
+ public EagleServiceQueryBuilder addReturnTag(String tagKey) throws EagleServiceClientException {
+ if (tagKey == null) {
+ throw new EagleServiceClientException("tagKey can't be null");
+ }
+ List returnTags = request.getReturnTags();
+ if (returnTags == null) {
+ returnTags = new ArrayList();
+ request.setReturnTags(returnTags);
+ }
+ if (!returnTags.contains(tagKey)) {
+ returnTags.add(tagKey);
+ }
+ return this;
+ }
+
+ public EagleServiceQueryBuilder addReturnField(String field) throws EagleServiceClientException {
+ if (field == null) {
+ throw new EagleServiceClientException("field can't be null");
+ }
+ List returnFields = request.getReturnFields();
+ if (returnFields == null) {
+ returnFields = new ArrayList();
+ request.setReturnFields(returnFields);
+ }
+ if (!returnFields.contains(field)) {
+ returnFields.add(field);
+ }
+ return this;
+ }
+
+ private boolean containsTag(String tagKey, String tagValue) {
+ for (EagleServiceQueryRequest.Tag tag : request.getSearchTags()) {
+ if (tag.getKey().equals(tagKey) && tag.getValue().equals(tagValue)) {
+ return true;
+ }
+ }
+ return false;
+ }
}
diff --git a/eagle-core/eagle-query/eagle-client-base/src/main/java/org/apache/eagle/service/client/EagleServiceQueryRequest.java b/eagle-core/eagle-query/eagle-client-base/src/main/java/org/apache/eagle/service/client/EagleServiceQueryRequest.java
index 37dcb4471e..8893232e62 100644
--- a/eagle-core/eagle-query/eagle-client-base/src/main/java/org/apache/eagle/service/client/EagleServiceQueryRequest.java
+++ b/eagle-core/eagle-query/eagle-client-base/src/main/java/org/apache/eagle/service/client/EagleServiceQueryRequest.java
@@ -23,129 +23,132 @@
import java.util.List;
/**
- * Eagle service query parameter request
+ * Eagle service query parameter request.
*/
public class EagleServiceQueryRequest {
- // instance members
- private long startTime;
- private long endTime;
- private int pageSize;
- private List searchTags;
- private List returnTags;
- private List returnFields;
-
- public static class Tag {
- private String key;
- private String value;
-
- public String getKey() {
- return key;
- }
- public void setKey(String key) {
- this.key = key;
- }
- public String getValue() {
- return value;
- }
- public void setValue(String value) {
- this.value = value;
- }
- }
-
- public long getStartTime() {
- return startTime;
- }
-
- public void setStartTime(long startTime) {
- this.startTime = startTime;
- }
-
- public long getEndTime() {
- return endTime;
- }
-
- public void setEndTime(long endTime) {
- this.endTime = endTime;
- }
-
- public int getPageSize() {
- return pageSize;
- }
-
- public void setPageSize(int pageSize) {
- this.pageSize = pageSize;
- }
-
- public List getSearchTags() {
- return searchTags;
- }
-
- public void setSearchTags(List searchTags) {
- this.searchTags = searchTags;
- }
-
- public List getReturnTags() {
- return returnTags;
- }
-
- public void setReturnTags(List returnTags) {
- this.returnTags = returnTags;
- }
-
- public List getReturnFields() {
- return returnFields;
- }
-
- public void setReturnFields(List returnFields) {
- this.returnFields = returnFields;
- }
-
- public String getQueryParameterString() throws EagleServiceClientException {
- if (pageSize <= 0) {
- throw new EagleServiceClientException("pageSize can't be less than 1, pageSize: " + pageSize);
- }
- if (startTime > endTime || (startTime == endTime && startTime != 0)) {
- throw new EagleServiceClientException("Invalid startTime and endTime, startTime: " + startTime + ", endTime: " + endTime);
- }
- int returnSize = 0;
- if (returnTags != null) {
- returnSize += returnTags.size();
- }
- if (returnFields != null) {
- returnSize += returnFields.size();
- }
- if (returnSize == 0) {
- throw new EagleServiceClientException("Invalid request, no return tag or field added");
- }
- final StringBuilder sb = new StringBuilder();
- sb.append("pageSize=").append(this.pageSize);
- if (endTime > 0) {
- final SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd%20HH:mm:ss");
+ // instance members
+ private long startTime;
+ private long endTime;
+ private int pageSize;
+ private List searchTags;
+ private List returnTags;
+ private List returnFields;
+
+ public static class Tag {
+ private String key;
+ private String value;
+
+ public String getKey() {
+ return key;
+ }
+
+ public void setKey(String key) {
+ this.key = key;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ public void setValue(String value) {
+ this.value = value;
+ }
+ }
+
+ public long getStartTime() {
+ return startTime;
+ }
+
+ public void setStartTime(long startTime) {
+ this.startTime = startTime;
+ }
+
+ public long getEndTime() {
+ return endTime;
+ }
+
+ public void setEndTime(long endTime) {
+ this.endTime = endTime;
+ }
+
+ public int getPageSize() {
+ return pageSize;
+ }
+
+ public void setPageSize(int pageSize) {
+ this.pageSize = pageSize;
+ }
+
+ public List getSearchTags() {
+ return searchTags;
+ }
+
+ public void setSearchTags(List searchTags) {
+ this.searchTags = searchTags;
+ }
+
+ public List getReturnTags() {
+ return returnTags;
+ }
+
+ public void setReturnTags(List returnTags) {
+ this.returnTags = returnTags;
+ }
+
+ public List getReturnFields() {
+ return returnFields;
+ }
+
+ public void setReturnFields(List returnFields) {
+ this.returnFields = returnFields;
+ }
+
+ public String getQueryParameterString() throws EagleServiceClientException {
+ if (pageSize <= 0) {
+ throw new EagleServiceClientException("pageSize can't be less than 1, pageSize: " + pageSize);
+ }
+ if (startTime > endTime || (startTime == endTime && startTime != 0)) {
+ throw new EagleServiceClientException("Invalid startTime and endTime, startTime: " + startTime + ", endTime: " + endTime);
+ }
+ int returnSize = 0;
+ if (returnTags != null) {
+ returnSize += returnTags.size();
+ }
+ if (returnFields != null) {
+ returnSize += returnFields.size();
+ }
+ if (returnSize == 0) {
+ throw new EagleServiceClientException("Invalid request, no return tag or field added");
+ }
+ final StringBuilder sb = new StringBuilder();
+ sb.append("pageSize=").append(this.pageSize);
+ if (endTime > 0) {
+ final SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd%20HH:mm:ss");
format.setTimeZone(EagleConfigFactory.load().getTimeZone());
- Date date = new Date(startTime);
- String timeString = format.format(date);
- sb.append("&startTime=").append(timeString);
- date.setTime(endTime);
- timeString = format.format(date);
- sb.append("&endTime=").append(timeString);
- }
- if (searchTags != null) {
- for (Tag tag : searchTags) {
- sb.append("&tagNameValue=").append(tag.getKey()).append("%3D").append(tag.getValue());
- }
- }
- if (returnTags != null) {
- for (String tagKey : returnTags) {
- sb.append("&outputTag=").append(tagKey);
- }
- }
- if (returnFields != null) {
- for (String field : returnFields) {
- sb.append("&outputField=").append(field);
- }
- }
- return sb.toString();
- }
-
+ Date date = new Date(startTime);
+ String timeString = format.format(date);
+ sb.append("&startTime=").append(timeString);
+ date.setTime(endTime);
+ timeString = format.format(date);
+ sb.append("&endTime=").append(timeString);
+ }
+ if (searchTags != null) {
+ for (Tag tag : searchTags) {
+ sb.append("&tagNameValue=").append(tag.getKey()).append("%3D").append(tag.getValue());
+ }
+ }
+ if (returnTags != null) {
+ for (String tagKey : returnTags) {
+ sb.append("&outputTag=").append(tagKey);
+ }
+ }
+ if (returnFields != null) {
+ for (String field : returnFields) {
+ sb.append("&outputField=").append(field);
+ }
+ }
+ return sb.toString();
+ }
+
}
diff --git a/eagle-core/eagle-query/eagle-client-base/src/main/java/org/apache/eagle/service/client/EagleServiceSingleEntityQueryRequest.java b/eagle-core/eagle-query/eagle-client-base/src/main/java/org/apache/eagle/service/client/EagleServiceSingleEntityQueryRequest.java
index 58b27642ed..d91c35b288 100755
--- a/eagle-core/eagle-query/eagle-client-base/src/main/java/org/apache/eagle/service/client/EagleServiceSingleEntityQueryRequest.java
+++ b/eagle-core/eagle-query/eagle-client-base/src/main/java/org/apache/eagle/service/client/EagleServiceSingleEntityQueryRequest.java
@@ -22,14 +22,14 @@
import java.util.Date;
public class EagleServiceSingleEntityQueryRequest {
- private String query;
- private String startRowkey;
- private int pageSize;
- private long startTime;
- private long endTime;
- private boolean treeAgg;
- private String metricName;
- private boolean filterIfMissing;
+ private String query;
+ private String startRowkey;
+ private int pageSize;
+ private long startTime;
+ private long endTime;
+ private boolean treeAgg;
+ private String metricName;
+ private boolean filterIfMissing;
public boolean isVerbose() {
return verbose;
@@ -40,129 +40,132 @@ public void setVerbose(boolean verbose) {
}
private boolean verbose;
-
- public String getMetricName() {
- return metricName;
- }
-
- public void setMetricName(String metricName) {
- this.metricName = metricName;
- }
-
- public String getQuery() {
- return query;
- }
-
- public void setQuery(String query) {
- this.query = query;
- }
-
- public String getStartRowkey() {
- return startRowkey;
- }
-
- public void setStartRowkey(String startRowkey) {
- this.startRowkey = startRowkey;
- }
-
- public boolean isTreeAgg() {
- return treeAgg;
- }
-
- public void setTreeAgg(boolean treeAgg) {
- this.treeAgg = treeAgg;
- }
-
- public long getStartTime() {
- return startTime;
- }
-
- public void setStartTime(long startTime) {
- this.startTime = startTime;
- }
-
- public long getEndTime() {
- return endTime;
- }
-
- public void setEndTime(long endTime) {
- this.endTime = endTime;
- }
-
- public int getPageSize() {
- return pageSize;
- }
-
- public void setPageSize(int pageSize) {
- this.pageSize = pageSize;
- }
-
- public boolean getFilterIfMissing() {
- return filterIfMissing;
- }
-
- public void setFilterIfMissing(boolean filterIfMissing) {
- this.filterIfMissing = filterIfMissing;
- }
-
- public String getQueryParameterString() throws EagleServiceClientException {
- if (pageSize < 0) {
- throw new EagleServiceClientException("pageSize can't be less than 0, pageSize: " + pageSize);
- }
-
- // startTime and endTime is optional
-
- final StringBuilder sb = new StringBuilder();
- // query
-// try {
-// sb.append("query=").append(URLEncoder.encode(query,"UTF-8"));
- sb.append("query=").append(query);
-// } catch (UnsupportedEncodingException e) {
-// throw new EagleServiceClientException(e);
-// }
+
+ public String getMetricName() {
+ return metricName;
+ }
+
+ public void setMetricName(String metricName) {
+ this.metricName = metricName;
+ }
+
+ public String getQuery() {
+ return query;
+ }
+
+ public void setQuery(String query) {
+ this.query = query;
+ }
+
+ public String getStartRowkey() {
+ return startRowkey;
+ }
+
+ public void setStartRowkey(String startRowkey) {
+ this.startRowkey = startRowkey;
+ }
+
+ public boolean isTreeAgg() {
+ return treeAgg;
+ }
+
+ public void setTreeAgg(boolean treeAgg) {
+ this.treeAgg = treeAgg;
+ }
+
+ public long getStartTime() {
+ return startTime;
+ }
+
+ public void setStartTime(long startTime) {
+ this.startTime = startTime;
+ }
+
+ public long getEndTime() {
+ return endTime;
+ }
+
+ public void setEndTime(long endTime) {
+ this.endTime = endTime;
+ }
+
+ public int getPageSize() {
+ return pageSize;
+ }
+
+ public void setPageSize(int pageSize) {
+ this.pageSize = pageSize;
+ }
+
+ public boolean getFilterIfMissing() {
+ return filterIfMissing;
+ }
+
+ public void setFilterIfMissing(boolean filterIfMissing) {
+ this.filterIfMissing = filterIfMissing;
+ }
+
+ public String getQueryParameterString() throws EagleServiceClientException {
+ if (pageSize < 0) {
+ throw new EagleServiceClientException("pageSize can't be less than 0, pageSize: " + pageSize);
+ }
+
+ // startTime and endTime is optional
+
+ final StringBuilder sb = new StringBuilder();
+ // query
+ // try {
+ // sb.append("query=").append(URLEncoder.encode(query,"UTF-8"));
+ sb.append("query=").append(query);
+ // catch (UnsupportedEncodingException e) {
+ // throw new EagleServiceClientException(e);
+ // }
// startRowkey
- if (startRowkey != null) {
- sb.append("&startRowkey=").append(startRowkey);
- }
- // pageSize
- sb.append("&pageSize=").append(this.pageSize);
- if (startTime !=0 || endTime != 0) {
- Date date = new Date(startTime);
- SimpleDateFormat dateFormatter = new SimpleDateFormat("yyyy-MM-dd%20HH:mm:ss");
+ if (startRowkey != null) {
+ sb.append("&startRowkey=").append(startRowkey);
+ }
+ // pageSize
+ sb.append("&pageSize=").append(this.pageSize);
+ if (startTime != 0 || endTime != 0) {
+ Date date = new Date(startTime);
+ SimpleDateFormat dateFormatter = new SimpleDateFormat("yyyy-MM-dd%20HH:mm:ss");
dateFormatter.setTimeZone(EagleConfigFactory.load().getTimeZone());
- String timeString = dateFormatter.format(date);
- sb.append("&startTime=").append(timeString);
- date.setTime(endTime);
- timeString = dateFormatter.format(date);
- sb.append("&endTime=").append(timeString);
- }
- // tree aggregate
- sb.append("&treeAgg=").append(treeAgg);
-
- // for metric read
- if(metricName != null){
- sb.append("&metricName=").append(metricName);
- }
-
- if (filterIfMissing == true) {
- sb.append("&filterIfMissing=").append("true");
- }
- return sb.toString();
- }
-
- public static Builder build(){
+ String timeString = dateFormatter.format(date);
+ sb.append("&startTime=").append(timeString);
+ date.setTime(endTime);
+ timeString = dateFormatter.format(date);
+ sb.append("&endTime=").append(timeString);
+ }
+ // tree aggregate
+ sb.append("&treeAgg=").append(treeAgg);
+
+ // for metric read
+ if (metricName != null) {
+ sb.append("&metricName=").append(metricName);
+ }
+
+ if (filterIfMissing == true) {
+ sb.append("&filterIfMissing=").append("true");
+ }
+ return sb.toString();
+ }
+
+ public static Builder build() {
return new Builder();
}
- public static class Builder{
+ public static class Builder {
private final EagleServiceSingleEntityQueryRequest rawQuery;
- public Builder(){
- this.rawQuery= new EagleServiceSingleEntityQueryRequest();
+
+ public Builder() {
+ this.rawQuery = new EagleServiceSingleEntityQueryRequest();
}
- public EagleServiceSingleEntityQueryRequest done(){
+
+ public EagleServiceSingleEntityQueryRequest done() {
return this.rawQuery;
}
+
public Builder query(String query) {
this.rawQuery.setQuery(query);
return this;
diff --git a/eagle-core/eagle-query/eagle-client-base/src/main/java/org/apache/eagle/service/client/IEagleServiceClient.java b/eagle-core/eagle-query/eagle-client-base/src/main/java/org/apache/eagle/service/client/IEagleServiceClient.java
index ce62eee082..42c9a3316f 100644
--- a/eagle-core/eagle-query/eagle-client-base/src/main/java/org/apache/eagle/service/client/IEagleServiceClient.java
+++ b/eagle-core/eagle-query/eagle-client-base/src/main/java/org/apache/eagle/service/client/IEagleServiceClient.java
@@ -16,9 +16,9 @@
*/
package org.apache.eagle.service.client;
+import com.sun.jersey.api.client.Client;
import org.apache.eagle.log.base.taggedlog.TaggedLogAPIEntity;
import org.apache.eagle.log.entity.GenericServiceAPIResponseEntity;
-import com.sun.jersey.api.client.Client;
import java.io.Closeable;
import java.io.IOException;
@@ -31,25 +31,22 @@ public interface IEagleServiceClient extends IEagleServiceRequestBuilder, Closea
IEagleServiceClient silence(boolean silence);
/**
- *
* @param
* @param entities
* @param serviceName
* @return
*/
- GenericServiceAPIResponseEntity create(List entities,String serviceName) throws IOException, EagleServiceClientException;
+ GenericServiceAPIResponseEntity create(List entities, String serviceName) throws IOException, EagleServiceClientException;
/**
- *
* @param entities
* @param entityClass
* @param
* @return
*/
- GenericServiceAPIResponseEntity create(List entities,Class entityClass) throws IOException, EagleServiceClientException;
+ GenericServiceAPIResponseEntity create(List entities, Class entityClass) throws IOException, EagleServiceClientException;
/**
- *
* @param entities
* @param
* @return
@@ -57,7 +54,6 @@ public interface IEagleServiceClient extends IEagleServiceRequestBuilder, Closea
GenericServiceAPIResponseEntity create(List entities) throws IOException, EagleServiceClientException;
/**
- *
* @param entities
* @param
* @return
@@ -65,37 +61,35 @@ public interface IEagleServiceClient extends IEagleServiceRequestBuilder, Closea
GenericServiceAPIResponseEntity delete(List entities) throws IOException, EagleServiceClientException;
/**
- *
* @param entities
* @param
* @return
*/
- GenericServiceAPIResponseEntity delete(List entities,String serviceName) throws IOException, EagleServiceClientException;
+ GenericServiceAPIResponseEntity delete(List entities, String serviceName) throws IOException, EagleServiceClientException;
/**
- *
* @param entities
* @param
* @return
*/
- GenericServiceAPIResponseEntity delete(List entities,Class entityClass) throws IOException, EagleServiceClientException;
+ GenericServiceAPIResponseEntity delete(List entities, Class entityClass) throws IOException, EagleServiceClientException;
/**
- *
+ * delete.
* @param request
* @return
*/
GenericServiceAPIResponseEntity delete(EagleServiceSingleEntityQueryRequest request) throws EagleServiceClientException, IOException;
/**
- *
+ * delete by id.
* @param ids
* @param serviceName
* @return
* @throws EagleServiceClientException
* @throws IOException
*/
- GenericServiceAPIResponseEntity deleteById(List ids,String serviceName) throws EagleServiceClientException, IOException;
+ GenericServiceAPIResponseEntity deleteById(List ids, String serviceName) throws EagleServiceClientException, IOException;
/**
* @param entities
@@ -105,23 +99,20 @@ public interface IEagleServiceClient extends IEagleServiceRequestBuilder, Closea
GenericServiceAPIResponseEntity update(List entities) throws IOException, EagleServiceClientException;
/**
- *
* @param entities
* @param
* @return
*/
- GenericServiceAPIResponseEntity update(List entities,String serviceName) throws IOException, EagleServiceClientException;
+ GenericServiceAPIResponseEntity update(List entities, String serviceName) throws IOException, EagleServiceClientException;
/**
- *
* @param entities
* @param
* @return
*/
- GenericServiceAPIResponseEntity update(List entities,Class entityClass) throws IOException, EagleServiceClientException;
+ GenericServiceAPIResponseEntity update(List entities, Class entityClass) throws IOException, EagleServiceClientException;
/**
- *
* @param request
* @return
*/
diff --git a/eagle-core/eagle-query/eagle-client-base/src/main/java/org/apache/eagle/service/client/IEagleServiceRequestBuilder.java b/eagle-core/eagle-query/eagle-client-base/src/main/java/org/apache/eagle/service/client/IEagleServiceRequestBuilder.java
index 1264b3090a..4e988837d8 100644
--- a/eagle-core/eagle-query/eagle-client-base/src/main/java/org/apache/eagle/service/client/IEagleServiceRequestBuilder.java
+++ b/eagle-core/eagle-query/eagle-client-base/src/main/java/org/apache/eagle/service/client/IEagleServiceRequestBuilder.java
@@ -19,21 +19,20 @@
import org.apache.eagle.service.client.impl.*;
/**
- *
- * IEagleServiceClient extension interfaces
+ * IEagleServiceClient extension interfaces.
*
* @see IEagleServiceClient
*/
public interface IEagleServiceRequestBuilder {
/**
- * Search pipe API
+ * Search pipe API.
*
* @return
*/
SearchRequestBuilder search();
/**
- * Search pipe API
+ * Search pipe API.
*
* @param query
* @return
@@ -41,15 +40,14 @@ public interface IEagleServiceRequestBuilder {
SearchRequestBuilder search(String query);
/**
- *
- * Delete pipe API
+ * Delete pipe API.
*
* @return
*/
DeleteRequestBuilder delete();
/**
- * Metric sender
+ * Metric sender.
*
* @param metricName
* @return
@@ -57,7 +55,7 @@ public interface IEagleServiceRequestBuilder {
MetricSender metric(String metricName);
/**
- * Batch entities sender
+ * Batch entities sender.
*
* @param batchSize
* @return
@@ -65,14 +63,14 @@ public interface IEagleServiceRequestBuilder {
BatchSender batch(int batchSize);
/**
- * Async service client requester
+ * Async service client requester.
*
* @return
*/
EagleServiceAsyncClient async();
/**
- * Parallel service client requester
+ * Parallel service client requester.
*
* @param parallelNum
* @return
diff --git a/eagle-core/eagle-query/eagle-client-base/src/main/java/org/apache/eagle/service/client/ListGroupByQueryAPIResponseEntity.java b/eagle-core/eagle-query/eagle-client-base/src/main/java/org/apache/eagle/service/client/ListGroupByQueryAPIResponseEntity.java
index e59513bf5d..6a6e46aab6 100644
--- a/eagle-core/eagle-query/eagle-client-base/src/main/java/org/apache/eagle/service/client/ListGroupByQueryAPIResponseEntity.java
+++ b/eagle-core/eagle-query/eagle-client-base/src/main/java/org/apache/eagle/service/client/ListGroupByQueryAPIResponseEntity.java
@@ -21,70 +21,83 @@
public class ListGroupByQueryAPIResponseEntity {
- private boolean success;
- private String exception;
- private int totalResults;
- private long elapsedms;
- private List obj;
- private long lastTimestamp;
-
- public long getElapsedms() {
- return elapsedms;
- }
- public void setElapsedms(long elapsedms) {
- this.elapsedms = elapsedms;
- }
- public boolean isSuccess() {
- return success;
- }
- public void setSuccess(boolean success) {
- this.success = success;
- }
- public String getException() {
- return exception;
- }
- public void setException(String exception) {
- this.exception = exception;
- }
- public int getTotalResults() {
- return totalResults;
- }
- public void setTotalResults(int totalResults) {
- this.totalResults = totalResults;
- }
- public List getObj() {
- return obj;
- }
- public void setObj(List obj) {
- this.obj = obj;
- }
-
- public long getLastTimestamp() {
- return lastTimestamp;
- }
-
- public void setLastTimestamp(long lastTimestamp) {
- this.lastTimestamp = lastTimestamp;
- }
-
- public static class Entry implements Map.Entry