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/12/30 08:27:58 UTC
[06/14] eagle git commit: [MINOR] Migrate 0.5.0-incubating-SNAPSHOT
to 0.5.0-SNAPSHOT
http://git-wip-us.apache.org/repos/asf/eagle/blob/8b3729f9/eagle-webservice/src/main/resources/applicationContext.xml
----------------------------------------------------------------------
diff --git a/eagle-webservice/src/main/resources/applicationContext.xml b/eagle-webservice/src/main/resources/applicationContext.xml
deleted file mode 100644
index 9872e5f..0000000
--- a/eagle-webservice/src/main/resources/applicationContext.xml
+++ /dev/null
@@ -1,43 +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.
- -->
-<beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:context="http://www.springframework.org/schema/context"
- xmlns:mvc="http://www.springframework.org/schema/mvc"
- xmlns:task="http://www.springframework.org/schema/task"
- xmlns:aop="http://www.springframework.org/schema/aop"
- xmlns:cache="http://www.springframework.org/schema/cache"
- xmlns:p="http://www.springframework.org/schema/p"
- xmlns:jdbc="http://www.springframework.org/schema/jdbc"
- xsi:schemaLocation="http://www.springframework.org/schema/beans
- http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
- http://www.springframework.org/schema/context
- http://www.springframework.org/schema/context/spring-context-3.1.xsd
- http://www.springframework.org/schema/task
- http://www.springframework.org/schema/task/spring-task-3.1.xsd
- http://www.springframework.org/schema/mvc
- http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd
- http://www.springframework.org/schema/aop
- http://www.springframework.org/schema/aop/spring-aop-3.1.xsd
- http://www.springframework.org/schema/cache
- http://www.springframework.org/schema/cache/spring-cache.xsd
- http://www.springframework.org/schema/jdbc
- http://www.springframework.org/schema/jdbc/spring-jdbc-3.0.xsd">
-
- <context:component-scan base-package="org.apache.eagle.service.security" />
- <context:property-placeholder location="classpath:ldap.properties"/>
-</beans>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/eagle/blob/8b3729f9/eagle-webservice/src/main/resources/eagle-scheduler.conf
----------------------------------------------------------------------
diff --git a/eagle-webservice/src/main/resources/eagle-scheduler.conf b/eagle-webservice/src/main/resources/eagle-scheduler.conf
deleted file mode 100644
index 74ff18b..0000000
--- a/eagle-webservice/src/main/resources/eagle-scheduler.conf
+++ /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.
-
-
-### scheduler propertise
-appCommandLoaderEnabled = false
-appCommandLoaderIntervalSecs = 1
-appHealthCheckIntervalSecs = 5
-
-### execution platform properties
-envContextConfig.env = "storm"
-envContextConfig.url = "http://sandbox.hortonworks.com:8744"
-envContextConfig.nimbusHost = "sandbox.hortonworks.com"
-envContextConfig.nimbusThriftPort = 6627
-envContextConfig.jarFile = "/dir-to-jar/eagle-topology-0.3.0-incubating-assembly.jar"
-
-### default topology properties
-eagleProps.mailHost = "mailHost.com"
-eagleProps.mailSmtpPort = "25"
-eagleProps.mailDebug = "true"
-eagleProps.eagleService.host = "localhost"
-eagleProps.eagleService.port = 9099
-eagleProps.eagleService.username = "admin"
-eagleProps.eagleService.password = "secret"
-eagleProps.dataJoinPollIntervalSec = 30
-
-dynamicConfigSource.enabled = true
-dynamicConfigSource.initDelayMillis = 0
-dynamicConfigSource.delayMillis = 30000
-
http://git-wip-us.apache.org/repos/asf/eagle/blob/8b3729f9/eagle-webservice/src/main/resources/eagleSecurity.xml
----------------------------------------------------------------------
diff --git a/eagle-webservice/src/main/resources/eagleSecurity.xml b/eagle-webservice/src/main/resources/eagleSecurity.xml
deleted file mode 100644
index 952f2e7..0000000
--- a/eagle-webservice/src/main/resources/eagleSecurity.xml
+++ /dev/null
@@ -1,90 +0,0 @@
-<?xml version="1.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.
- -->
-
-<beans xmlns="http://www.springframework.org/schema/beans" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:scr="http://www.springframework.org/schema/security" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans
- http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
- http://www.springframework.org/schema/security
- http://www.springframework.org/schema/security/spring-security-3.1.xsd
- http://www.springframework.org/schema/tx
- http://www.springframework.org/schema/tx/spring-tx-3.1.xsd">
-
- <scr:http auto-config="true" use-expressions="true">
- <!-- Support HTTP Basic Auth-->
- <scr:http-basic entry-point-ref="unauthorisedEntryPoint"/>
- <scr:intercept-url pattern="/rest/entities" method="POST" access="hasRole('ROLE_ADMIN')" />
- <scr:intercept-url pattern="/rest/entities/delete" method="POST" access="hasRole('ROLE_ADMIN')" />
- <scr:intercept-url pattern="/rest/list" method="POST" access="hasRole('ROLE_ADMIN')" />
- <scr:intercept-url pattern="/rest/status" method="GET" access="permitAll" />
- <scr:intercept-url pattern="/rest/*" access="isAuthenticated()" />
- <scr:logout logout-url="/logout" invalidate-session="true" delete-cookies="JSESSIONID" success-handler-ref="logoutSuccessHandler"/>
- <scr:session-management session-fixation-protection="newSession"/>
- </scr:http>
-
- <bean id="passwordEncoder" class="org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder" />
- <bean id="logoutSuccessHandler" class="org.apache.eagle.service.security.auth.LogoutSuccessHandlerImpl" />
- <bean id="unauthorisedEntryPoint" class="org.springframework.security.web.authentication.Http403ForbiddenEntryPoint" />
-
- <beans profile="default">
- <bean id="ldapUserAuthProvider" class="org.springframework.security.ldap.authentication.LdapAuthenticationProvider">
- <constructor-arg>
- <bean class="org.springframework.security.ldap.authentication.BindAuthenticator">
- <constructor-arg ref="ldapSource" />
- <property name="userSearch">
- <bean id="userSearch" class="org.springframework.security.ldap.search.FilterBasedLdapUserSearch">
- <constructor-arg index="0" value="${ldap.user.searchBase}" />
- <constructor-arg index="1" value="${ldap.user.searchPattern}" />
- <constructor-arg index="2" ref="ldapSource" />
- </bean>
- </property>
- </bean>
- </constructor-arg>
- <constructor-arg>
- <bean class="org.apache.eagle.service.security.auth.AuthoritiesPopulator">
- <constructor-arg index="0" ref="ldapSource" />
- <constructor-arg index="1" value="${ldap.user.groupSearchBase}" />
- <constructor-arg index="2" value="${acl.adminRole}" />
- <constructor-arg index="3" value="${acl.defaultRole}" />
- </bean>
- </constructor-arg>
- </bean>
-
- <scr:authentication-manager alias="authenticationManager">
- <!-- do user ldap auth -->
- <scr:authentication-provider ref="ldapUserAuthProvider"></scr:authentication-provider>
- </scr:authentication-manager>
-
- <bean id="ldapSource" class="org.springframework.security.ldap.DefaultSpringSecurityContextSource">
- <constructor-arg value="${ldap.server}" />
- <property name="userDn" value="${ldap.username}" />
- <property name="password" value="${ldap.password}" />
- </bean>
- </beans>
-
- <beans profile="sandbox,testing">
- <scr:authentication-manager alias="authenticationManager">
- <scr:authentication-provider>
- <scr:user-service>
- <!-- user admin has role ADMIN, user eagle has role USER, both have password "secret" -->
- <scr:user name="eagle" password="$2a$10$TwALMRHpSetDaeTurg9rj.DnIdOde4fkQGBSPG3fVqtH.G5ZH8sQK" authorities="ROLE_USER" />
- <scr:user name="admin" password="$2a$10$TwALMRHpSetDaeTurg9rj.DnIdOde4fkQGBSPG3fVqtH.G5ZH8sQK" authorities="ROLE_ADMIN" />
- </scr:user-service>
- <scr:password-encoder ref="passwordEncoder" />
- </scr:authentication-provider>
- </scr:authentication-manager>
- </beans>
-</beans>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/eagle/blob/8b3729f9/eagle-webservice/src/main/resources/hbase-default.xml
----------------------------------------------------------------------
diff --git a/eagle-webservice/src/main/resources/hbase-default.xml b/eagle-webservice/src/main/resources/hbase-default.xml
deleted file mode 100644
index fe7a895..0000000
--- a/eagle-webservice/src/main/resources/hbase-default.xml
+++ /dev/null
@@ -1,935 +0,0 @@
-<?xml version="1.0"?>
-<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
-<!--
-/**
- * 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.
- */
--->
-<configuration>
- <property>
- <name>hbase.rootdir</name>
- <value>file:///tmp/hbase-${user.name}/hbase</value>
- <description>The directory shared by region servers and into
- which HBase persists. The URL should be 'fully-qualified'
- to include the filesystem scheme. For example, to specify the
- HDFS directory '/hbase' where the HDFS instance's namenode is
- running at namenode.example.org on port 9000, set this value to:
- hdfs://namenode.example.org:9000/hbase. By default HBase writes
- into /tmp. Change this configuration else all data will be lost
- on machine restart.
- </description>
- </property>
- <property>
- <name>hbase.master.port</name>
- <value>60000</value>
- <description>The port the HBase Master should bind to.</description>
- </property>
- <property>
- <name>hbase.cluster.distributed</name>
- <value>false</value>
- <description>The mode the cluster will be in. Possible values are
- false for standalone mode and true for distributed mode. If
- false, startup will run all HBase and ZooKeeper daemons together
- in the one JVM.
- </description>
- </property>
- <property>
- <name>hbase.tmp.dir</name>
- <value>/tmp/hbase-${user.name}</value>
- <description>Temporary directory on the local filesystem.
- Change this setting to point to a location more permanent
- than '/tmp' (The '/tmp' directory is often cleared on
- machine restart).
- </description>
- </property>
- <property>
- <name>hbase.master.info.port</name>
- <value>60010</value>
- <description>The port for the HBase Master web UI.
- Set to -1 if you do not want a UI instance run.
- </description>
- </property>
- <property>
- <name>hbase.master.info.bindAddress</name>
- <value>0.0.0.0</value>
- <description>The bind address for the HBase Master web UI
- </description>
- </property>
- <property>
- <name>hbase.client.write.buffer</name>
- <value>2097152</value>
- <description>Default size of the HTable clien write buffer in bytes.
- A bigger buffer takes more memory -- on both the client and server
- side since server instantiates the passed write buffer to process
- it -- but a larger buffer size reduces the number of RPCs made.
- For an estimate of server-side memory-used, evaluate
- hbase.client.write.buffer * hbase.regionserver.handler.count
- </description>
- </property>
- <property>
- <name>hbase.regionserver.port</name>
- <value>60020</value>
- <description>The port the HBase RegionServer binds to.
- </description>
- </property>
- <property>
- <name>hbase.regionserver.info.port</name>
- <value>60030</value>
- <description>The port for the HBase RegionServer web UI
- Set to -1 if you do not want the RegionServer UI to run.
- </description>
- </property>
- <property>
- <name>hbase.regionserver.info.port.auto</name>
- <value>false</value>
- <description>Whether or not the Master or RegionServer
- UI should search for a port to bind to. Enables automatic port
- search if hbase.regionserver.info.port is already in use.
- Useful for testing, turned off by default.
- </description>
- </property>
- <property>
- <name>hbase.regionserver.info.bindAddress</name>
- <value>0.0.0.0</value>
- <description>The address for the HBase RegionServer web UI
- </description>
- </property>
- <property>
- <name>hbase.regionserver.class</name>
- <value>org.apache.hadoop.hbase.ipc.HRegionInterface</value>
- <description>The RegionServer interface to use.
- Used by the client opening proxy to remote region server.
- </description>
- </property>
- <property>
- <name>hbase.client.pause</name>
- <value>1000</value>
- <description>General client pause value. Used mostly as value to wait
- before running a retry of a failed get, region lookup, etc.</description>
- </property>
- <property>
- <name>hbase.client.retries.number</name>
- <value>10</value>
- <description>Maximum retries. Used as maximum for all retryable
- operations such as fetching of the root region from root region
- server, getting a cell's value, starting a row update, etc.
- Default: 10.
- </description>
- </property>
- <property>
- <name>hbase.bulkload.retries.number</name>
- <value>0</value>
- <description>Maximum retries. This is maximum number of iterations
- to atomic bulk loads are attempted in the face of splitting operations
- 0 means never give up. Default: 0.
- </description>
- </property>
- <property>
- <name>hbase.client.scanner.caching</name>
- <value>1</value>
- <description>Number of rows that will be fetched when calling next
- on a scanner if it is not served from (local, client) memory. Higher
- caching values will enable faster scanners but will eat up more memory
- and some calls of next may take longer and longer times when the cache is empty.
- Do not set this value such that the time between invocations is greater
- than the scanner timeout; i.e. hbase.regionserver.lease.period
- </description>
- </property>
- <property>
- <name>hbase.client.keyvalue.maxsize</name>
- <value>10485760</value>
- <description>Specifies the combined maximum allowed size of a KeyValue
- instance. This is to set an upper boundary for a single entry saved in a
- storage file. Since they cannot be split it helps avoiding that a region
- cannot be split any further because the data is too large. It seems wise
- to set this to a fraction of the maximum region size. Setting it to zero
- or less disables the check.
- </description>
- </property>
- <property>
- <name>hbase.regionserver.lease.period</name>
- <value>60000</value>
- <description>HRegion server lease period in milliseconds. Default is
- 60 seconds. Clients must report in within this period else they are
- considered dead.</description>
- </property>
- <property>
- <name>hbase.regionserver.handler.count</name>
- <value>10</value>
- <description>Count of RPC Listener instances spun up on RegionServers.
- Same property is used by the Master for count of master handlers.
- Default is 10.
- </description>
- </property>
- <property>
- <name>hbase.regionserver.msginterval</name>
- <value>3000</value>
- <description>Interval between messages from the RegionServer to Master
- in milliseconds.
- </description>
- </property>
- <property>
- <name>hbase.regionserver.optionallogflushinterval</name>
- <value>1000</value>
- <description>Sync the HLog to the HDFS after this interval if it has not
- accumulated enough entries to trigger a sync. Default 1 second. Units:
- milliseconds.
- </description>
- </property>
- <property>
- <name>hbase.regionserver.regionSplitLimit</name>
- <value>2147483647</value>
- <description>Limit for the number of regions after which no more region
- splitting should take place. This is not a hard limit for the number of
- regions but acts as a guideline for the regionserver to stop splitting after
- a certain limit. Default is set to MAX_INT; i.e. do not block splitting.
- </description>
- </property>
- <property>
- <name>hbase.regionserver.logroll.period</name>
- <value>3600000</value>
- <description>Period at which we will roll the commit log regardless
- of how many edits it has.</description>
- </property>
- <property>
- <name>hbase.regionserver.logroll.errors.tolerated</name>
- <value>2</value>
- <description>The number of consecutive WAL close errors we will allow
- before triggering a server abort. A setting of 0 will cause the
- region server to abort if closing the current WAL writer fails during
- log rolling. Even a small value (2 or 3) will allow a region server
- to ride over transient HDFS errors.</description>
- </property>
- <property>
- <name>hbase.regionserver.hlog.reader.impl</name>
- <value>org.apache.hadoop.hbase.regionserver.wal.SequenceFileLogReader</value>
- <description>The HLog file reader implementation.</description>
- </property>
- <property>
- <name>hbase.regionserver.hlog.writer.impl</name>
- <value>org.apache.hadoop.hbase.regionserver.wal.SequenceFileLogWriter</value>
- <description>The HLog file writer implementation.</description>
- </property>
- <property>
- <name>hbase.regionserver.nbreservationblocks</name>
- <value>4</value>
- <description>The number of resevoir blocks of memory release on
- OOME so we can cleanup properly before server shutdown.
- </description>
- </property>
- <property>
- <name>hbase.zookeeper.dns.interface</name>
- <value>default</value>
- <description>The name of the Network Interface from which a ZooKeeper server
- should report its IP address.
- </description>
- </property>
- <property>
- <name>hbase.zookeeper.dns.nameserver</name>
- <value>default</value>
- <description>The host name or IP address of the name server (DNS)
- which a ZooKeeper server should use to determine the host name used by the
- master for communication and display purposes.
- </description>
- </property>
- <property>
- <name>hbase.regionserver.dns.interface</name>
- <value>default</value>
- <description>The name of the Network Interface from which a region server
- should report its IP address.
- </description>
- </property>
- <property>
- <name>hbase.regionserver.dns.nameserver</name>
- <value>default</value>
- <description>The host name or IP address of the name server (DNS)
- which a region server should use to determine the host name used by the
- master for communication and display purposes.
- </description>
- </property>
- <property>
- <name>hbase.master.dns.interface</name>
- <value>default</value>
- <description>The name of the Network Interface from which a master
- should report its IP address.
- </description>
- </property>
- <property>
- <name>hbase.master.dns.nameserver</name>
- <value>default</value>
- <description>The host name or IP address of the name server (DNS)
- which a master should use to determine the host name used
- for communication and display purposes.
- </description>
- </property>
- <property>
- <name>hbase.balancer.period
- </name>
- <value>300000</value>
- <description>Period at which the region balancer runs in the Master.
- </description>
- </property>
- <property>
- <name>hbase.regions.slop</name>
- <value>0.2</value>
- <description>Rebalance if any regionserver has average + (average * slop) regions.
- Default is 20% slop.
- </description>
- </property>
- <property>
- <name>hbase.master.logcleaner.ttl</name>
- <value>600000</value>
- <description>Maximum time a HLog can stay in the .oldlogdir directory,
- after which it will be cleaned by a Master thread.
- </description>
- </property>
- <property>
- <name>hbase.master.logcleaner.plugins</name>
- <value>org.apache.hadoop.hbase.master.cleaner.TimeToLiveLogCleaner</value>
- <description>A comma-separated list of LogCleanerDelegate invoked by
- the LogsCleaner service. These WAL/HLog cleaners are called in order,
- so put the HLog cleaner that prunes the most HLog files in front. To
- implement your own LogCleanerDelegate, just put it in HBase's classpath
- and add the fully qualified class name here. Always add the above
- default log cleaners in the list.
- </description>
- </property>
- <property>
- <name>hbase.regionserver.global.memstore.upperLimit</name>
- <value>0.4</value>
- <description>Maximum size of all memstores in a region server before new
- updates are blocked and flushes are forced. Defaults to 40% of heap
- </description>
- </property>
- <property>
- <name>hbase.regionserver.global.memstore.lowerLimit</name>
- <value>0.35</value>
- <description>When memstores are being forced to flush to make room in
- memory, keep flushing until we hit this mark. Defaults to 35% of heap.
- This value equal to hbase.regionserver.global.memstore.upperLimit causes
- the minimum possible flushing to occur when updates are blocked due to
- memstore limiting.
- </description>
- </property>
- <property>
- <name>hbase.server.thread.wakefrequency</name>
- <value>10000</value>
- <description>Time to sleep in between searches for work (in milliseconds).
- Used as sleep interval by service threads such as log roller.
- </description>
- </property>
- <property>
- <name>hbase.server.versionfile.writeattempts</name>
- <value>3</value>
- <description>
- How many time to retry attempting to write a version file
- before just aborting. Each attempt is seperated by the
- hbase.server.thread.wakefrequency milliseconds.
- </description>
- </property>
- <property>
- <name>hbase.hregion.memstore.flush.size</name>
- <value>134217728</value>
- <description>
- Memstore will be flushed to disk if size of the memstore
- exceeds this number of bytes. Value is checked by a thread that runs
- every hbase.server.thread.wakefrequency.
- </description>
- </property>
- <property>
- <name>hbase.hregion.preclose.flush.size</name>
- <value>5242880</value>
- <description>
- If the memstores in a region are this size or larger when we go
- to close, run a "pre-flush" to clear out memstores before we put up
- the region closed flag and take the region offline. On close,
- a flush is run under the close flag to empty memory. During
- this time the region is offline and we are not taking on any writes.
- If the memstore content is large, this flush could take a long time to
- complete. The preflush is meant to clean out the bulk of the memstore
- before putting up the close flag and taking the region offline so the
- flush that runs under the close flag has little to do.
- </description>
- </property>
- <property>
- <name>hbase.hregion.memstore.block.multiplier</name>
- <value>2</value>
- <description>
- Block updates if memstore has hbase.hregion.block.memstore
- time hbase.hregion.flush.size bytes. Useful preventing
- runaway memstore during spikes in update traffic. Without an
- upper-bound, memstore fills such that when it flushes the
- resultant flush files take a long time to compact or split, or
- worse, we OOME.
- </description>
- </property>
- <property>
- <name>hbase.hregion.memstore.mslab.enabled</name>
- <value>true</value>
- <description>
- Enables the MemStore-Local Allocation Buffer,
- a feature which works to prevent heap fragmentation under
- heavy write loads. This can reduce the frequency of stop-the-world
- GC pauses on large heaps.
- </description>
- </property>
- <property>
- <name>hbase.hregion.max.filesize</name>
- <value>10737418240</value>
- <description>
- Maximum HStoreFile size. If any one of a column families' HStoreFiles has
- grown to exceed this value, the hosting HRegion is split in two.
- Default: 10G.
- </description>
- </property>
- <property>
- <name>hbase.hstore.compactionThreshold</name>
- <value>3</value>
- <description>
- If more than this number of HStoreFiles in any one HStore
- (one HStoreFile is written per flush of memstore) then a compaction
- is run to rewrite all HStoreFiles files as one. Larger numbers
- put off compaction but when it runs, it takes longer to complete.
- </description>
- </property>
- <property>
- <name>hbase.hstore.blockingStoreFiles</name>
- <value>7</value>
- <description>
- If more than this number of StoreFiles in any one Store
- (one StoreFile is written per flush of MemStore) then updates are
- blocked for this HRegion until a compaction is completed, or
- until hbase.hstore.blockingWaitTime has been exceeded.
- </description>
- </property>
- <property>
- <name>hbase.hstore.blockingWaitTime</name>
- <value>90000</value>
- <description>
- The time an HRegion will block updates for after hitting the StoreFile
- limit defined by hbase.hstore.blockingStoreFiles.
- After this time has elapsed, the HRegion will stop blocking updates even
- if a compaction has not been completed. Default: 90 seconds.
- </description>
- </property>
- <property>
- <name>hbase.hstore.compaction.max</name>
- <value>10</value>
- <description>Max number of HStoreFiles to compact per 'minor' compaction.
- </description>
- </property>
- <property>
- <name>hbase.hregion.majorcompaction</name>
- <value>86400000</value>
- <description>The time (in miliseconds) between 'major' compactions of all
- HStoreFiles in a region. Default: 1 day.
- Set to 0 to disable automated major compactions.
- </description>
- </property>
- <property>
- <name>hbase.mapreduce.hfileoutputformat.blocksize</name>
- <value>65536</value>
- <description>The mapreduce HFileOutputFormat writes storefiles/hfiles.
- This is the minimum hfile blocksize to emit. Usually in hbase, writing
- hfiles, the blocksize is gotten from the table schema (HColumnDescriptor)
- but in the mapreduce outputformat context, we don't have access to the
- schema so get blocksize from Configuration. The smaller you make
- the blocksize, the bigger your index and the less you fetch on a
- random-access. Set the blocksize down if you have small cells and want
- faster random-access of individual cells.
- </description>
- </property>
- <property>
- <name>hfile.block.cache.size</name>
- <value>0.25</value>
- <description>
- Percentage of maximum heap (-Xmx setting) to allocate to block cache
- used by HFile/StoreFile. Default of 0.25 means allocate 25%.
- Set to 0 to disable but it's not recommended.
- </description>
- </property>
- <property>
- <name>hbase.hash.type</name>
- <value>murmur</value>
- <description>The hashing algorithm for use in HashFunction. Two values are
- supported now: murmur (MurmurHash) and jenkins (JenkinsHash).
- Used by bloom filters.
- </description>
- </property>
- <property>
- <name>hfile.block.index.cacheonwrite</name>
- <value>false</value>
- <description>
- This allows to put non-root multi-level index blocks into the block
- cache at the time the index is being written.
- </description>
- </property>
- <property>
- <name>hbase.regionserver.checksum.verify</name>
- <value>false</value>
- <description>
- Allow hbase to do checksums rather than using hdfs checksums. This is a backwards
- incompatible change.
- </description>
- </property>
- <property>
- <name>hfile.index.block.max.size</name>
- <value>131072</value>
- <description>
- When the size of a leaf-level, intermediate-level, or root-level
- index block in a multi-level block index grows to this size, the
- block is written out and a new block is started.
- </description>
- </property>
- <property>
- <name>hfile.format.version</name>
- <value>2</value>
- <description>
- The HFile format version to use for new files. Set this to 1 to test
- backwards-compatibility. The default value of this option should be
- consistent with FixedFileTrailer.MAX_VERSION.
- </description>
- </property>
- <property>
- <name>io.storefile.bloom.block.size</name>
- <value>131072</value>
- <description>
- The size in bytes of a single block ("chunk") of a compound Bloom
- filter. This size is approximate, because Bloom blocks can only be
- inserted at data block boundaries, and the number of keys per data
- block varies.
- </description>
- </property>
- <property>
- <name>io.storefile.bloom.cacheonwrite</name>
- <value>false</value>
- <description>
- Enables cache-on-write for inline blocks of a compound Bloom filter.
- </description>
- </property>
- <property>
- <name>hbase.rs.cacheblocksonwrite</name>
- <value>false</value>
- <description>
- Whether an HFile block should be added to the block cache when the
- block is finished.
- </description>
- </property>
- <property>
- <name>hbase.rpc.engine</name>
- <value>org.apache.hadoop.hbase.ipc.WritableRpcEngine</value>
- <description>Implementation of org.apache.hadoop.hbase.ipc.RpcEngine to be
- used for client / server RPC call marshalling.
- </description>
- </property>
-
- <!-- The following properties configure authentication information for
- HBase processes when using Kerberos security. There are no default
- values, included here for documentation purposes -->
- <property>
- <name>hbase.master.keytab.file</name>
- <value></value>
- <description>Full path to the kerberos keytab file to use for logging in
- the configured HMaster server principal.
- </description>
- </property>
- <property>
- <name>hbase.master.kerberos.principal</name>
- <value></value>
- <description>Ex. "hbase/_HOST@EXAMPLE.COM". The kerberos principal name
- that should be used to run the HMaster process. The principal name should
- be in the form: user/hostname@DOMAIN. If "_HOST" is used as the hostname
- portion, it will be replaced with the actual hostname of the running
- instance.
- </description>
- </property>
- <property>
- <name>hbase.regionserver.keytab.file</name>
- <value></value>
- <description>Full path to the kerberos keytab file to use for logging in
- the configured HRegionServer server principal.
- </description>
- </property>
- <property>
- <name>hbase.regionserver.kerberos.principal</name>
- <value></value>
- <description>Ex. "hbase/_HOST@EXAMPLE.COM". The kerberos principal name
- that should be used to run the HRegionServer process. The principal name
- should be in the form: user/hostname@DOMAIN. If "_HOST" is used as the
- hostname portion, it will be replaced with the actual hostname of the
- running instance. An entry for this principal must exist in the file
- specified in hbase.regionserver.keytab.file
- </description>
- </property>
-
- <!-- Additional configuration specific to HBase security -->
- <property>
- <name>hadoop.policy.file</name>
- <value>hbase-policy.xml</value>
- <description>The policy configuration file used by RPC servers to make
- authorization decisions on client requests. Only used when HBase
- security is enabled.
- </description>
- </property>
- <property>
- <name>hbase.superuser</name>
- <value></value>
- <description>List of users or groups (comma-separated), who are allowed
- full privileges, regardless of stored ACLs, across the cluster.
- Only used when HBase security is enabled.
- </description>
- </property>
- <property>
- <name>hbase.auth.key.update.interval</name>
- <value>86400000</value>
- <description>The update interval for master key for authentication tokens
- in servers in milliseconds. Only used when HBase security is enabled.
- </description>
- </property>
- <property>
- <name>hbase.auth.token.max.lifetime</name>
- <value>604800000</value>
- <description>The maximum lifetime in milliseconds after which an
- authentication token expires. Only used when HBase security is enabled.
- </description>
- </property>
-
- <property>
- <name>zookeeper.session.timeout</name>
- <value>180000</value>
- <description>ZooKeeper session timeout.
- HBase passes this to the zk quorum as suggested maximum time for a
- session (This setting becomes zookeeper's 'maxSessionTimeout'). See
- http://hadoop.apache.org/zookeeper/docs/current/zookeeperProgrammers.html#ch_zkSessions
- "The client sends a requested timeout, the server responds with the
- timeout that it can give the client. " In milliseconds.
- </description>
- </property>
- <property>
- <name>zookeeper.znode.parent</name>
- <value>/hbase-unsecure</value>
- <description>Root ZNode for HBase in ZooKeeper. All of HBase's ZooKeeper
- files that are configured with a relative path will go under this node.
- By default, all of HBase's ZooKeeper file path are configured with a
- relative path, so they will all go under this directory unless changed.
- </description>
- </property>
- <property>
- <name>zookeeper.znode.rootserver</name>
- <value>root-region-server</value>
- <description>Path to ZNode holding root region location. This is written by
- the master and read by clients and region servers. If a relative path is
- given, the parent folder will be ${zookeeper.znode.parent}. By default,
- this means the root location is stored at /hbase/root-region-server.
- </description>
- </property>
-
- <property>
- <name>zookeeper.znode.acl.parent</name>
- <value>acl</value>
- <description>Root ZNode for access control lists.</description>
- </property>
-
- <property>
- <name>hbase.coprocessor.region.classes</name>
- <value></value>
- <description>A comma-separated list of Coprocessors that are loaded by
- default on all tables. For any override coprocessor method, these classes
- will be called in order. After implementing your own Coprocessor, just put
- it in HBase's classpath and add the fully qualified class name here.
- A coprocessor can also be loaded on demand by setting HTableDescriptor.
- </description>
- </property>
-
- <property>
- <name>hbase.coprocessor.master.classes</name>
- <value></value>
- <description>A comma-separated list of
- org.apache.hadoop.hbase.coprocessor.MasterObserver coprocessors that are
- loaded by default on the active HMaster process. For any implemented
- coprocessor methods, the listed classes will be called in order. After
- implementing your own MasterObserver, just put it in HBase's classpath
- and add the fully qualified class name here.
- </description>
- </property>
-
- <!--
- The following three properties are used together to create the list of
- host:peer_port:leader_port quorum servers for ZooKeeper.
- -->
- <property>
- <name>hbase.zookeeper.quorum</name>
- <value>localhost</value>
- <description>Comma separated list of servers in the ZooKeeper Quorum.
- For example, "host1.mydomain.com,host2.mydomain.com,host3.mydomain.com".
- By default this is set to localhost for local and pseudo-distributed modes
- of operation. For a fully-distributed setup, this should be set to a full
- list of ZooKeeper quorum servers. If HBASE_MANAGES_ZK is set in hbase-env.sh
- this is the list of servers which we will start/stop ZooKeeper on.
- </description>
- </property>
- <property>
- <name>hbase.zookeeper.peerport</name>
- <value>2888</value>
- <description>Port used by ZooKeeper peers to talk to each other.
- See http://hadoop.apache.org/zookeeper/docs/r3.1.1/zookeeperStarted.html#sc_RunningReplicatedZooKeeper
- for more information.
- </description>
- </property>
- <property>
- <name>hbase.zookeeper.leaderport</name>
- <value>3888</value>
- <description>Port used by ZooKeeper for leader election.
- See http://hadoop.apache.org/zookeeper/docs/r3.1.1/zookeeperStarted.html#sc_RunningReplicatedZooKeeper
- for more information.
- </description>
- </property>
- <property>
- <name>hbase.zookeeper.useMulti</name>
- <value>true</value>
- <description>Instructs HBase to make use of ZooKeeper's multi-update functionality.
- This allows certain ZooKeeper operations to complete more quickly and prevents some issues
- with rare ZooKeeper failure scenarios (see the release note of HBASE-6710 for an example).
- IMPORTANT: only set this to true if all ZooKeeper servers in the cluster are on version 3.4+
- and will not be downgraded. ZooKeeper versions before 3.4 do not support multi-update and will
- not fail gracefully if multi-update is invoked (see ZOOKEEPER-1495).
- NOTE: this and future versions of HBase are only supported to work with
- versions of ZooKeeper with multi support (CDH4+), so it is safe to use ZK.multi.
- </description>
- </property>
- <!-- End of properties used to generate ZooKeeper host:port quorum list. -->
-
- <!--
- Beginning of properties that are directly mapped from ZooKeeper's zoo.cfg.
- All properties with an "hbase.zookeeper.property." prefix are converted for
- ZooKeeper's configuration. Hence, if you want to add an option from zoo.cfg,
- e.g. "initLimit=10" you would append the following to your configuration:
- <property>
- <name>hbase.zookeeper.property.initLimit</name>
- <value>10</value>
- </property>
- -->
- <property>
- <name>hbase.zookeeper.property.initLimit</name>
- <value>10</value>
- <description>Property from ZooKeeper's config zoo.cfg.
- The number of ticks that the initial synchronization phase can take.
- </description>
- </property>
- <property>
- <name>hbase.zookeeper.property.syncLimit</name>
- <value>5</value>
- <description>Property from ZooKeeper's config zoo.cfg.
- The number of ticks that can pass between sending a request and getting an
- acknowledgment.
- </description>
- </property>
- <property>
- <name>hbase.zookeeper.property.dataDir</name>
- <value>${hbase.tmp.dir}/zookeeper</value>
- <description>Property from ZooKeeper's config zoo.cfg.
- The directory where the snapshot is stored.
- </description>
- </property>
- <property>
- <name>hbase.zookeeper.property.clientPort</name>
- <value>2181</value>
- <description>Property from ZooKeeper's config zoo.cfg.
- The port at which the clients will connect.
- </description>
- </property>
- <property>
- <name>hbase.zookeeper.property.maxClientCnxns</name>
- <value>300</value>
- <description>Property from ZooKeeper's config zoo.cfg.
- Limit on number of concurrent connections (at the socket level) that a
- single client, identified by IP address, may make to a single member of
- the ZooKeeper ensemble. Set high to avoid zk connection issues running
- standalone and pseudo-distributed.
- </description>
- </property>
- <!-- End of properties that are directly mapped from ZooKeeper's zoo.cfg -->
- <property>
- <name>hbase.rest.port</name>
- <value>8080</value>
- <description>The port for the HBase REST server.</description>
- </property>
- <property>
- <name>hbase.rest.readonly</name>
- <value>false</value>
- <description>
- Defines the mode the REST server will be started in. Possible values are:
- false: All HTTP methods are permitted - GET/PUT/POST/DELETE.
- true: Only the GET method is permitted.
- </description>
- </property>
-
- <property skipInDoc="true">
- <name>hbase.defaults.for.version</name>
- <value>0.94.2-cdh4.2.1</value>
- <description>
- This defaults file was compiled for version 0.94.2-cdh4.2.1. This variable is used
- to make sure that a user doesn't have an old version of hbase-default.xml on the
- classpath.
- </description>
- </property>
- <property>
- <name>hbase.defaults.for.version.skip</name>
- <value>true</value>
- <description>
- Set to true to skip the 'hbase.defaults.for.version' check.
- Setting this to true can be useful in contexts other than
- the other side of a maven generation; i.e. running in an
- ide. You'll want to set this boolean to true to avoid
- seeing the RuntimException complaint: "hbase-default.xml file
- seems to be for and old version of HBase (0.94.2-cdh4.2.1), this
- version is X.X.X-SNAPSHOT"
- </description>
- </property>
- <property>
- <name>hbase.coprocessor.abortonerror</name>
- <value>false</value>
- <description>
- Set to true to cause the hosting server (master or regionserver) to
- abort if a coprocessor throws a Throwable object that is not IOException or
- a subclass of IOException. Setting it to true might be useful in development
- environments where one wants to terminate the server as soon as possible to
- simplify coprocessor failure analysis.
- </description>
- </property>
- <property>
- <name>hbase.online.schema.update.enable</name>
- <value>false</value>
- <description>
- Set true to enable online schema changes. This is an experimental feature.
- There are known issues modifying table schemas at the same time a region
- split is happening so your table needs to be quiescent or else you have to
- be running with splits disabled.
- </description>
- </property>
- <property>
- <name>dfs.support.append</name>
- <value>true</value>
- <description>Does HDFS allow appends to files?
- This is an hdfs config. set in here so the hdfs client will do append support.
- You must ensure that this config. is true serverside too when running hbase
- (You will have to restart your cluster after setting it).
- </description>
- </property>
- <property>
- <name>hbase.thrift.minWorkerThreads</name>
- <value>16</value>
- <description>
- The "core size" of the thread pool. New threads are created on every
- connection until this many threads are created.
- </description>
- </property>
- <property>
- <name>hbase.thrift.maxWorkerThreads</name>
- <value>1000</value>
- <description>
- The maximum size of the thread pool. When the pending request queue
- overflows, new threads are created until their number reaches this number.
- After that, the server starts dropping connections.
- </description>
- </property>
- <property>
- <name>hbase.thrift.maxQueuedRequests</name>
- <value>1000</value>
- <description>
- The maximum number of pending Thrift connections waiting in the queue. If
- there are no idle threads in the pool, the server queues requests. Only
- when the queue overflows, new threads are added, up to
- hbase.thrift.maxQueuedRequests threads.
- </description>
- </property>
- <property>
- <name>hbase.offheapcache.percentage</name>
- <value>0</value>
- <description>
- The amount of off heap space to be allocated towards the experimental
- off heap cache. If you desire the cache to be disabled, simply set this
- value to 0.
- </description>
- </property>
- <property>
- <name>hbase.data.umask.enable</name>
- <value>false</value>
- <description>Enable, if true, that file permissions should be assigned
- to the files written by the regionserver
- </description>
- </property>
- <property>
- <name>hbase.data.umask</name>
- <value>000</value>
- <description>File permissions that should be used to write data
- files when hbase.data.umask.enable is true
- </description>
- </property>
-
- <property>
- <name>hbase.metrics.showTableName</name>
- <value>true</value>
- <description>Whether to include the prefix "tbl.tablename" in per-column family metrics.
- If true, for each metric M, per-cf metrics will be reported for tbl.T.cf.CF.M, if false,
- per-cf metrics will be aggregated by column-family across tables, and reported for cf.CF.M.
- In both cases, the aggregated metric M across tables and cfs will be reported.
- </description>
- </property>
- <property>
- <name>hbase.table.archive.directory</name>
- <value>.archive</value>
- <description>Per-table directory name under which to backup files for a
- table. Files are moved to the same directories as they would be under the
- table directory, but instead are just one level lower (under
- table/.archive/... rather than table/...). Currently only applies to HFiles.</description>
- </property>
- <property>
- <name>hbase.master.hfilecleaner.plugins</name>
- <value>org.apache.hadoop.hbase.master.cleaner.TimeToLiveHFileCleaner</value>
- <description>A comma-separated list of HFileCleanerDelegate invoked by
- the HFileCleaner service. These HFiles cleaners are called in order,
- so put the cleaner that prunes the most files in front. To
- implement your own HFileCleanerDelegate, just put it in HBase's classpath
- and add the fully qualified class name here. Always add the above
- default log cleaners in the list as they will be overwritten in hbase-site.xml.
- </description>
- </property>
- <property>
- <name>hbase.rest.threads.max</name>
- <value>100</value>
- <description>
- The maximum number of threads of the REST server thread pool.
- Threads in the pool are reused to process REST requests. This
- controls the maximum number of requests processed concurrently.
- It may help to control the memory used by the REST server to
- avoid OOM issues. If the thread pool is full, incoming requests
- will be queued up and wait for some free threads. The default
- is 100.
- </description>
- </property>
- <property>
- <name>hbase.rest.threads.min</name>
- <value>2</value>
- <description>
- The minimum number of threads of the REST server thread pool.
- The thread pool always has at least these number of threads so
- the REST server is ready to serve incoming requests. The default
- is 2.
- </description>
- </property>
-</configuration>
http://git-wip-us.apache.org/repos/asf/eagle/blob/8b3729f9/eagle-webservice/src/main/resources/ldap.properties
----------------------------------------------------------------------
diff --git a/eagle-webservice/src/main/resources/ldap.properties b/eagle-webservice/src/main/resources/ldap.properties
deleted file mode 100644
index fa28ad3..0000000
--- a/eagle-webservice/src/main/resources/ldap.properties
+++ /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.
-
-ldap.server=ldap://localhost:10389
-ldap.username=uid=admin,ou=system
-ldap.password=secret
-ldap.user.searchBase=ou=Users,o=mojo
-ldap.user.searchPattern=(uid={0})
-ldap.user.groupSearchBase=ou=groups,o=mojo
-acl.adminRole=ADMIN
-acl.defaultRole=POLICYVIEWER
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/eagle/blob/8b3729f9/eagle-webservice/src/main/resources/log4j.properties
----------------------------------------------------------------------
diff --git a/eagle-webservice/src/main/resources/log4j.properties b/eagle-webservice/src/main/resources/log4j.properties
deleted file mode 100644
index 9ccd8da..0000000
--- a/eagle-webservice/src/main/resources/log4j.properties
+++ /dev/null
@@ -1,26 +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.
-
-log4j.rootLogger=INFO, stdout
-
-# standard output
-log4j.appender.stdout=org.apache.log4j.ConsoleAppender
-log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
-log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} %p [%t] %c{2}[%L]: %m%n
-
-# set log level as INFO for debug-log dumping components
-log4j.category.org.springframework=INFO
-log4j.category.org.apache.torque=INFO
-log4j.category.org.commons=INFO
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/eagle/blob/8b3729f9/eagle-webservice/src/main/webapp/META-INF/MANIFEST.MF
----------------------------------------------------------------------
diff --git a/eagle-webservice/src/main/webapp/META-INF/MANIFEST.MF b/eagle-webservice/src/main/webapp/META-INF/MANIFEST.MF
deleted file mode 100644
index 254272e..0000000
--- a/eagle-webservice/src/main/webapp/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,3 +0,0 @@
-Manifest-Version: 1.0
-Class-Path:
-
http://git-wip-us.apache.org/repos/asf/eagle/blob/8b3729f9/eagle-webservice/src/main/webapp/META-INF/context.xml
----------------------------------------------------------------------
diff --git a/eagle-webservice/src/main/webapp/META-INF/context.xml b/eagle-webservice/src/main/webapp/META-INF/context.xml
deleted file mode 100644
index 9b0b5d0..0000000
--- a/eagle-webservice/src/main/webapp/META-INF/context.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Context path="/">
-</Context>
http://git-wip-us.apache.org/repos/asf/eagle/blob/8b3729f9/eagle-webservice/src/main/webapp/WEB-INF/web.xml
----------------------------------------------------------------------
diff --git a/eagle-webservice/src/main/webapp/WEB-INF/web.xml b/eagle-webservice/src/main/webapp/WEB-INF/web.xml
deleted file mode 100644
index e68a22e..0000000
--- a/eagle-webservice/src/main/webapp/WEB-INF/web.xml
+++ /dev/null
@@ -1,115 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- ~ 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.
- -->
-
-<!-- This web.xml file is not required when using Servlet 3.0 container,
- see implementation details http://jersey.java.net/nonav/documentation/latest/jax-rs.html -->
-<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
- <welcome-file-list>
- <welcome-file>index.html</welcome-file>
- </welcome-file-list>
- <servlet>
- <servlet-name>Jersey Web Application</servlet-name>
- <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
- <init-param>
- <param-name>com.sun.jersey.config.property.packages</param-name>
- <param-value>org.apache.eagle;org.codehaus.jackson.jaxrs</param-value>
- </init-param>
- <!--init-param> <param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
- <param-value>true</param-value> </init-param -->
- <!-- probably the following parameter should not be in production -->
- <!-- init-param> <param-name>com.sun.jersey.config.feature.Trace</param-name>
- <param-value>true</param-value> </init-param -->
- <init-param>
- <param-name>com.sun.jersey.spi.container.ContainerRequestFilters</param-name>
- <param-value>com.sun.jersey.api.container.filter.GZIPContentEncodingFilter;com.sun.jersey.api.container.filter.PostReplaceFilter</param-value>
- </init-param>
- <init-param>
- <param-name>com.sun.jersey.spi.container.ContainerResponseFilters</param-name>
- <param-value>com.sun.jersey.api.container.filter.GZIPContentEncodingFilter</param-value>
- </init-param>
- <load-on-startup>1</load-on-startup>
- </servlet>
- <servlet-mapping>
- <servlet-name>Jersey Web Application</servlet-name>
- <url-pattern>/rest/*</url-pattern>
- </servlet-mapping>
- <filter>
- <filter-name>CorsFilter</filter-name>
- <filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
- <init-param>
- <param-name>cors.allowed.origins</param-name>
- <param-value>*</param-value>
- </init-param>
- <init-param>
- <param-name>cors.allowed.headers</param-name>
- <param-value>Authorization,Origin, No-Cache, X-Requested-With, If-Modified-Since, Pragma, Last-Modified, Cache-Control, Expires, Content-Type, X-E4M-With, Accept</param-value>
- </init-param>
- <init-param>
- <param-name>cors.allowed.methods</param-name>
- <param-value>GET,POST,HEAD,OPTIONS,PUT,DELETE</param-value>
- </init-param>
- <init-param>
- <param-name>cors.support.credentials</param-name>
- <param-value>true</param-value>
- </init-param>
- </filter>
- <filter-mapping>
- <filter-name>CorsFilter</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
-
- <!-- spring security -->
- <context-param>
- <param-name>contextConfigLocation</param-name>
- <param-value>
- classpath:/applicationContext.xml
- classpath:/eagleSecurity.xml
- </param-value>
- </context-param>
-<!-- <context-param>
- <param-name>spring.profiles.active</param-name>
- <param-value>sandbox</param-value>
- </context-param>-->
- <context-param>
- <param-name>contextInitializerClasses</param-name>
- <param-value>org.apache.eagle.service.security.profile.EagleServiceProfileInitializer</param-value>
- </context-param>
- <filter>
- <filter-name>springSecurityFilterChain</filter-name>
- <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
- </filter>
- <filter-mapping>
- <filter-name>springSecurityFilterChain</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
- <listener>
- <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
- </listener>
-
- <!-- AKKA System Setup -->
- <listener>
- <listener-class>org.apache.eagle.service.security.profile.ApplicationSchedulerListener</listener-class>
- </listener>
-
- <session-config>
- <!-- in minutes -->
- <session-timeout>60</session-timeout>
- </session-config>
-</web-app>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/eagle/blob/8b3729f9/eagle-webservice/src/main/webapp/_app/index.html
----------------------------------------------------------------------
diff --git a/eagle-webservice/src/main/webapp/_app/index.html b/eagle-webservice/src/main/webapp/_app/index.html
deleted file mode 100644
index 7cd3e25..0000000
--- a/eagle-webservice/src/main/webapp/_app/index.html
+++ /dev/null
@@ -1,281 +0,0 @@
-<!DOCTYPE html>
-<!--
- 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.
- -->
-
-<html ng-app="eagleApp" ng-controller="MainCtrl">
- <head>
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- <meta charset="UTF-8">
- <meta content='width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no' name='viewport'>
- <link rel="shortcut icon" href="public/images/favicon.png">
-
- <title>Eagle</title>
- <link rel="shortcut icon" type="image/png" href="public/images/favicon.png">
-
- <!-- ref:css public/css/styles.min.css -->
- <link href="public/css/main.css" rel="stylesheet" type="text/css" media="screen">
- <link href="public/css/animation.css" rel="stylesheet" type="text/css" media="screen">
- <link href="../node_modules/bootstrap/dist/css/bootstrap.css" rel="stylesheet" type="text/css" media="screen">
- <link href="../node_modules/zombiej-bootstrap-components/bootstrap-components/css/bootstrap-components.css" rel="stylesheet" type="text/css" media="screen">
- <link href="../node_modules/zombiej-nvd3/build/nv.d3.css" rel="stylesheet" type="text/css" />
- <link href="../node_modules/font-awesome/css/font-awesome.css" rel="stylesheet" type="text/css" />
- <link href="../node_modules/admin-lte/dist/css/AdminLTE.css" rel="stylesheet" type="text/css" />
- <link href="../node_modules/admin-lte/dist/css/skins/skin-blue.css" rel="stylesheet" type="text/css" />
- <!-- endref -->
- </head>
- <body class="skin-blue sidebar-mini" ng-class="{'no-sidebar' : PageConfig.hideSidebar}">
- <!-- Site wrapper -->
- <div class="wrapper">
- <header class="main-header">
- <a href="#/" class="logo">
- <span class="logo-mini"><img src="public/images/favicon_white.png" /></span>
- <span class="logo-lg">Apache Eagle</span>
- </a>
- <!-- Header Navbar: style can be found in header.less -->
- <nav class="navbar navbar-static-top" role="navigation">
- <!-- Sidebar toggle button-->
- <a ng-hide="PageConfig.hideSidebar" class="sidebar-toggle" data-toggle="offcanvas" role="button">
- <span class="sr-only">Toggle navigation</span>
- <span class="icon-bar"></span>
- <span class="icon-bar"></span>
- <span class="icon-bar"></span>
- </a>
-
- <div class="navbar-custom-menu">
- <ul class="nav navbar-nav">
- <!-- Admin error list -->
- <li class="dropdown" ng-show="ServiceError.list.length">
- <a class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
- <i class="fa fa-exclamation-triangle" ng-class="{blink: ServiceError.hasUnread}"></i>
- </a>
- <ul class="dropdown-menu">
- <li ng-repeat="error in ServiceError.list">
- <a ng-click="ServiceError.showError(error);">
- <span class="fa" ng-class="{'fa-envelope': !error._read, 'fa-check': error._read}"></span>
- {{error.title}}
- </a>
- </li>
- <li role="separator" class="divider"></li>
- <li>
- <a ng-click="ServiceError.clearAll();">
- <span class="fa fa-trash"></span>
- Clear All
- </a>
- </li>
- </ul>
- </li>
-
- <!-- Site -->
- <li class="dropdown" ng-show="!PageConfig.hideSite && !PageConfig.lockSite">
- <a class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
- <i class="fa fa-server"></i>
- {{Site.current().tags.site}}
- <i class="fa fa-caret-down"></i>
- </a>
- <ul class="dropdown-menu">
- <li ng-repeat="_site in Site.list" ng-if="_site.enabled">
- <a ng-click="Site.current(_site);">
- <span class="fa fa-database"></span> {{_site.tags.site}}
- </a>
- </li>
- </ul>
- </li>
- <li class="dropdown" ng-show="PageConfig.lockSite">
- <a>
- <i class="fa fa-server"></i>
- {{Site.current().tags.site}}
- </a>
- </li>
-
- <!-- User -->
- <li class="dropdown user user-menu" ng-hide="PageConfig.hideUser">
- <a class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
- <i class="fa fa-user"></i>
- {{Auth.userProfile.username}}
- </a>
- <ul class="dropdown-menu">
- <!-- User image -->
- <li class="user-header">
- <span class="img-circle">
- <span class="fa fa-user" alt="User Image"></span>
- </span>
- <p>
- {{Auth.userProfile.username}}
- <small>
- <span ng-repeat="role in Auth.userProfile.authorities">{{role.authority}} </span>
- </small>
- </p>
- </li>
- <!-- Menu Footer-->
- <li class="user-footer">
- <div class="pull-left" ng-if="Auth.isRole('ROLE_ADMIN')">
- <a href="#/config/site" class="btn btn-default btn-flat">Management</a>
- </div>
- <div class="pull-right">
- <a ng-click="logout();" class="btn btn-default btn-flat">Sign out</a>
- </div>
- </li>
- </ul>
- </li>
- </ul>
- </div>
-
- <!-- Applications -->
- <div ng-hide="PageConfig.hideApplication">
- <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#moduleMenu">
- <span class="sr-only">Toggle navigation</span>
- <span class="fa fa-map"></span>
- </button>
- <div class="collapse navbar-collapse" id="moduleMenu">
- <ul class="nav navbar-nav">
- <li ng-repeat="_grp in Site.current().applicationGroupList" ng-if="_grp.enabledList.length"
- class="dropdown" ng-class="{active: Application.current().group === _grp.name}">
- <a class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
- {{_grp.name}}
- </a>
- <ul class="dropdown-menu">
- <li ng-repeat="_app in _grp.enabledList">
- <a ng-click="Application.current(_app);">
- <span class="fa fa-cubes"></span> {{_app.displayName}}
- </a>
- </li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- </nav>
- </header>
-
- <!-- =============================================== -->
- <!-- Left side column. contains the side bar -->
- <aside class="main-sidebar" ng-hide="PageConfig.hideSidebar">
- <!-- side bar: style can be found in sidebar.less -->
- <section class="sidebar">
- <ul class="sidebar-menu">
- <li class="header">
- {{Application.current().group || 'Application'}} >
- {{Application.current().displayName || 'Features'}}
- </li>
- <li ng-repeat="page in PageConfig.navConfig.pageList track by $index" ng-class="getNavClass(page)" ng-show="getNavVisible(page)">
- <a href="{{page.url}}">
- <i class="fa fa-{{page.icon}}"></i> <span>{{page.title}}</span>
- </a>
- </li>
- </ul>
- </section>
- <!-- /.sidebar -->
- </aside>
-
- <!-- =============================================== -->
- <!-- Right side column. Contains the navbar and content of the page -->
- <div class="content-wrapper">
- <!-- Content Header (Page header) -->
- <section class="content-header" ng-hide="PageConfig.hideSidebar">
- <h1>
- <span class="pageTitle">{{PageConfig.pageTitle}}</span>
- <small class="pageSubTitle">{{PageConfig.pageSubTitle}}</small>
- </h1>
-
-
- <ol class="breadcrumb">
- <li ng-repeat="navPath in PageConfig.navPath">
- <a ng-href="#{{navPath.path}}">
- <span class="fa fa-home" ng-if="$first"></span>
- {{navPath.title || navPath.path}}
- </a>
- </li>
- </ol>
- </section>
-
- <!-- Main content -->
- <section class="content">
- <div id="content">
- <div ui-view></div>
- </div>
- </section><!-- /.content -->
- </div><!-- /.content-wrapper -->
-
- <footer class="main-footer">
- <div class="pull-right hidden-xs">
- <b>License</b>
- <a href="http://www.apache.org/licenses/LICENSE-2.0" class="text-muted">Apache-2.0</a>
- </div>
- <strong>
- Apache Eagle
- <a target="_blank" href="https://eagle.incubator.apache.org/">Home</a> /
- <a target="_blank" href="https://eagle.incubator.apache.org/docs/community.html">Community</a> /
- <a target="_blank" href="https://cwiki.apache.org/confluence/display/EAG/FAQ">FAQ</a>
- </strong>
- </footer>
- </div><!-- ./wrapper -->
-
- <!-- ref:js public/js/doc.js -->
- <script src="../node_modules/jquery/dist/jquery.js"></script>
- <script src="../node_modules/jquery-slimscroll/jquery.slimscroll.min.js"></script>
- <script src="../node_modules/bootstrap/dist/js/bootstrap.min.js"></script>
- <script src="../node_modules/zombiej-bootstrap-components/bootstrap-components/js/bootstrap-components.min.js"></script>
- <script src="../node_modules/moment/min/moment-with-locales.min.js"></script>
- <script src="../node_modules/moment-timezone/builds/moment-timezone-with-data.min.js"></script>
- <script src="../node_modules/admin-lte/dist/js/app.min.js"></script>
- <script src="../node_modules/angular/angular.js"></script>
- <script src="../node_modules/angular-resource/angular-resource.js"></script>
- <script src="../node_modules/angular-route/angular-route.js"></script>
- <script src="../node_modules/angular-animate/angular-animate.js"></script>
- <script src="../node_modules/angular-ui-bootstrap/dist/ui-bootstrap-tpls.js"></script>
- <script src="../node_modules/angular-ui-router/release/angular-ui-router.js"></script>
- <script src="../node_modules/d3/d3.js"></script>
- <script src="../node_modules/zombiej-nvd3/build/nv.d3.js"></script>
-
- <!-- Application -->
- <script src="public/js/app.js" type="text/javascript" charset="utf-8"></script>
-
- <!-- Service -->
- <script src="public/js/srv/main.js" type="text/javascript" charset="utf-8"></script>
- <script src="public/js/srv/applicationSrv.js" type="text/javascript" charset="utf-8"></script>
- <script src="public/js/srv/authorizationSrv.js" type="text/javascript" charset="utf-8"></script>
- <script src="public/js/srv/entitiesSrv.js" type="text/javascript" charset="utf-8"></script>
- <script src="public/js/srv/siteSrv.js" type="text/javascript" charset="utf-8"></script>
- <script src="public/js/srv/pageSrv.js" type="text/javascript" charset="utf-8"></script>
- <script src="public/js/srv/wrapStateSrv.js" type="text/javascript" charset="utf-8"></script>
- <script src="public/js/srv/uiSrv.js" type="text/javascript" charset="utf-8"></script>
-
- <!-- Misc -->
- <script src="public/js/app.ui.js" type="text/javascript" charset="utf-8"></script>
- <script src="public/js/app.time.js" type="text/javascript" charset="utf-8"></script>
- <script src="public/js/app.config.js" type="text/javascript" charset="utf-8"></script>
-
- <script src="public/js/common.js" type="text/javascript" charset="utf-8"></script>
-
- <!-- Components -->
- <script src="public/js/components/main.js" type="text/javascript" charset="utf-8"></script>
- <script src="public/js/components/sortTable.js" type="text/javascript" charset="utf-8"></script>
- <script src="public/js/components/tabs.js" type="text/javascript" charset="utf-8"></script>
- <script src="public/js/components/file.js" type="text/javascript" charset="utf-8"></script>
- <script src="public/js/components/charts/line3d.js" type="text/javascript" charset="utf-8"></script>
- <script src="public/js/components/nvd3.js" type="text/javascript" charset="utf-8"></script>
- <script src="public/js/components/sortable.js" type="text/javascript" charset="utf-8"></script>
-
- <!-- Controllers -->
- <script src="public/js/ctrl/main.js" type="text/javascript" charset="utf-8"></script>
- <script src="public/js/ctrl/authController.js" type="text/javascript" charset="utf-8"></script>
- <script src="public/js/ctrl/configurationController.js" type="text/javascript" charset="utf-8"></script>
- <!-- endref -->
- </body>
-</html>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/eagle/blob/8b3729f9/eagle-webservice/src/main/webapp/_app/partials/config/application.html
----------------------------------------------------------------------
diff --git a/eagle-webservice/src/main/webapp/_app/partials/config/application.html b/eagle-webservice/src/main/webapp/_app/partials/config/application.html
deleted file mode 100644
index 0bf194c..0000000
--- a/eagle-webservice/src/main/webapp/_app/partials/config/application.html
+++ /dev/null
@@ -1,124 +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.
- -->
-
-<div class="box box-info">
- <div class="box-header with-border">
- <h3 class="box-title">
- <span class="fa fa-cogs"></span>
- Configuration
- <small class="text-danger" ng-show="changed">
- <span class="label label-warning label-sm">Unsaved</span>
- </small>
- </h3>
- </div><!-- /.box-header -->
-
- <div class="box-body">
- <div class="row">
- <div class="col-md-3">
- <ul class="nav nav-pills nav-stacked">
- <li class="disabled"><a>Application</a></li>
- <li role="presentation" ng-repeat="_application in Application.list track by $index" ng-class="{active: application === _application}">
- <a ng-click="setApplication(_application)">
- <span class="fa fa-server"></span>
- {{_application.tags.application}}
- <span ng-if="_application.alias">({{_application.alias}})</span>
- </a>
- </li>
-
- <li>
- <a class="text-light-blue" ng-click="newApplication()" ng-disabled="_pageLock">
- <span class="fa fa-plus-square"></span>
- New Application
- </a>
- </li>
- </ul>
- </div>
-
- <div class="col-md-9">
- <a class="pull-right btn btn-danger btn-xs" ng-click="deleteApplication(application)" ng-disabled="_pageLock">
- <span class="fa fa-trash-o"></span>
- Delete Application
- </a>
-
- <!-- Title -->
- <h3 class="guideline">
- Application
- <small>{{application.tags.application}}</small>
- </h3>
- <hr/>
-
- <!-- Config -->
- <div class="form-group">
- <label for="displayName">Display Name</label>
- <input type="text" class="form-control" id="displayName" placeholder="(Optional) Display name." ng-model="applications[application.tags.application].alias">
- </div>
- <div class="form-group">
- <label for="applicationGroup">Group</label>
- <input type="text" class="form-control" id="applicationGroup" placeholder="(Optional) Group name" ng-model="applications[application.tags.application].groupName">
- </div>
- <div class="form-group">
- <label for="applicationDescription">Description</label>
- <textarea id="applicationDescription" class="form-control" placeholder="(Optional) Application description" rows="2" ng-model="applications[application.tags.application].description"></textarea>
- </div>
- <div class="form-group">
- <label for="applicationConfiguration">Configuration</label>
- <span class="text-danger">{{configCheck(applications[application.tags.application].config)}}</span>
- <textarea id="applicationConfiguration" class="form-control" placeholder="Application configuration. Feature can read this " rows="5" ng-model="applications[application.tags.application].config"></textarea>
- </div>
-
- <!-- Feature -->
- <label>* Feature</label>
- <div class="row">
- <div class="col-sm-6">
- <h1 class="text-muted text-center" ng-show="applications[application.tags.application].features.length === 0">No feature in using</h1>
- <ul class="products-list product-list-in-box fixed-height" ng-show="applications[application.tags.application].features.length !== 0">
- <li class="item" ng-repeat="feature in applications[application.tags.application].features track by $index" ng-class="{active: _feature === feature}">
- <div class="product-operation">
- <a class="fa fa-chevron-up" ng-click="moveFeature(feature, applications[application.tags.application].features, -1)"></a>
- <a class="fa fa-chevron-down" ng-click="moveFeature(feature, applications[application.tags.application].features, 1)"></a>
- </div>
- <div class="product-info">
- <a class="fa fa-times pull-right" ng-click="removeFeature(feature, applications[application.tags.application])"></a>
- <span class="product-title">{{feature}}</span>
- <span class="product-description">{{Application.featureList.set[feature].description}}</span>
- </div>
- </li>
- </ul>
- </div>
- <div class="col-sm-6">
- <ul class="products-list product-list-in-box fixed-height">
- <li class="item" ng-repeat="feature in applications[application.tags.application].optionalFeatures track by $index">
- <button class="btn btn-lg btn-primary pull-left" ng-click="addFeature(feature, applications[application.tags.application])" ng-disabled="_pageLock">
- <span class="fa fa-star-o"></span>
- </button>
- <div class="product-info">
- <span class="product-title">{{feature}}</span>
- <span class="product-description">{{Application.featureList.set[feature].description}}</span>
- </div>
- </li>
- </ul>
- </div>
- </div>
- </div>
- </div>
- </div><!-- /.box-body -->
-
- <div class="box-footer clearfix">
- <button class="btn btn-primary" ng-click="saveAll()" ng-disabled="_pageLock">Save All</button>
- </div>
-</div>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/eagle/blob/8b3729f9/eagle-webservice/src/main/webapp/_app/partials/config/feature.html
----------------------------------------------------------------------
diff --git a/eagle-webservice/src/main/webapp/_app/partials/config/feature.html b/eagle-webservice/src/main/webapp/_app/partials/config/feature.html
deleted file mode 100644
index 945d90b..0000000
--- a/eagle-webservice/src/main/webapp/_app/partials/config/feature.html
+++ /dev/null
@@ -1,85 +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.
- -->
-
-<div class="box box-info">
- <div class="box-header with-border">
- <h3 class="box-title">
- <span class="fa fa-cogs"></span>
- Configuration
- <small class="text-danger" ng-show="changed">
- <span class="label label-warning label-sm">Unsaved</span>
- </small>
- </h3>
- </div><!-- /.box-header -->
-
- <div class="box-body">
- <div class="row">
- <div class="col-md-3">
- <ul class="nav nav-pills nav-stacked">
- <li class="disabled">
- <a>Feature</a>
- </li>
- <li role="presentation" ng-repeat="_feature in Application.featureList" ng-class="{active: feature === _feature}">
- <a ng-click="setFeature(_feature)">
- <span class="fa fa-leaf" ng-class="{'text-danger': _feature._loaded === false}" uib-tooltip="Module load failed!" tooltip-enable="_feature._loaded === false"></span>
- {{_feature.tags.feature}}
- </a>
- </li>
- <li>
- <a class="text-light-blue" ng-click="newFeature()" ng-disabled="_pageLock">
- <span class="fa fa-plus-square"></span>
- New Feature
- </a>
- </li>
- </ul>
- </div>
-
- <div class="col-md-9">
- <a class="pull-right btn btn-danger btn-xs" ng-click="deleteFeature(feature)" ng-disabled="_pageLock">
- <span class="fa fa-trash-o"></span>
- Delete Feature
- </a>
-
- <h3 class="guideline">
- <span class="fa fa-exclamation-triangle text-danger" uib-tooltip="Module load failed!" ng-show="feature._loaded === false"></span>
- {{feature.tags.feature}}
- </h3>
- <hr/>
-
- <p class="text text-muted">
- Will load the start up file <code>controller.js</code> from <code>public/feature/{{feature.tags.feature}}</code>.
- If you are developing customized feature, please reference provided feature.
- </p>
-
- <!-- Config -->
- <div class="form-group">
- <label for="featureVersion">Version</label>
- <input id="featureVersion" type="text" class="form-control" placeholder="(Optional) Feature version." ng-model="features[feature.tags.feature].version">
- </div>
- <div class="form-group">
- <label for="featureDescription">Description</label>
- <textarea id="featureDescription" class="form-control" placeholder="(Optional) Feature description." rows="10" ng-model="features[feature.tags.feature].description"></textarea>
- </div>
- </div>
- </div>
- </div><!-- /.box-body -->
-
- <div class="box-footer clearfix">
- <button class="btn btn-primary" ng-click="saveAll()" ng-disabled="_pageLock">Save All</button>
- </div>
-</div>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/eagle/blob/8b3729f9/eagle-webservice/src/main/webapp/_app/partials/config/site.html
----------------------------------------------------------------------
diff --git a/eagle-webservice/src/main/webapp/_app/partials/config/site.html b/eagle-webservice/src/main/webapp/_app/partials/config/site.html
deleted file mode 100644
index f7d43eb..0000000
--- a/eagle-webservice/src/main/webapp/_app/partials/config/site.html
+++ /dev/null
@@ -1,115 +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.
- -->
-
-<div class="box box-info">
- <div class="box-header with-border">
- <h3 class="box-title">
- <span class="fa fa-cogs"></span>
- Configuration
- <small class="text-danger" ng-show="changed">
- <span class="label label-warning label-sm">Unsaved</span>
- </small>
- </h3>
- </div><!-- /.box-header -->
-
- <div class="box-body">
- <div class="row">
- <div class="col-md-3">
- <ul class="nav nav-pills nav-stacked">
- <li class="disabled"><a>Site</a></li>
- <li role="presentation" ng-repeat="_site in Site.list track by $index" ng-class="{active: site === _site}">
- <a ng-click="setSite(_site)">
- <span class="fa fa-server"></span>
- {{_site.tags.site}}
- </a>
- </li>
-
- <li>
- <a class="text-light-blue" ng-click="newSite()" ng-disabled="_pageLock">
- <span class="fa fa-plus-square"></span>
- New Site
- </a>
- </li>
- </ul>
- </div>
-
- <div class="col-md-9">
- <a class="pull-right btn btn-danger btn-xs" ng-click="deleteSite(site)" ng-disabled="_pageLock">
- <span class="fa fa-trash-o"></span>
- Delete Site
- </a>
-
- <!-- Title -->
- <h3 class="guideline">
- Site
- <small>{{site.tags.site}}</small>
- </h3>
- <hr/>
-
- <!-- Config -->
- <div class="checkbox">
- <label>
- <input type="checkbox" ng-checked="sites[site.tags.site].enabled" ng-click="sites[site.tags.site].enabled = !sites[site.tags.site].enabled">
- <strong>Enabled</strong>
- </label>
- </div>
- <hr/>
-
- <!-- Application -->
- <label>* Application</label>
- <div class="row">
- <div class="col-sm-6">
- <h1 class="text-muted text-center" ng-show="sites[site.tags.site].applications.length === 0">No application in using</h1>
- <ul class="products-list product-list-in-box fixed-height" ng-show="sites[site.tags.site].applications.length !== 0">
- <li class="item" ng-repeat="application in sites[site.tags.site].applications track by $index" ng-class="{active: _application === application}">
- <div class="product-operation single">
- <span class="fa fa-cubes"></span>
- </div>
- <div class="product-info">
- <a class="fa fa-times pull-right" ng-click="removeApplication(application, sites[site.tags.site])"></a>
- <span class="product-title">
- <a class="fa fa-cog" ng-click="setApplication(application)"></a>
- {{application.tags.application}}
- </span>
- <span class="product-description">{{Application.list.set[application.tags.application].description}}</span>
- </div>
- </li>
- </ul>
- </div>
- <div class="col-sm-6">
- <ul class="products-list product-list-in-box fixed-height">
- <li class="item" ng-repeat="application in sites[site.tags.site].optionalApplications track by $index">
- <button class="btn btn-lg btn-primary pull-left" ng-click="addApplication(application, sites[site.tags.site])" ng-disabled="_pageLock">
- <span class="fa fa-star-o"></span>
- </button>
- <div class="product-info">
- <span class="product-title">{{application.tags.application}}</span>
- <span class="product-description">{{Application.list.set[application.tags.application].description}}</span>
- </div>
- </li>
- </ul>
- </div>
- </div>
- </div>
- </div>
- </div><!-- /.box-body -->
-
- <div class="box-footer clearfix">
- <button class="btn btn-primary" ng-click="saveAll()" ng-disabled="_pageLock">Save All</button>
- </div>
-</div>
\ No newline at end of file