You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@eagle.apache.org by ha...@apache.org on 2016/07/21 12:28:47 UTC
[03/11] incubator-eagle git commit: [EAGLE-382][EAGLE-385] Monitoring
Application Framework Core
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/e21b073f/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/ByteUtil.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/ByteUtil.java b/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/ByteUtil.java
deleted file mode 100644
index c1d4976..0000000
--- a/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/ByteUtil.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.eagle.common;
-
-public class ByteUtil {
-
- public static double bytesToDouble(byte[] bytes, int offset){
- return Double.longBitsToDouble(bytesToLong(bytes, offset));
- }
-
- public static double bytesToDouble(byte[] bytes){
- return Double.longBitsToDouble(bytesToLong(bytes));
- }
-
- public static void doubleToBytes(double v, byte[] bytes){
- doubleToBytes(v, bytes, 0);
- }
-
- public static void doubleToBytes(double v, byte[] bytes, int offset){
- longToBytes(Double.doubleToLongBits(v), bytes, offset);
- }
-
- public static byte[] doubleToBytes(double v){
- return longToBytes(Double.doubleToLongBits(v));
- }
-
- public static long bytesToLong(byte[] bytes){
- return bytesToLong(bytes, 0);
- }
-
- public static long bytesToLong(byte[] bytes, int offset){
- long value = 0;
- for(int i=0; i<8; i++){
- value <<= 8;
- value |= (bytes[i+offset] & 0xFF);
- }
- return value;
- }
-
- public static void longToBytes(long v, byte[] bytes){
- longToBytes(v, bytes, 0);
- }
-
- public static void longToBytes(long v, byte[] bytes, int offset){
- long tmp = v;
- for(int i=0; i<8; i++){
- bytes[offset + 7 - i] = (byte)(tmp & 0xFF);
- tmp >>= 8;
- }
- }
-
- public static byte[] longToBytes(long v){
- long tmp = v;
- byte[] b = new byte[8];
- for(int i=0; i<8; i++){
- b[7-i] = (byte)(tmp & 0xFF);
- tmp >>= 8;
- }
- return b;
- }
-
- public static int bytesToInt(byte[] bytes){
- return bytesToInt(bytes, 0);
- }
-
- public static int bytesToInt(byte[] bytes, int offset){
- int value = 0;
- for(int i=0; i<4; i++){
- value <<= 8;
- value |= (bytes[i+offset] & 0xFF);
- }
- return value;
- }
-
- public static void intToBytes(int v, byte[] bytes){
- intToBytes(v, bytes, 0);
- }
-
- public static void intToBytes(int v, byte[] bytes, int offset){
- int tmp = v;
- for(int i=0; i<4; i++){
- bytes[offset + 3 - i] = (byte)(tmp & 0xFF);
- tmp >>= 8;
- }
- }
-
- public static byte[] intToBytes(int v){
- int tmp = v;
- byte[] b = new byte[4];
- for(int i=0; i<4; i++){
- b[3-i] = (byte)(tmp & 0xFF);
- tmp >>= 8;
- }
- return b;
- }
-
- //////
-
- public static short bytesToShort(byte[] bytes){
- return bytesToShort(bytes, 0);
- }
-
- public static short bytesToShort(byte[] bytes, int offset){
- short value = 0;
- for(int i=0; i < 2; i++){
- value <<= 8;
- value |= (bytes[i+offset] & 0xFF);
- }
- return value;
- }
-
- public static void shortToBytes(short v, byte[] bytes){
- shortToBytes(v, bytes, 0);
- }
-
- public static void shortToBytes(short v, byte[] bytes, int offset){
- int tmp = v;
- for(int i=0; i < 2; i++){
- bytes[offset + 1 - i] = (byte)(tmp & 0xFF);
- tmp >>= 8;
- }
- }
-
- public static byte[] shortToBytes(short v){
- int tmp = v;
- byte[] b = new byte[2];
- for(int i=0; i<2; i++){
- b[1-i] = (byte)(tmp & 0xFF);
- tmp >>= 8;
- }
- return b;
- }
-
- public static byte[] concat(byte[]... arrays) {
- int length = 0;
- for (byte[] array : arrays) {
- length += array.length;
- }
- byte[] result = new byte[length];
- int pos = 0;
- for (byte[] array : arrays) {
- System.arraycopy(array, 0, result, pos, array.length);
- pos += array.length;
- }
- return result;
- }
-
-// public static void main(String[] args){
-// int a = "ThreadName".hashCode();
-// byte[] b = intToBytes(a);
-// byte[] c = intToBytes(1676687583);
-// String s = new String(b);
-// System.out.println(s);
-
-// byte[] d = intToBytes(8652353);
-// System.out.println(bytesToInt(d));
-
-// byte[] e = longToBytes(12131513513l);
-// System.out.println(bytesToLong(e));
-// if(12131513513l == bytesToLong(e)){
-// System.out.println("yes");
-// }
-// }
-}
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/e21b073f/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/CircularArrayList.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/CircularArrayList.java b/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/CircularArrayList.java
deleted file mode 100644
index 49695e5..0000000
--- a/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/CircularArrayList.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.eagle.common;
-
-import java.util.AbstractList;
-import java.util.RandomAccess;
-
-/**
- * Circular array implementation
- *
- * @param <E>
- */
-public class CircularArrayList<E> extends AbstractList<E> implements RandomAccess {
-
- private final E[] buf; // a List implementing RandomAccess
- private int head = 0;
- private int tail = 0;
- private boolean full = false;
-
- public CircularArrayList(E[] array) {
- buf = array;
- full = (buf.length == 0);
- }
-
- public int capacity() {
- return buf.length;
- }
-
- public int head() {
- return head;
- }
-
- public int tail() {
- return tail;
- }
-
- public boolean isFull() {
- return full;
- }
-
- @Override
- public void clear() {
- head = 0;
- tail = 0;
- full = false;
- for (int i = 0; i < buf.length; ++i) {
- buf[i] = null;
- }
- }
-
- private int wrapIndex(int i) {
- int m = i % buf.length;
- if (m < 0) { // java modulus can be negative
- throw new IndexOutOfBoundsException();
- }
- return m;
- }
-
- // This method is O(n) but will never be called if the
- // CircularArrayList is used in its typical/intended role.
- private void shiftBlock(int startIndex, int endIndex) {
- assert (endIndex > startIndex);
- for (int i = endIndex - 1; i >= startIndex; i--) {
- set(i + 1, get(i));
- }
- }
-
- public int find(E e) {
- final int size = size();
- for (int i = 0; i < size; ++i) {
- if (e.equals(get(i))) {
- return i;
- }
- }
- return -1;
- }
-
- @Override
- public int size() {
- if (full) {
- return buf.length;
- }
- return tail - head + (tail < head ? buf.length : 0);
- }
-
- @Override
- public E get(int i) {
- if (i < 0 || i >= size()) {
- throw new IndexOutOfBoundsException();
- }
- return buf[wrapIndex(head + i)];
- }
-
- @Override
- public E set(int i, E e) {
- if (i < 0 || i >= size()) {
- throw new IndexOutOfBoundsException();
- }
- return buf[wrapIndex(head + i)] = e;
- }
-
- @Override
- public void add(int i, E e) {
- int s = size();
- if (s == buf.length) {
- throw new IllegalStateException("Cannot add element."
- + " CircularArrayList is filled to capacity.");
- }
- full = (s + 1 == buf.length);
- if (i < 0 || i > s) {
- throw new IndexOutOfBoundsException();
- }
- tail = wrapIndex(tail + 1);
- if (i < s) {
- shiftBlock(i, s);
- }
- set(i, e);
- }
-
- @Override
- public E remove(int i) {
- int s = size();
- if (i < 0 || i >= s) {
- throw new IndexOutOfBoundsException();
- }
- final E e = get(i);
- if (i > 0) {
- shiftBlock(0, i);
- }
- buf[head] = null;
- head = wrapIndex(head + 1);
- full = false;
- return e;
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/e21b073f/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/CircularArrayListSortedSet.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/CircularArrayListSortedSet.java b/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/CircularArrayListSortedSet.java
deleted file mode 100644
index ef47624..0000000
--- a/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/CircularArrayListSortedSet.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.eagle.common;
-
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.List;
-
-public class CircularArrayListSortedSet<E> {
-
- private final CircularArrayList<E> list;
- private final Comparator<? super E> comparator;
-
- public CircularArrayListSortedSet(E[] array) {
- this.list = new CircularArrayList<E>(array);
- this.comparator = null;
- }
-
- public CircularArrayListSortedSet(E[] array, Comparator<? super E> comparator) {
- this.list = new CircularArrayList<E>(array);
- this.comparator = comparator;
- }
-
- public int capacity() {
- return list.capacity();
- }
-
- public int head() {
- return list.head();
- }
-
- public int tail() {
- return list.tail();
- }
-
- public boolean isFull() {
- return list.isFull();
- }
-
- public void clear() {
- list.clear();
- }
-
- public int size() {
- return list.size();
- }
-
- public E get(int i) {
- return list.get(i);
- }
-
- @SuppressWarnings("unchecked")
- public int binarySearch(E e) {
- if (comparator != null) {
- return Collections.binarySearch(list, e, comparator);
- } else {
- return Collections.binarySearch((List<? extends Comparable<? super E>>)list, e);
- }
- }
-
- public int replace(E e) {
- int index = binarySearch(e);
- if (index < 0) {
- return -1;
- }
- list.set(index, e);
- return index;
- }
-
- public int insert(E e) {
- int index = binarySearch(e);
- if (index > 0) {
- return -1;
- }
- index = 0 - index - 1;
- list.add(index, e);
- return index;
- }
-
- public E remove(int i) {
- return list.remove(i);
- }
-
- public int remove(E e) {
- final int index = binarySearch(e);
- if (index > 0) {
- list.remove(index);
- return index;
- }
- return -1;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/e21b073f/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/DateTimeUtil.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/DateTimeUtil.java b/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/DateTimeUtil.java
deleted file mode 100644
index 0f5b189..0000000
--- a/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/DateTimeUtil.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.eagle.common;
-import org.apache.eagle.common.config.EagleConfigFactory;
-
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.TimeZone;
-
-/**
- * be aware that SimpleDateFormat instantiation is expensive, so if that's under a tight loop, probably we need
- * a thread local SimpleDateFormat object
- */
-public class DateTimeUtil {
- public static final long ONESECOND = 1L * 1000L;
- public static final long ONEMINUTE = 1L * 60L * 1000L;
- public static final long ONEHOUR = 1L * 60L * 60L * 1000L;
- public static final long ONEDAY = 24L * 60L * 60L * 1000L;
- private static TimeZone CURRENT_TIME_ZONE = EagleConfigFactory.load().getTimeZone();
-
- public static Date humanDateToDate(String date) throws ParseException{
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- sdf.setTimeZone(CURRENT_TIME_ZONE);
- return sdf.parse(date);
- }
-
- public static String secondsToHumanDate(long seconds){
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- sdf.setTimeZone(CURRENT_TIME_ZONE);
- Date t = new Date();
- t.setTime(seconds*1000);
- return sdf.format(t);
- }
-
- public static String millisecondsToHumanDateWithMilliseconds(long milliseconds){
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss,SSS");
- sdf.setTimeZone(CURRENT_TIME_ZONE);
- Date t = new Date();
- t.setTime(milliseconds);
- return sdf.format(t);
- }
-
- public static String millisecondsToHumanDateWithSeconds(long milliseconds){
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- sdf.setTimeZone(CURRENT_TIME_ZONE);
- Date t = new Date();
- t.setTime(milliseconds);
- return sdf.format(t);
- }
-
- public static long humanDateToSeconds(String date) throws ParseException{
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- sdf.setTimeZone(CURRENT_TIME_ZONE);
- Date d = sdf.parse(date);
- return d.getTime()/1000;
- }
-
- public static long humanDateToMilliseconds(String date) throws ParseException{
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss,SSS");
- sdf.setTimeZone(CURRENT_TIME_ZONE);
- Date d = sdf.parse(date);
- return d.getTime();
- }
-
-
- public static long humanDateToMillisecondsWithoutException(String date){
- try{
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss,SSS");
- sdf.setTimeZone(CURRENT_TIME_ZONE);
- Date d = sdf.parse(date);
- return d.getTime();
- }catch(ParseException ex){
- return 0L;
- }
- }
-
- public static long humanDateToSecondsWithoutException(String date){
- try{
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- sdf.setTimeZone(CURRENT_TIME_ZONE);
- Date d = sdf.parse(date);
- return (d.getTime() / 1000);
- }catch(ParseException ex){
- return 0L;
- }
- }
-
- //For mapr
- //exp: 2015-06-06T10:44:22.800Z
- public static long maprhumanDateToMilliseconds(String date) throws ParseException{
- date = date.replace('T',' ');
- date = date.replace('Z',' ');
- date = date.replace('.',',');
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss,SSS ");
- sdf.setTimeZone(CURRENT_TIME_ZONE);
- Date d = sdf.parse(date);
- return d.getTime();
- }
- /**
- * this could be accurate only when timezone is UTC
- * for the timezones other than UTC, there is possibly issue, for example
- * assume timezone is GMT+8 in China
- * When user time is "2014-07-15 05:00:00", it will be converted to timestamp first, internally it would be "2014-07-14 21:00:00" in UTC timezone. When rounded down to day, the internal time would
- * be changed to "2014-07-14 00:00:00", and that means the user time is "2014-07-14 08:00:00". But originally user wants to round it to "2014-07-15 00:00:00"
- *
- * @param field
- * @param timeInMillis the seconds elapsed since 1970-01-01 00:00:00
- * @return
- */
- public static long roundDown(int field, long timeInMillis){
- switch(field){
- case Calendar.DAY_OF_MONTH:
- case Calendar.DAY_OF_WEEK:
- case Calendar.DAY_OF_YEAR:
- return (timeInMillis - timeInMillis % (24*60*60*1000));
- case Calendar.HOUR:
- return (timeInMillis - timeInMillis % (60*60*1000));
- case Calendar.MINUTE:
- return (timeInMillis - timeInMillis % (60*1000));
- case Calendar.SECOND:
- return (timeInMillis - timeInMillis % (1000));
- default:
- return 0L;
- }
- }
-
- public static String format(long milliseconds, String format) {
- SimpleDateFormat sdf = new SimpleDateFormat(format);
- sdf.setTimeZone(CURRENT_TIME_ZONE);
- Date t = new Date();
- t.setTime(milliseconds);
- return sdf.format(t);
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/e21b073f/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/EagleBase64Wrapper.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/EagleBase64Wrapper.java b/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/EagleBase64Wrapper.java
deleted file mode 100644
index e31ef99..0000000
--- a/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/EagleBase64Wrapper.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.eagle.common;
-
-import org.apache.commons.net.util.Base64;
-
-/**
- * wrap base64 encoding and decoding, so reduce the confuse of using many Base64 methods.
- */
-public class EagleBase64Wrapper {
- public static String encodeByteArray2URLSafeString(byte[] bytes){
- return Base64.encodeBase64URLSafeString(bytes);
- }
-
- public static byte[] decode(String input){
- return Base64.decodeBase64(input);
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/e21b073f/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/EagleExceptionWrapper.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/EagleExceptionWrapper.java b/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/EagleExceptionWrapper.java
deleted file mode 100644
index 1fc4e85..0000000
--- a/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/EagleExceptionWrapper.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.eagle.common;
-
-public class EagleExceptionWrapper {
- private final static int MAX_DEPTH = 10;
-
- public static String wrap(Exception ex){
- return wrap(ex, EagleExceptionWrapper.MAX_DEPTH);
- }
-
- public static String wrap(Exception ex, int maxdepth){
- int d = maxdepth;
- if(d <= 0)
- d = EagleExceptionWrapper.MAX_DEPTH;
- int index = 0;
- StringBuffer sb = new StringBuffer();
- sb.append(ex);
- sb.append(System.getProperty("line.separator"));
- for(StackTraceElement element : ex.getStackTrace()){
- sb.append(element.toString());
- sb.append(System.getProperty("line.separator"));
- if(++index >= d)
- break;
- }
- return sb.toString();
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/e21b073f/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/Environment.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/Environment.java b/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/Environment.java
deleted file mode 100644
index dd69ed5..0000000
--- a/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/Environment.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.eagle.common;
-
-public enum Environment {
- dev,
- test,
- prod,
-}
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/e21b073f/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/OS.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/OS.java b/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/OS.java
deleted file mode 100644
index 05e8db1..0000000
--- a/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/OS.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.eagle.common;
-
-public class OS {
-
- private final static String os = System.getProperty("os.name")
- .toLowerCase();
-
- public static boolean isWindows() {
- return (os.indexOf("win") >= 0);
- }
-
- public static boolean isMac() {
- return (os.indexOf("mac") >= 0);
- }
-
- public static boolean isUnix() {
- return (os.indexOf("nix") >= 0 || os.indexOf("nux") >= 0 || os
- .indexOf("aix") > 0);
- }
-
- public static boolean isSolaris() {
- return (os.indexOf("sunos") >= 0);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/e21b073f/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/SerializableUtils.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/SerializableUtils.java b/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/SerializableUtils.java
deleted file mode 100644
index c5823ea..0000000
--- a/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/SerializableUtils.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- *
- * * Licensed to the Apache Software Foundation (ASF) under one or more
- * * contributor license agreements. See the NOTICE file distributed with
- * * this work for additional information regarding copyright ownership.
- * * The ASF licenses this file to You under the Apache License, Version 2.0
- * * (the "License"); you may not use this file except in compliance with
- * * the License. You may obtain a copy of the License at
- * *
- * * http://www.apache.org/licenses/LICENSE-2.0
- * *
- * * Unless required by applicable law or agreed to in writing, software
- * * distributed under the License is distributed on an "AS IS" BASIS,
- * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * * See the License for the specific language governing permissions and
- * * limitations under the License.
- *
- */
-
-package org.apache.eagle.common;
-
-import org.xerial.snappy.SnappyInputStream;
-import org.xerial.snappy.SnappyOutputStream;
-
-import java.io.*;
-
-/**
- * Utilities for working with Serializables.
- *
- * Derived from "com.google.cloud.dataflow.sdk.util.SerializableUtils":
- * https://github.com/apache/incubator-beam/blob/master/sdks/java/core/src/main/java/com/google/cloud/dataflow/sdk/util/SerializableUtils.java
- */
-public class SerializableUtils {
- /**
- * Serializes the argument into an array of bytes, and returns it.
- *
- * @throws IllegalArgumentException if there are errors when serializing
- */
- public static byte[] serializeToCompressedByteArray(Object value) {
- try {
- ByteArrayOutputStream buffer = new ByteArrayOutputStream();
- try (ObjectOutputStream oos = new ObjectOutputStream(new SnappyOutputStream(buffer))) {
- oos.writeObject(value);
- }
- return buffer.toByteArray();
- } catch (IOException exn) {
- throw new IllegalArgumentException(
- "unable to serialize " + value,
- exn);
- }
- }
-
- /**
- * Serializes the argument into an array of bytes, and returns it.
- *
- * @throws IllegalArgumentException if there are errors when serializing
- */
- public static byte[] serializeToByteArray(Object value) {
- try {
- ByteArrayOutputStream buffer = new ByteArrayOutputStream();
- try (ObjectOutputStream oos = new ObjectOutputStream(buffer)) {
- oos.writeObject(value);
- }
- return buffer.toByteArray();
- } catch (IOException exn) {
- throw new IllegalArgumentException("unable to serialize " + value, exn);
- }
- }
-
- /**
- * Deserializes an object from the given array of bytes, e.g., as
- * serialized using {@link #serializeToCompressedByteArray}, and returns it.
- *
- * @throws IllegalArgumentException if there are errors when
- * deserializing, using the provided description to identify what
- * was being deserialized
- */
- public static Object deserializeFromByteArray(byte[] encodedValue,
- String description) {
- try {
- try (ObjectInputStream ois = new ObjectInputStream(new ByteArrayInputStream(encodedValue))) {
- return ois.readObject();
- }
- } catch (IOException | ClassNotFoundException exn) {
- throw new IllegalArgumentException(
- "unable to deserialize " + description,
- exn);
- }
- }
-
- /**
- * Deserializes an object from the given array of bytes, e.g., as
- * serialized using {@link #serializeToCompressedByteArray}, and returns it.
- *
- * @throws IllegalArgumentException if there are errors when
- * deserializing, using the provided description to identify what
- * was being deserialized
- */
- public static Object deserializeFromCompressedByteArray(byte[] encodedValue,
- String description) {
- try {
- try (ObjectInputStream ois = new ObjectInputStream(
- new SnappyInputStream(new ByteArrayInputStream(encodedValue)))) {
- return ois.readObject();
- }
- } catch (IOException | ClassNotFoundException exn) {
- throw new IllegalArgumentException(
- "unable to deserialize " + description,
- exn);
- }
- }
-
- public static <T extends Serializable> T ensureSerializable(T value) {
- @SuppressWarnings("unchecked")
- T copy = (T) deserializeFromCompressedByteArray(serializeToCompressedByteArray(value),
- value.toString());
- return copy;
- }
-
- public static <T extends Serializable> T clone(T value) {
- @SuppressWarnings("unchecked")
- T copy = (T) deserializeFromCompressedByteArray(serializeToCompressedByteArray(value),
- value.toString());
- return copy;
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/e21b073f/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/config/EagleConfig.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/config/EagleConfig.java b/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/config/EagleConfig.java
deleted file mode 100755
index 6226057..0000000
--- a/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/config/EagleConfig.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.eagle.common.config;
-
-import com.typesafe.config.Config;
-import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.hbase.client.HTableInterface;
-
-import java.util.TimeZone;
-import java.util.concurrent.ThreadPoolExecutor;
-
-public interface EagleConfig {
-
- boolean isCoprocessorEnabled();
-
- HTableInterface getHTable(String tableName);
-
- Configuration getHbaseConf();
-
- String getStorageType();
-
- ThreadPoolExecutor getExecutor();
-
- String getZKQuorum();
-
- String getZKPort();
-
- String getServiceHost();
-
- int getServicePort();
-
- String getEnv();
-
- boolean isTableNamePrefixedWithEnvironment();
-
- int getHBaseClientScanCacheSize();
-
- TimeZone getTimeZone();
-
- boolean isServiceAuditingEnabled();
-
- /**
- * @return root config
- */
- Config getConfig();
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/e21b073f/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/config/EagleConfigConstants.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/config/EagleConfigConstants.java b/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/config/EagleConfigConstants.java
deleted file mode 100644
index 26d7b49..0000000
--- a/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/config/EagleConfigConstants.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.eagle.common.config;
-
-public final class EagleConfigConstants {
- public final static String SERVICE_ENV = "eagle.service.env";
- public final static String SERVICE_HOST = "eagle.service.host";
- public final static String SERVICE_PORT = "eagle.service.port";
- public final static String SERVICE_HBASE_ZOOKEEPER_QUORUM = "eagle.service.hbase-zookeeper-quorum";
- public final static String SERVICE_HBASE_ZOOKEEPER_PROPERTY_CLIENTPORT = "eagle.service.hbase-zookeeper-property-clientPort";
- public final static String SERVICE_ZOOKEEPER_ZNODE_PARENT = "eagle.service.zookeeper-znode-parent";
- public final static String SERVICE_HBASE_CLIENT_IPC_POOL_SIZE = "eagle.service.hbase-client-ipc-pool-size";
- public final static String SERVICE_STORAGE_TYPE = "eagle.service.storage-type";
- public final static String SERVICE_COPROCESSOR_ENABLED = "eagle.service.coprocessor-enabled";
- public final static String SERVICE_TABLE_NAME_PREFIXED_WITH_ENVIRONMENT = "eagle.service.table-name-prefixed-with-environment";
- public final static String SERVICE_HBASE_CLIENT_SCAN_CACHE_SIZE = "eagle.service.hbase-client-scan-cache-size";
- public final static String SERVICE_THREADPOOL_CORE_SIZE = "eagle.service.threadpool-core-size";
- public final static String SERVICE_THREADPOOL_MAX_SIZE = "eagle.service.threadpool-max-size";
- public final static String SERVICE_THREADPOOL_SHRINK_SIZE = "eagle.service.threadpool-shrink-size";
- public final static String SERVICE_AUDITING_ENABLED = "eagle.service.audit-enabled";
-
- public final static String EAGLE_TIME_ZONE = "eagle.timezone";
- public final static String DEFAULT_EAGLE_TIME_ZONE = "UTC";
-
- public final static int DEFAULT_THREAD_POOL_CORE_SIZE = 10;
- public final static int DEFAULT_THREAD_POOL_MAX_SIZE = 20;
- public final static long DEFAULT_THREAD_POOL_SHRINK_TIME = 60000L;
- public final static String DEFAULT_SERVICE_HOST = "localhost";
- public final static String DEFAULT_STORAGE_TYPE = "hbase";
- public final static int DEFAULT_SERVICE_PORT = 8080;
- public final static String DEFAULT_ZOOKEEPER_ZNODE_PARENT = "/hbase-unsecure";
-
- public final static String EAGLE_PROPS="eagleProps";
- public final static String EAGLE_SERVICE = "eagleService";
- public final static String HOST = "host";
- public final static String PORT = "port";
- public final static String USERNAME = "username";
- public final static String PASSWORD = "password";
-
- public final static String SITE = "site";
- @Deprecated
- public final static String DATA_SOURCE = "dataSource";
- public final static String APPLICATION = "application";
-
- public final static String WEB_CONFIG = "web";
- public final static String APP_CONFIG = "app";
- public final static String CLASSIFICATION_CONFIG = "classification";
-
- public final static String LOCAL_MODE = "local";
- public final static String CLUSTER_MODE = "cluster";
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/e21b073f/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/config/EagleConfigFactory.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/config/EagleConfigFactory.java b/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/config/EagleConfigFactory.java
deleted file mode 100755
index 0d73743..0000000
--- a/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/config/EagleConfigFactory.java
+++ /dev/null
@@ -1,198 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.eagle.common.config;
-
-import com.typesafe.config.Config;
-import com.typesafe.config.ConfigFactory;
-import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.hbase.HBaseConfiguration;
-import org.apache.hadoop.hbase.client.HTableInterface;
-import org.apache.hadoop.hbase.client.HTablePool;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.util.TimeZone;
-import java.util.concurrent.LinkedBlockingQueue;
-import java.util.concurrent.ThreadPoolExecutor;
-import java.util.concurrent.TimeUnit;
-
-public class EagleConfigFactory implements EagleConfig {
- private static final Logger LOG = LoggerFactory.getLogger(EagleConfigFactory.class);
-
- private String env;
- private String zkQuorum;
- private String zkPort;
-
- private Configuration hbaseConf;
- private String eagleServiceHost;
- private int eagleServicePort;
- private String storageType;
- private Config config;
- private TimeZone timeZone;
-
- public boolean isCoprocessorEnabled() {
- return isCoprocessorEnabled;
- }
-
- private boolean isCoprocessorEnabled;
-
- private boolean tableNamePrefixedWithEnv;
-
- private HTablePool pool;
- private int hbaseClientScanCacheSize = 1000;
-
- private ThreadPoolExecutor executor = null;
-
- private static EagleConfigFactory manager = new EagleConfigFactory();
-
- private EagleConfigFactory(){
- init();
- if(this.getStorageType() == null || this.getStorageType().equalsIgnoreCase("hbase")) {
- this.pool = new HTablePool(this.hbaseConf, 10);
- }
- }
-
- public static EagleConfig load(){
- return manager;
- }
-
- public HTableInterface getHTable(String tableName){
- return pool.getTable(tableName);
- }
-
- private String getString(Config config,String path,String defaultValue){
- if(config.hasPath(path)){
- return config.getString(path);
- }else{
- return defaultValue;
- }
- }
-
- public String getStorageType() {
- return storageType;
- }
-
- public ThreadPoolExecutor getExecutor() {
- return executor;
- }
-
- private void init(){
- this.config = ConfigFactory.load();
- this.timeZone = TimeZone.getTimeZone((config.hasPath(EagleConfigConstants.EAGLE_TIME_ZONE)? config.getString(EagleConfigConstants.EAGLE_TIME_ZONE): EagleConfigConstants.DEFAULT_EAGLE_TIME_ZONE));
- this.env = config.hasPath(EagleConfigConstants.SERVICE_ENV) ? config.getString(EagleConfigConstants.SERVICE_ENV):"dev";
- this.zkQuorum = config.hasPath(EagleConfigConstants.SERVICE_HBASE_ZOOKEEPER_QUORUM) ? config.getString(EagleConfigConstants.SERVICE_HBASE_ZOOKEEPER_QUORUM):null;
- this.zkPort = config.hasPath(EagleConfigConstants.SERVICE_HBASE_ZOOKEEPER_PROPERTY_CLIENTPORT) ? config.getString(EagleConfigConstants.SERVICE_HBASE_ZOOKEEPER_PROPERTY_CLIENTPORT): null;
- String zkZnodeParent = config.hasPath(EagleConfigConstants.SERVICE_ZOOKEEPER_ZNODE_PARENT)? config.getString(EagleConfigConstants.SERVICE_ZOOKEEPER_ZNODE_PARENT): EagleConfigConstants.DEFAULT_ZOOKEEPER_ZNODE_PARENT;
- String clientIPCPoolSize = getString(config, EagleConfigConstants.SERVICE_HBASE_CLIENT_IPC_POOL_SIZE, "10");
- this.hbaseConf = HBaseConfiguration.create();
-
- if (this.zkQuorum != null)
- this.hbaseConf.set("hbase.zookeeper.quorum", this.zkQuorum);
-
- if (this.zkPort != null)
- this.hbaseConf.set("hbase.zookeeper.property.clientPort", this.zkPort);
-
- if(zkZnodeParent != null)
- this.hbaseConf.set("zookeeper.znode.parent", zkZnodeParent);
- else
- this.hbaseConf.set("zookeeper.znode.parent", EagleConfigConstants.DEFAULT_ZOOKEEPER_ZNODE_PARENT);
-
- this.hbaseConf.set("hbase.client.ipc.pool.size", clientIPCPoolSize);
-
- this.eagleServiceHost = config.hasPath(EagleConfigConstants.SERVICE_HOST) ? config.getString(EagleConfigConstants.SERVICE_HOST) : EagleConfigConstants.DEFAULT_SERVICE_HOST;
- this.storageType = config.hasPath(EagleConfigConstants.SERVICE_STORAGE_TYPE) ? config.getString(EagleConfigConstants.SERVICE_STORAGE_TYPE) : EagleConfigConstants.DEFAULT_STORAGE_TYPE;
- this.isCoprocessorEnabled = config.hasPath(EagleConfigConstants.SERVICE_COPROCESSOR_ENABLED) && config.getBoolean(EagleConfigConstants.SERVICE_COPROCESSOR_ENABLED);
- this.eagleServicePort = config.hasPath(EagleConfigConstants.SERVICE_PORT) ? config.getInt(EagleConfigConstants.SERVICE_PORT) : EagleConfigConstants.DEFAULT_SERVICE_PORT;
- this.tableNamePrefixedWithEnv = config.hasPath(EagleConfigConstants.SERVICE_TABLE_NAME_PREFIXED_WITH_ENVIRONMENT) && config.getBoolean(EagleConfigConstants.SERVICE_TABLE_NAME_PREFIXED_WITH_ENVIRONMENT);
- this.hbaseClientScanCacheSize = config.hasPath(EagleConfigConstants.SERVICE_HBASE_CLIENT_SCAN_CACHE_SIZE)? config.getInt(EagleConfigConstants.SERVICE_HBASE_CLIENT_SCAN_CACHE_SIZE) : hbaseClientScanCacheSize;
- // initilize eagle service thread pool for parallel execution of hbase scan etc.
- int threadPoolCoreSize = config.hasPath(EagleConfigConstants.SERVICE_THREADPOOL_CORE_SIZE)? config.getInt(EagleConfigConstants.SERVICE_THREADPOOL_CORE_SIZE): EagleConfigConstants.DEFAULT_THREAD_POOL_CORE_SIZE;
- int threadPoolMaxSize = config.hasPath(EagleConfigConstants.SERVICE_THREADPOOL_MAX_SIZE) ? config.getInt(EagleConfigConstants.SERVICE_THREADPOOL_MAX_SIZE) : EagleConfigConstants.DEFAULT_THREAD_POOL_MAX_SIZE;
- long threadPoolShrinkTime = config.hasPath(EagleConfigConstants.SERVICE_THREADPOOL_SHRINK_SIZE) ? config.getLong(EagleConfigConstants.SERVICE_THREADPOOL_SHRINK_SIZE) : EagleConfigConstants.DEFAULT_THREAD_POOL_SHRINK_TIME;
- this.isServiceAuditingEnabled = config.hasPath(EagleConfigConstants.SERVICE_AUDITING_ENABLED) && config.getBoolean(EagleConfigConstants.SERVICE_AUDITING_ENABLED);
-
- this.executor = new ThreadPoolExecutor(threadPoolCoreSize, threadPoolMaxSize, threadPoolShrinkTime, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<Runnable>());
-
- LOG.info("Successfully initialized config");
-
- if(LOG.isDebugEnabled()) {
- if(this.isCoprocessorEnabled){
- LOG.debug("Eagle HBase Coprocessor is enabled");
- }else{
- LOG.debug("Eagle HBase Coprocessor is disabled");
- }
- }
- }
-
- @Override
- public Configuration getHbaseConf() {
- return hbaseConf;
- }
-
- @Override
- public String getZKQuorum(){
- return this.zkQuorum;
- }
-
- @Override
- public String getZKPort(){
- return this.zkPort;
- }
-
- @Override
- public String getServiceHost() {
- return eagleServiceHost;
- }
-
- @Override
- public int getServicePort() {
- return eagleServicePort;
- }
-
- @Override
- public String getEnv() {
- return env;
- }
-
- @Override
- public boolean isTableNamePrefixedWithEnvironment(){
- return this.tableNamePrefixedWithEnv;
- }
-
- @Override
- public int getHBaseClientScanCacheSize(){
- return this.hbaseClientScanCacheSize;
- }
-
- @Override
- public TimeZone getTimeZone() {
- return this.timeZone;
- }
-
- @Override
- public Config getConfig() {
- return this.config;
- }
-
- // added for jira EAGLE-47
- boolean isServiceAuditingEnabled;
-
- @Override
- public boolean isServiceAuditingEnabled() {
- return isServiceAuditingEnabled;
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/e21b073f/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/config/EagleConfigHelper.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/config/EagleConfigHelper.java b/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/config/EagleConfigHelper.java
deleted file mode 100644
index fe3e190..0000000
--- a/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/config/EagleConfigHelper.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-package org.apache.eagle.common.config;
-
-import com.typesafe.config.Config;
-
-public class EagleConfigHelper {
-
- public static String getServiceHost(Config config) {
- return config.getString(EagleConfigConstants.EAGLE_PROPS + "." + EagleConfigConstants.EAGLE_SERVICE + "." + EagleConfigConstants.HOST);
- }
-
- public static int getServicePort(Config config) {
- return config.getInt(EagleConfigConstants.EAGLE_PROPS + "." + EagleConfigConstants.EAGLE_SERVICE + "." + EagleConfigConstants.PORT);
- }
-
- public static String getServiceUser(Config config) {
- return config.hasPath(EagleConfigConstants.EAGLE_PROPS + "." + EagleConfigConstants.EAGLE_SERVICE + "." + EagleConfigConstants.USERNAME) ?
- config.getString(EagleConfigConstants.EAGLE_PROPS + "." + EagleConfigConstants.EAGLE_SERVICE + "." + EagleConfigConstants.USERNAME) : null;
- }
-
- public static String getServicePassword(Config config) {
- return config.hasPath(EagleConfigConstants.EAGLE_PROPS + "." + EagleConfigConstants.EAGLE_SERVICE + "." + EagleConfigConstants.PASSWORD) ?
- config.getString(EagleConfigConstants.EAGLE_PROPS + "." + EagleConfigConstants.EAGLE_SERVICE + "." + EagleConfigConstants.PASSWORD) : null;
- }
-
- public static String getSite(Config config) {
- return config.getString(EagleConfigConstants.EAGLE_PROPS + "." + EagleConfigConstants.SITE);
- }
-
- public static String getApplication(Config config) {
- return config.getString(EagleConfigConstants.EAGLE_PROPS + "." + EagleConfigConstants.APPLICATION);
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/e21b073f/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/email/EagleMailClient.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/email/EagleMailClient.java b/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/email/EagleMailClient.java
deleted file mode 100755
index 6edac0a..0000000
--- a/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/email/EagleMailClient.java
+++ /dev/null
@@ -1,253 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.eagle.common.email;
-
-import java.io.File;
-import java.io.StringWriter;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-
-import javax.activation.DataHandler;
-import javax.activation.DataSource;
-import javax.activation.FileDataSource;
-import javax.mail.Authenticator;
-import javax.mail.Message;
-import javax.mail.MessagingException;
-import javax.mail.Multipart;
-import javax.mail.PasswordAuthentication;
-import javax.mail.Session;
-import javax.mail.Transport;
-import javax.mail.internet.AddressException;
-import javax.mail.internet.InternetAddress;
-import javax.mail.internet.MimeBodyPart;
-import javax.mail.internet.MimeMessage;
-import javax.mail.internet.MimeMultipart;
-
-import org.apache.commons.configuration.AbstractConfiguration;
-import org.apache.velocity.Template;
-import org.apache.velocity.VelocityContext;
-import org.apache.velocity.app.VelocityEngine;
-import org.apache.velocity.exception.ResourceNotFoundException;
-import org.apache.velocity.runtime.RuntimeConstants;
-import org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.netflix.config.ConcurrentMapConfiguration;
-
-public class EagleMailClient {
-// private static final String CONFIG_FILE = "config.properties";
- private static final String BASE_PATH = "templates/";
- private static final String AUTH_CONFIG = "mail.smtp.auth";
- private static final String DEBUG_CONFIG = "mail.debug";
- private static final String USER_CONFIG = "mail.user";
- private static final String PASSWORD_CONFIG = "mail.password";
-
- private VelocityEngine velocityEngine;
- private Session session;
- private static final Logger LOG = LoggerFactory.getLogger(EagleMailClient.class);
-
- public EagleMailClient() {
- this(new ConcurrentMapConfiguration());
- }
-
- public EagleMailClient(AbstractConfiguration configuration) {
- try {
- ConcurrentMapConfiguration con = (ConcurrentMapConfiguration)configuration;
- velocityEngine = new VelocityEngine();
- velocityEngine.setProperty(RuntimeConstants.RESOURCE_LOADER, "classpath");
- velocityEngine.setProperty("classpath.resource.loader.class", ClasspathResourceLoader.class.getName());
- velocityEngine.init();
-
- con.setProperty("mail.transport.protocol", "smtp");
- final Properties config = con.getProperties();
- if(Boolean.parseBoolean(config.getProperty(AUTH_CONFIG))){
- session = Session.getDefaultInstance(config, new Authenticator() {
- protected PasswordAuthentication getPasswordAuthentication() {
- return new PasswordAuthentication(config.getProperty(USER_CONFIG), config.getProperty(PASSWORD_CONFIG));
- }
- });
- }
- else session = Session.getDefaultInstance(config, new Authenticator() {});
- final String debugMode = config.getProperty(DEBUG_CONFIG, "false");
- final boolean debug = Boolean.parseBoolean(debugMode);
- session.setDebug(debug);
- } catch (Exception e) {
- LOG.error("Failed connect to smtp server",e);
- }
- }
-
- private boolean _send(String from, String to, String cc, String title,
- String content) {
- Message msg = new MimeMessage(session);
- try {
- msg.setFrom(new InternetAddress(from));
- msg.setSubject(title);
- if (to != null) {
- msg.setRecipients(Message.RecipientType.TO,
- InternetAddress.parse(to));
- }
- if (cc != null) {
- msg.setRecipients(Message.RecipientType.CC,
- InternetAddress.parse(cc));
- }
- //msg.setRecipients(Message.RecipientType.BCC, InternetAddress.parse(DEFAULT_BCC_ADDRESS));
- msg.setContent(content, "text/html;charset=utf-8");
- LOG.info(String.format("Going to send mail: from[%s], to[%s], cc[%s], title[%s]", from, to, cc, title));
-
- Transport.send(msg);
-
- return true;
- } catch (AddressException e) {
- LOG.info("Send mail failed, got an AddressException: " + e.getMessage(), e);
- return false;
- } catch (MessagingException e) {
- LOG.info("Send mail failed, got an AddressException: " + e.getMessage(), e);
- return false;
- }
- }
-
- private boolean _send(String from,String to,String cc,String title,String content,List<MimeBodyPart> attachments){
- MimeMessage mail = new MimeMessage(session);
- try {
- mail.setFrom(new InternetAddress(from));
- mail.setSubject(title);
- if (to != null) {
- mail.setRecipients(Message.RecipientType.TO,
- InternetAddress.parse(to));
- }
- if (cc != null) {
- mail.setRecipients(Message.RecipientType.CC,
- InternetAddress.parse(cc));
- }
-
- //mail.setRecipients(Message.RecipientType.BCC, InternetAddress.parse(DEFAULT_BCC_ADDRESS));
-
- MimeBodyPart mimeBodyPart = new MimeBodyPart();
- mimeBodyPart.setContent(content,"text/html;charset=utf-8");
-
- Multipart multipart = new MimeMultipart();
- multipart.addBodyPart(mimeBodyPart);
-
- for(MimeBodyPart attachment:attachments){
- multipart.addBodyPart(attachment);
- }
-
- mail.setContent(multipart);
-// mail.setContent(content, "text/html;charset=utf-8");
- LOG.info(String.format("Going to send mail: from[%s], to[%s], cc[%s], title[%s]", from, to, cc, title));
-
- Transport.send(mail);
-
- return true;
- } catch (AddressException e) {
- LOG.info("Send mail failed, got an AddressException: " + e.getMessage(), e);
- return false;
- } catch (MessagingException e) {
- LOG.info("Send mail failed, got an AddressException: " + e.getMessage(), e);
- return false;
- }
- }
-
- public boolean send(String from, String to, String cc, String title,
- String content) {
- return this._send(from, to, cc, title, content);
- }
-
- public boolean send(String from, String to, String cc, String title,
- String templatePath, VelocityContext context) {
- Template t = null;
- try {
- t = velocityEngine.getTemplate(BASE_PATH + templatePath);
- } catch (ResourceNotFoundException ex) {
-
- }
- if (t == null) {
- try {
- t = velocityEngine.getTemplate(templatePath);
- } catch (ResourceNotFoundException e) {
- t = velocityEngine.getTemplate("/" + templatePath);
- }
- }
- final StringWriter writer = new StringWriter();
- t.merge(context, writer);
- if(LOG.isDebugEnabled()) LOG.debug(writer.toString());
- return this.send(from, to, cc, title, writer.toString());
- }
-
- public boolean send(String from, String to, String cc, String title,
- String templatePath, VelocityContext context, Map<String,File> attachments) {
- if (attachments == null || attachments.isEmpty()) {
- return send(from, to, cc, title, templatePath, context);
- }
- Template t = null;
-
- List<MimeBodyPart> mimeBodyParts = new ArrayList<MimeBodyPart>();
- Map<String,String> cid = new HashMap<String,String>();
-
- for (Map.Entry<String,File> entry : attachments.entrySet()) {
- final String attachment = entry.getKey();
- final File attachmentFile = entry.getValue();
- final MimeBodyPart mimeBodyPart = new MimeBodyPart();
- if(attachmentFile !=null && attachmentFile.exists()){
- DataSource source = new FileDataSource(attachmentFile);
- try {
- mimeBodyPart.setDataHandler(new DataHandler(source));
- mimeBodyPart.setFileName(attachment);
- mimeBodyPart.setDisposition(MimeBodyPart.ATTACHMENT);
- mimeBodyPart.setContentID(attachment);
- cid.put(attachment,mimeBodyPart.getContentID());
- mimeBodyParts.add(mimeBodyPart);
- } catch (MessagingException e) {
- LOG.error("Generate mail failed, got exception while attaching files: " + e.getMessage(), e);
- }
- }else{
- LOG.error("Attachment: " + attachment + " is null or not exists");
- }
- }
- //TODO remove cid, because not used at all
- if(LOG.isDebugEnabled()) LOG.debug("Cid maps: "+cid);
- context.put("cid", cid);
-
- try {
- t = velocityEngine.getTemplate(BASE_PATH + templatePath);
- } catch (ResourceNotFoundException ex) {
-// LOGGER.error("Template not found:"+BASE_PATH + templatePath, ex);
- }
-
- if (t == null) {
- try {
- t = velocityEngine.getTemplate(templatePath);
- } catch (ResourceNotFoundException e) {
- try {
- t = velocityEngine.getTemplate("/" + templatePath);
- }
- catch (Exception ex) {
- LOG.error("Template not found:"+ "/" + templatePath, ex);
- }
- }
- }
-
- final StringWriter writer = new StringWriter();
- t.merge(context, writer);
- if(LOG.isDebugEnabled()) LOG.debug(writer.toString());
- return this._send(from, to, cc, title, writer.toString(), mimeBodyParts);
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/e21b073f/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/metric/AlertContext.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/metric/AlertContext.java b/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/metric/AlertContext.java
deleted file mode 100644
index e046edf..0000000
--- a/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/metric/AlertContext.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.eagle.common.metric;
-
-import org.apache.log4j.spi.LoggerFactory;
-import org.codehaus.jackson.map.ObjectMapper;
-import org.slf4j.Logger;
-
-import java.io.Serializable;
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * not thread safe
- */
-public class AlertContext implements Serializable{
- private static final Logger LOG = org.slf4j.LoggerFactory.getLogger(AlertContext.class);
-
- private Map<String, String> properties = new HashMap<String, String>();
-
- public AlertContext(){
- }
-
- public AlertContext(AlertContext context){
- this.properties = new HashMap<String, String>(context.properties);
- }
-
- public String removeProperty(String name)
- {
- return properties.remove(name);
- }
-
- public AlertContext addProperty(String name, String value){
- properties.put(name, value);
- return this;
- }
-
- public AlertContext addAll(Map<String,String> propHash){
- this.properties.putAll(propHash);
- return this;
- }
-
- public String toJsonString(){
- ObjectMapper objectMapper = new ObjectMapper();
- try {
- return objectMapper.writeValueAsString(properties);
- }catch(Exception ex){
- LOG.error("fail converting alertcontext into string", ex);
- return null;
- }
- }
-
- public static AlertContext fromJsonString(String json){
- ObjectMapper objectMapper = new ObjectMapper();
- try{
- Map m = objectMapper.readValue(json, Map.class);
- AlertContext c = new AlertContext();
- c.addAll(m);
- return c;
- }catch(Exception ex){
- LOG.error("fail converting string into alertcontext", ex);
- return null;
- }
- }
-
- public String getProperty(String name){
- return properties.get(name);
- }
-
- public String toString(){
- return properties.toString();
- }
-
- public Map<String, String> getProperties(){
- return properties;
- }
-
- public void setProperties(Map<String, String> properties){
- this.properties = properties;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/e21b073f/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/service/HadoopAccountService.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/service/HadoopAccountService.java b/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/service/HadoopAccountService.java
deleted file mode 100644
index 0b4893a..0000000
--- a/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/service/HadoopAccountService.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.eagle.common.service;
-
-import java.util.List;
-
-public interface HadoopAccountService {
- public List<HadoopUser> searchByUsername(List<String> username);
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/e21b073f/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/service/HadoopUser.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/service/HadoopUser.java b/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/service/HadoopUser.java
deleted file mode 100644
index 2e84f77..0000000
--- a/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/service/HadoopUser.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.eagle.common.service;
-
-import java.util.List;
-
-/**
- * @since : 7/11/14,2014
- */
-public class HadoopUser {
- public String getUsername() {
- return username;
- }
-
- public void setUsername(String username) {
- this.username = username;
- }
-
- protected String username;
-
- public List<String> getEmail() {
- return email;
- }
-
- public void setEmail(List<String> emails) {
- this.email = emails;
- }
-
- protected List<String> email;
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/e21b073f/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/service/LdapService.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/service/LdapService.java b/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/service/LdapService.java
deleted file mode 100644
index 31f1d01..0000000
--- a/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/service/LdapService.java
+++ /dev/null
@@ -1,259 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.eagle.common.service;
-
-
-import org.apache.eagle.common.config.EagleConfig;
-import org.apache.eagle.common.config.EagleConfigFactory;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import javax.naming.Context;
-import javax.naming.NamingEnumeration;
-import javax.naming.NamingException;
-import javax.naming.directory.*;
-import java.util.*;
-
-/**
- * @since : 7/11/14,2014
- */
-public class LdapService {
- private final static Logger LOG = LoggerFactory.getLogger(LdapService.class);
-
- private final List<String> ldapSrvs;
- private String ldapCerts;
- private final String securityPrincipal;
- private final String securityCredentials;
-
- public final static String SECURITY_PRINCIPAL_CONFIG_NAME = "eagle.ldap.security-principal";
- public final static String SECURITY_CREDENTIALS_CONFIG_NAME = "eagle.ldap.security-credentials";
- public final static String LDAP_SERVER_CONFIG_NAME = "eagle.ldap.server";
- public final static String LDAP_CERTS_CONFIG_NAME = "eagle.ldap.certs";
- public final static String DEFAULT_LDAP_CERTS_FILE_NAME = "jssecacerts";
-
- private LdapService(){
- EagleConfig manager = EagleConfigFactory.load();
- securityPrincipal = manager.getConfig().getString(SECURITY_PRINCIPAL_CONFIG_NAME);
- securityCredentials = manager.getConfig().getString(SECURITY_CREDENTIALS_CONFIG_NAME);
- String ldapServer = manager.getConfig().getString(LDAP_SERVER_CONFIG_NAME);
- if(LOG.isDebugEnabled())
- LOG.debug(SECURITY_PRINCIPAL_CONFIG_NAME+":"+securityPrincipal);
- if(securityCredentials!=null){
- if(LOG.isDebugEnabled())
- LOG.debug(SECURITY_CREDENTIALS_CONFIG_NAME+": (hidden for security, length: "+securityCredentials.length()+")");
- }else{
- LOG.warn(SECURITY_CREDENTIALS_CONFIG_NAME+":"+null);
- }
- if(LOG.isDebugEnabled())
- LOG.debug(LDAP_SERVER_CONFIG_NAME+":"+ldapServer);
-
- ldapSrvs = Arrays.asList(ldapServer.split(","));
- ldapCerts = manager.getConfig().getString(LDAP_CERTS_CONFIG_NAME);
- if(ldapCerts == null) {
- ldapCerts = LdapService.class.getClassLoader().getResource(DEFAULT_LDAP_CERTS_FILE_NAME).getPath();
- }else if(!ldapCerts.startsWith("/") && !ldapCerts.matches("[a-zA-Z]+:.*")) {
- ldapCerts = LdapService.class.getClassLoader().getResource(ldapCerts).getPath();
- }
- if(LOG.isDebugEnabled()) {
- LOG.debug(SECURITY_PRINCIPAL_CONFIG_NAME +": "+securityPrincipal);
- if(securityCredentials == null){
- LOG.debug(SECURITY_CREDENTIALS_CONFIG_NAME +": null");
- }else{
- LOG.debug(SECURITY_CREDENTIALS_CONFIG_NAME +": (hidden, length: "+securityCredentials .length()+")");
- }
-
- LOG.debug(LDAP_SERVER_CONFIG_NAME +": "+ldapSrvs);
- LOG.debug(LDAP_CERTS_CONFIG_NAME +": "+ldapCerts);
- }
- }
-
- private static LdapService instance;
-
- public static LdapService getInstance(){
- if(instance == null){
- instance = new LdapService();
- }
- return instance;
- }
-
- protected DirContext getDirContext(int id) {
- if (ldapCerts != null) {
- System.setProperty("javax.net.ssl.keyStore", ldapCerts);
- System.setProperty("javax.net.ssl.trustStore", ldapCerts);
- }
-
- String host = ldapSrvs.get(id);
-
- Hashtable<String, String> env = new Hashtable<String, String>();
-// if (ldapCerts != null) {
- env.put(Context.SECURITY_PROTOCOL, "ssl");
-// }
- env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
- env.put(Context.PROVIDER_URL, host);
- env.put(Context.SECURITY_AUTHENTICATION, "simple");
- env.put(Context.SECURITY_PRINCIPAL, securityPrincipal);
- env.put(Context.SECURITY_CREDENTIALS, securityCredentials);
- env.put("java.naming.ldap.attributes.binary", "objectSID");
- env.put("java.naming.ldap.factory.socket","hadoop.eagle.common.service.TrustAllSSLSocketFactory");
-
- DirContext ctx = null;
- try {
- ctx = new InitialDirContext(env);
- } catch (Exception e) {
- ctx = null;
- LOG.error("LDAP authentication failed with exception: " + e.getMessage(), e);
- }
- return ctx;
- }
-
- public final static String CN= "cn";
- public final static String DISPLAY_NAME = "displayName";
- public final static String DESCRIPTION= "description";
- public final static String SAMACCOUNT_NAME= "sAMAccountName";
- public final static String TELEPHONE_NUMBER= "telephonenumber";
- public final static String GIVEN_NAME= "givenName";
- public final static String UID_NUMBER = "uidNumber";
- public final static String L = "l";
- public final static String ST = "st";
- public final static String CO = "co";
- public final static String MEMBER_OF = "memberof";
- public final static String SN = "sn";
- public final static String MAIL = "mail";
- public final static String DISTINGUISHED_NAME = "distinguishedName";
-
- protected SearchControls getSearchControl() {
- SearchControls sc = new SearchControls();
-
- String[] attributeFilter = new String[15];
- attributeFilter[0] = CN;
- attributeFilter[1] = DISPLAY_NAME ;
- attributeFilter[2] = DESCRIPTION;
- attributeFilter[3] = SAMACCOUNT_NAME;
- attributeFilter[4] = TELEPHONE_NUMBER;
- attributeFilter[5] = GIVEN_NAME;
- attributeFilter[6] = UID_NUMBER;
- attributeFilter[7] = L;
- attributeFilter[8] = ST;
- attributeFilter[9] =CO;
- attributeFilter[10] = MEMBER_OF;
- attributeFilter[11] = SN;
- attributeFilter[12] = MAIL;
- attributeFilter[13] = DISTINGUISHED_NAME;
-
- sc.setReturningAttributes(attributeFilter);
- sc.setSearchScope(SearchControls.SUBTREE_SCOPE);
-
- return sc;
- }
-
- public Map<String, String> getUserInfo(String userName) {
- Map<String, String> infos = null;
- for (int i = 0; i < ldapSrvs.size(); i++) {
- if(LOG.isDebugEnabled()) LOG.debug("Using server: "+ldapSrvs.get(i));
- infos = getUserInfo(i, userName);
- if (infos.size() > 0)
- break;
- }
- return infos;
- }
-
- public Map<String, String> getUserInfo(int id, String userName) {
- if(LOG.isDebugEnabled()) LOG.debug("Ldap get user information for id:"+id+", username:"+userName);
- DirContext ctx = getDirContext(id);
- Map<String, String> infos = new HashMap<String, String>();
-
- if (ctx != null) {
- try {
- SearchControls sc = getSearchControl();
- String filter = "(&(objectClass=user)(sAMAccountName=" + userName + "))";
- NamingEnumeration<?> results = ctx.search("OU=Accounts_User,DC=corp,DC=company1,DC=com", filter, sc);
-
- while (results.hasMore()) {
- SearchResult sr = (SearchResult) results.next();
- Attributes attrs = sr.getAttributes();
-
- for (NamingEnumeration<?> ae = attrs.getAll(); ae.hasMoreElements();) {
- Attribute attr = (Attribute) ae.next();
- String attrId = attr.getID();
- for (NamingEnumeration<?> vals = attr.getAll(); vals.hasMore();) {
- String thing = vals.next().toString();
- infos.put(attrId, thing);
- }
- }
- }
- } catch (NamingException e) {
- LOG.error("LDAP authentication failed with exception: "+e.getMessage(),e);
- }
- }
-
- if(LOG.isDebugEnabled()) LOG.debug(infos.toString());
- return infos;
- }
-
- public boolean authenticate(String userName, String password) {
- for (int i = 0; i < ldapSrvs.size(); i++) {
- if (authenticate(i, userName, password))
- return true;
- }
- return false;
- }
-
- public boolean authenticate(int id, String userName, String password) {
- boolean result = false;
-
- DirContext ctx = getDirContext(id);
- if (ctx != null) {
- try {
- SearchControls sc = getSearchControl();
- String filter = "(&(objectClass=user)(sAMAccountName=" + userName + "))";
- NamingEnumeration<?> results = ctx.search("OU=Accounts_User,DC=corp,DC=company1,DC=com", filter, sc);
-
- String userDN = null;
- if (results.hasMore()) {
- while (results.hasMore()) {
- SearchResult sr = (SearchResult) results.next();
- Attributes attrs = sr.getAttributes();
-
- userDN = attrs.get("distinguishedName").get().toString();
- }
- }
- ctx.close();
-
- if (userDN != null) {
- Hashtable<String, String> uenv = new Hashtable<String, String>();
-// if (ldapCerts != null) {
- uenv.put(Context.SECURITY_PROTOCOL, "ssl");
-// }
- uenv.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
- uenv.put(Context.PROVIDER_URL, ldapSrvs.get(id));
- uenv.put(Context.SECURITY_AUTHENTICATION, "simple");
- uenv.put(Context.SECURITY_PRINCIPAL, userDN);
- uenv.put(Context.SECURITY_CREDENTIALS, password);
- uenv.put("java.naming.ldap.factory.socket","hadoop.eagle.common.service.TrustAllSSLSocketFactory");
- DirContext uctx = new InitialDirContext(uenv);
- uctx.close();
-
- result = true;
- }
- } catch (NamingException e) {
- LOG.error("LDAP authentication failed with exception: " + e.getMessage(), e);
- }
- }
-
- return result;
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/e21b073f/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/service/POSTResultEntityBase.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/service/POSTResultEntityBase.java b/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/service/POSTResultEntityBase.java
deleted file mode 100644
index e0daeb7..0000000
--- a/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/service/POSTResultEntityBase.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.eagle.common.service;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
-
-@XmlRootElement
-@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(propOrder = {"success", "exception"})
-public class POSTResultEntityBase {
- private boolean success;
- private String exception;
- 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;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/e21b073f/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/service/TrustAllSSLSocketFactory.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/service/TrustAllSSLSocketFactory.java b/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/service/TrustAllSSLSocketFactory.java
deleted file mode 100644
index 9facc82..0000000
--- a/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/service/TrustAllSSLSocketFactory.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.eagle.common.service;
-
-import javax.net.SocketFactory;
-import javax.net.ssl.SSLContext;
-import javax.net.ssl.SSLSocketFactory;
-import javax.net.ssl.TrustManager;
-import javax.net.ssl.X509TrustManager;
-import java.io.IOException;
-import java.net.InetAddress;
-import java.net.Socket;
-import java.net.UnknownHostException;
-import java.security.cert.X509Certificate;
-
-public class TrustAllSSLSocketFactory extends SSLSocketFactory
-{
- private SSLSocketFactory socketFactory;
- public TrustAllSSLSocketFactory()
- {
- try {
- SSLContext ctx = SSLContext.getInstance("SSL");
-// ctx.init(null, new TrustManager[]{new TrustAnyTrustManager() {}}, new SecureRandom());
- ctx.init(null, new TrustManager[]{new TrustAnyTrustManager() {}}, null);
- socketFactory = ctx.getSocketFactory();
- } catch ( Exception ex ){ ex.printStackTrace(System.err); /* handle exception */ }
- }
- public static SocketFactory getDefault(){
- return new TrustAllSSLSocketFactory();
- }
- @Override
- public String[] getDefaultCipherSuites()
- {
- return socketFactory.getDefaultCipherSuites();
- }
- @Override
- public String[] getSupportedCipherSuites()
- {
- return socketFactory.getSupportedCipherSuites();
- }
- @Override
- public Socket createSocket(Socket socket, String string, int i, boolean bln) throws IOException
- {
- return socketFactory.createSocket(socket, string, i, bln);
- }
- @Override
- public Socket createSocket(String string, int i) throws IOException, UnknownHostException
- {
- return socketFactory.createSocket(string, i);
- }
- @Override
- public Socket createSocket(String string, int i, InetAddress ia, int i1) throws IOException, UnknownHostException
- {
- return socketFactory.createSocket(string, i, ia, i1);
- }
- @Override
- public Socket createSocket(InetAddress ia, int i) throws IOException
- {
- return socketFactory.createSocket(ia, i);
- }
- @Override
- public Socket createSocket(InetAddress ia, int i, InetAddress ia1, int i1) throws IOException
- {
- return socketFactory.createSocket(ia, i, ia1, i1);
- }
-
- private static class TrustAnyTrustManager implements X509TrustManager {
- @Override
- public void checkClientTrusted( final X509Certificate[] chain, final String authType ) {
- }
- @Override
- public void checkServerTrusted( final X509Certificate[] chain, final String authType ) {
- }
- @Override
- public X509Certificate[] getAcceptedIssuers() {
- return null;
- }
- }
-}
-
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/e21b073f/eagle-core/eagle-query/eagle-common/src/main/resources/footer.vm
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-common/src/main/resources/footer.vm b/eagle-core/eagle-query/eagle-common/src/main/resources/footer.vm
deleted file mode 100755
index 89cf245..0000000
--- a/eagle-core/eagle-query/eagle-common/src/main/resources/footer.vm
+++ /dev/null
@@ -1,25 +0,0 @@
-#*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * @version 0.3.0
- *#
- </td>
- </tr>
- </tr>
-</table>
-<!-- End of wrapper table -->
-</body>
-</html>