You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sirona.apache.org by rm...@apache.org on 2013/11/06 14:27:43 UTC
svn commit: r1539334 - in /incubator/sirona/trunk:
agent/performance/web/src/main/java/org/apache/sirona/web/session/
core/src/main/java/org/apache/sirona/repositories/
server/reporting/src/main/java/org/apache/sirona/reporting/web/plugin/web/
Author: rmannibucau
Date: Wed Nov 6 13:27:42 2013
New Revision: 1539334
URL: http://svn.apache.org/r1539334
Log:
reactivating web plugin
Added:
incubator/sirona/trunk/core/src/main/java/org/apache/sirona/repositories/Repositories.java
Modified:
incubator/sirona/trunk/agent/performance/web/src/main/java/org/apache/sirona/web/session/SessionGauge.java
incubator/sirona/trunk/server/reporting/src/main/java/org/apache/sirona/reporting/web/plugin/web/WebEndpoints.java
incubator/sirona/trunk/server/reporting/src/main/java/org/apache/sirona/reporting/web/plugin/web/WebPlugin.java
Modified: incubator/sirona/trunk/agent/performance/web/src/main/java/org/apache/sirona/web/session/SessionGauge.java
URL: http://svn.apache.org/viewvc/incubator/sirona/trunk/agent/performance/web/src/main/java/org/apache/sirona/web/session/SessionGauge.java?rev=1539334&r1=1539333&r2=1539334&view=diff
==============================================================================
--- incubator/sirona/trunk/agent/performance/web/src/main/java/org/apache/sirona/web/session/SessionGauge.java (original)
+++ incubator/sirona/trunk/agent/performance/web/src/main/java/org/apache/sirona/web/session/SessionGauge.java Wed Nov 6 13:27:42 2013
@@ -21,28 +21,17 @@ import org.apache.sirona.configuration.C
import org.apache.sirona.counters.Unit;
import org.apache.sirona.gauges.Gauge;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.WeakHashMap;
import java.util.concurrent.atomic.AtomicLong;
public class SessionGauge implements Gauge {
- private static final WeakHashMap<Role, SessionGauge> GAUGES = new WeakHashMap<Role, SessionGauge>();
-
- public static Map<Role, SessionGauge> gauges() {
- return new HashMap<Role, SessionGauge>(GAUGES);
- }
+ public static final String SESSIONS_PREFIX = "sessions-";
private final Role role;
private final AtomicLong counter;
public SessionGauge(final String ctx, final AtomicLong counter) {
- this.role = new Role("sessions-" + ctx, Unit.UNARY);
+ this.role = new Role(SESSIONS_PREFIX + ctx, Unit.UNARY);
this.counter = counter;
-
- synchronized (GAUGES) {
- GAUGES.put(role, this);
- }
}
@Override
Added: incubator/sirona/trunk/core/src/main/java/org/apache/sirona/repositories/Repositories.java
URL: http://svn.apache.org/viewvc/incubator/sirona/trunk/core/src/main/java/org/apache/sirona/repositories/Repositories.java?rev=1539334&view=auto
==============================================================================
--- incubator/sirona/trunk/core/src/main/java/org/apache/sirona/repositories/Repositories.java (added)
+++ incubator/sirona/trunk/core/src/main/java/org/apache/sirona/repositories/Repositories.java Wed Nov 6 13:27:42 2013
@@ -0,0 +1,51 @@
+/*
+ * 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.sirona.repositories;
+
+import org.apache.sirona.Role;
+import org.apache.sirona.counters.Unit;
+
+import java.util.Collection;
+import java.util.LinkedList;
+
+public class Repositories {
+ public static Collection<Role> findByPrefixAndUnit(final String prefix, final Unit unit) {
+ final Collection<Role> roles = new LinkedList<Role>();
+ for (final Role role : Repository.INSTANCE.gauges()) {
+ if (role.getName().startsWith(prefix)
+ && unit.equals(role.getUnit())) {
+ roles.add(role);
+ }
+ }
+ return roles;
+ }
+
+ public static Collection<Role> findBySuffixAndUnit(final String suffix, final Unit unit) {
+ final Collection<Role> roles = new LinkedList<Role>();
+ for (final Role role : Repository.INSTANCE.gauges()) {
+ if (role.getName().endsWith(suffix)
+ && unit.equals(role.getUnit())) {
+ roles.add(role);
+ }
+ }
+ return roles;
+ }
+
+ private Repositories() {
+ // no-op
+ }
+}
Modified: incubator/sirona/trunk/server/reporting/src/main/java/org/apache/sirona/reporting/web/plugin/web/WebEndpoints.java
URL: http://svn.apache.org/viewvc/incubator/sirona/trunk/server/reporting/src/main/java/org/apache/sirona/reporting/web/plugin/web/WebEndpoints.java?rev=1539334&r1=1539333&r2=1539334&view=diff
==============================================================================
--- incubator/sirona/trunk/server/reporting/src/main/java/org/apache/sirona/reporting/web/plugin/web/WebEndpoints.java (original)
+++ incubator/sirona/trunk/server/reporting/src/main/java/org/apache/sirona/reporting/web/plugin/web/WebEndpoints.java Wed Nov 6 13:27:42 2013
@@ -17,9 +17,11 @@
package org.apache.sirona.reporting.web.plugin.web;
import org.apache.sirona.Role;
+import org.apache.sirona.counters.Unit;
import org.apache.sirona.reporting.web.handler.api.Regex;
import org.apache.sirona.reporting.web.handler.api.Template;
import org.apache.sirona.reporting.web.plugin.json.Jsons;
+import org.apache.sirona.repositories.Repositories;
import org.apache.sirona.repositories.Repository;
import org.apache.sirona.web.session.SessionGauge;
@@ -32,7 +34,7 @@ public class WebEndpoints {
@Regex("/sessions/([0-9]*)/([0-9]*)")
public String sessions(final long start, final long end) {
final StringBuilder builder = new StringBuilder("[");
- for (final Role gauge : SessionGauge.gauges().keySet()) {
+ for (final Role gauge : Repositories.findByPrefixAndUnit(SessionGauge.SESSIONS_PREFIX, Unit.UNARY)) {
builder.append("{ \"data\": ")
.append(Jsons.toJson(Repository.INSTANCE.getGaugeValues(start, end, gauge)))
.append(", \"label\": \"").append(gauge.getName()).append("\", \"color\": \"#317eac\" }")
Modified: incubator/sirona/trunk/server/reporting/src/main/java/org/apache/sirona/reporting/web/plugin/web/WebPlugin.java
URL: http://svn.apache.org/viewvc/incubator/sirona/trunk/server/reporting/src/main/java/org/apache/sirona/reporting/web/plugin/web/WebPlugin.java?rev=1539334&r1=1539333&r2=1539334&view=diff
==============================================================================
--- incubator/sirona/trunk/server/reporting/src/main/java/org/apache/sirona/reporting/web/plugin/web/WebPlugin.java (original)
+++ incubator/sirona/trunk/server/reporting/src/main/java/org/apache/sirona/reporting/web/plugin/web/WebPlugin.java Wed Nov 6 13:27:42 2013
@@ -16,10 +16,8 @@
*/
package org.apache.sirona.reporting.web.plugin.web;
-import org.apache.sirona.reporting.web.plugin.Local;
import org.apache.sirona.reporting.web.plugin.Plugin;
-@Local
public class WebPlugin implements Plugin {
@Override
public String name() {