Commits

realthargor committed 03a8e02 Merge

Merge branch 'master' into junit_speedup

Comments (0)

Files changed (362)

container/features/src/main/filtered-resources/features/features.xml

 <features xmlns="http://karaf.apache.org/xmlns/features/v1.0.0" name="opennms-all">
-  <!-- karaf base features -->
-  <repository>mvn:org.opennms.container/karaf/${project.version}/xml/features</repository>
+    <!-- karaf base features -->
+    <repository>mvn:org.opennms.container/karaf/${project.version}/xml/features</repository>
 
-  <!-- topology features -->
-  <repository>mvn:org.opennms.osgi.features.topology/opennms-topology-runtime-base/${project.version}/xml/features</repository>
-  <repository>mvn:org.opennms.osgi.features.topology/opennms-topology-runtime-simple/${project.version}/xml/features</repository>
-  <repository>mvn:org.opennms.osgi.features.topology/opennms-topology-runtime-linkd/${project.version}/xml/features</repository>
-  <repository>mvn:org.opennms.osgi.features.topology/opennms-topology-runtime-ncs/${project.version}/xml/features</repository>
-  <repository>mvn:org.opennms.osgi.features.topology/opennms-topology-dev/${project.version}/xml/features</repository>
+    <!-- topology features -->
+    <repository>mvn:org.opennms.osgi.features.topology/opennms-topology-runtime-base/${project.version}/xml/features
+    </repository>
+    <repository>mvn:org.opennms.osgi.features.topology/opennms-topology-runtime-simple/${project.version}/xml/features
+    </repository>
+    <repository>mvn:org.opennms.osgi.features.topology/opennms-topology-runtime-linkd/${project.version}/xml/features
+    </repository>
+    <repository>mvn:org.opennms.osgi.features.topology/opennms-topology-runtime-vmware/${project.version}/xml/features
+    </repository>
+    <repository>mvn:org.opennms.osgi.features.topology/opennms-topology-runtime-ncs/${project.version}/xml/features
+    </repository>
+    <repository>mvn:org.opennms.osgi.features.topology/opennms-topology-dev/${project.version}/xml/features</repository>
 
-  <!-- nrtg features -->
-  <repository>mvn:org.opennms.osgi.features.nrtg/nrtg/${project.version}/xml/features</repository>
+    <!-- nrtg features -->
+    <repository>mvn:org.opennms.osgi.features.nrtg/nrtg/${project.version}/xml/features</repository>
 
-  <!-- MIB Parser and Event/Collection features -->
-  <repository>mvn:org.opennms.features/vaadin-snmp-events-and-metrics/${project.version}/xml/features</repository>
+    <!-- MIB Parser and Event/Collection features -->
+    <repository>mvn:org.opennms.features/vaadin-snmp-events-and-metrics/${project.version}/xml/features</repository>
 
-  <!-- node maps -->
-  <repository>mvn:org.opennms.features/vaadin-node-maps/${project.version}/xml/features</repository>
+    <!-- node maps -->
+    <repository>mvn:org.opennms.features/vaadin-node-maps/${project.version}/xml/features</repository>
 
-  <feature name="opennms-all" description="OpenNMS :: All" version="${project.version}">
-    <feature>opennms-topology-runtime-simple</feature>
-    <feature>opennms-topology-runtime-linkd</feature>
-    <feature>opennms-topology-runtime-ncs</feature>
-    <feature>opennms-topology-dev</feature>
-    <feature>nrtg</feature>
-    <feature>vaadin-snmp-events-and-metrics</feature>
-    <feature>vaadin-node-maps</feature>
-  </feature>
+    <feature name="opennms-all" description="OpenNMS :: All" version="${project.version}">
+        <feature>opennms-topology-runtime-simple</feature>
+        <feature>opennms-topology-runtime-linkd</feature>
+        <feature>opennms-topology-runtime-ncs</feature>
+        <feature>opennms-topology-runtime-vmware</feature>
+        <feature>opennms-topology-dev</feature>
+        <feature>nrtg</feature>
+        <feature>vaadin-snmp-events-and-metrics</feature>
+        <feature>vaadin-node-maps</feature>
+    </feature>
 
 </features>

container/karaf/src/main/filtered-resources/etc/custom.properties

         org.apache.commons.lang.time; version=${commonsLangVersion},\
         org.apache.commons.logging; version=${commonsLoggingVersion},\
         org.apache.commons.logging.impl; version=${commonsLoggingVersion},\
-        org.opennms.container.web;version=${opennms.osgi.version},\
         org.apache.http;version=${httpcoreVersion},\
         org.apache.http.entity;version=${httpcoreVersion},\
         org.apache.http.impl;version=${httpcoreVersion},\
         org.apache.http.impl.conn;version=${httpclientVersion},\
         org.apache.http.impl.conn.tsccm;version=${httpclientVersion},\
         org.apache.http.impl.cookie;version=${httpclientVersion},\
+        org.springframework;version=${springVersion},\
+        org.springframework.aop;version=${springVersion},\
+        org.springframework.aop.aspectj;version=${springVersion},\
+        org.springframework.aop.aspectj.annotation;version=${springVersion},\
+        org.springframework.aop.aspectj.autoproxy;version=${springVersion},\
+        org.springframework.aop.config;version=${springVersion},\
+        org.springframework.aop.framework;version=${springVersion},\
+        org.springframework.aop.framework.adapter;version=${springVersion},\
+        org.springframework.aop.framework.autoproxy;version=${springVersion},\
+        org.springframework.aop.framework.autoproxy.target;version=${springVersion},\
+        org.springframework.aop.interceptor;version=${springVersion},\
+        org.springframework.aop.scope;version=${springVersion},\
+        org.springframework.aop.support;version=${springVersion},\
+        org.springframework.aop.support.annotation;version=${springVersion},\
+        org.springframework.aop.target;version=${springVersion},\
+        org.springframework.aop.target.dynamic;version=${springVersion},\
+        org.springframework.asm;version=${springVersion},\
+        org.springframework.asm.commons;version=${springVersion},\
+        org.springframework.asm.signature;version=${springVersion},\
+        org.springframework.beans;version=${springVersion},\
+        org.springframework.beans.annotation;version=${springVersion},\
+        org.springframework.beans.factory;version=${springVersion},\
+        org.springframework.beans.factory.access;version=${springVersion},\
+        org.springframework.beans.factory.access.el;version=${springVersion},\
+        org.springframework.beans.factory.annotation;version=${springVersion},\
+        org.springframework.beans.factory.aspectj;version=${springVersion},\
+        org.springframework.beans.factory.config;version=${springVersion},\
+        org.springframework.beans.factory.parsing;version=${springVersion},\
+        org.springframework.beans.factory.serviceloader;version=${springVersion},\
+        org.springframework.beans.factory.support;version=${springVersion},\
+        org.springframework.beans.factory.wiring;version=${springVersion},\
+        org.springframework.beans.factory.xml;version=${springVersion},\
+        org.springframework.beans.propertyeditors;version=${springVersion},\
+        org.springframework.beans.support;version=${springVersion},\
+        org.springframework.cache;version=${springVersion},\
+        org.springframework.cache.ehcache;version=${springVersion},\
+        org.springframework.context;version=${springVersion},\
+        org.springframework.context.access;version=${springVersion},\
+        org.springframework.context.annotation;version=${springVersion},\
+        org.springframework.context.config;version=${springVersion},\
+        org.springframework.context.event;version=${springVersion},\
+        org.springframework.context.expression;version=${springVersion},\
+        org.springframework.context.i18n;version=${springVersion},\
+        org.springframework.context.support;version=${springVersion},\
+        org.springframework.context.weaving;version=${springVersion},\
+        org.springframework.core;version=${springVersion},\
+        org.springframework.core.annotation;version=${springVersion},\
+        org.springframework.core.convert;version=${springVersion},\
+        org.springframework.core.convert.converter;version=${springVersion},\
+        org.springframework.core.convert.support;version=${springVersion},\
+        org.springframework.core.enums;version=${springVersion},\
+        org.springframework.core.io;version=${springVersion},\
+        org.springframework.core.io.support;version=${springVersion},\
+        org.springframework.core.serializer;version=${springVersion},\
+        org.springframework.core.serializer.support;version=${springVersion},\
+        org.springframework.core.style;version=${springVersion},\
+        org.springframework.core.task;version=${springVersion},\
+        org.springframework.core.task.support;version=${springVersion},\
+        org.springframework.core.type;version=${springVersion},\
+        org.springframework.core.type.classreading;version=${springVersion},\
+        org.springframework.core.type.filter;version=${springVersion},\
+        org.springframework.dao;version=${springVersion},\
+        org.springframework.dao.annotation;version=${springVersion},\
+        org.springframework.dao.support;version=${springVersion},\
+        org.springframework.ejb;version=${springVersion},\
+        org.springframework.ejb.access;version=${springVersion},\
+        org.springframework.ejb.config;version=${springVersion},\
+        org.springframework.ejb.interceptor;version=${springVersion},\
+        org.springframework.ejb.support;version=${springVersion},\
+        org.springframework.expression;version=${springVersion},\
+        org.springframework.expression.common;version=${springVersion},\
+        org.springframework.expression.spel;version=${springVersion},\
+        org.springframework.expression.spel.ast;version=${springVersion},\
+        org.springframework.expression.spel.generated;version=${springVersion},\
+        org.springframework.expression.spel.standard;version=${springVersion},\
+        org.springframework.expression.spel.support;version=${springVersion},\
+        org.springframework.format;version=${springVersion},\
+        org.springframework.format.annotation;version=${springVersion},\
+        org.springframework.format.datetime;version=${springVersion},\
+        org.springframework.format.datetime.joda;version=${springVersion},\
+        org.springframework.format.number;version=${springVersion},\
+        org.springframework.format.support;version=${springVersion},\
+        org.springframework.http;version=${springVersion},\
+        org.springframework.http.client;version=${springVersion},\
+        org.springframework.http.client.support;version=${springVersion},\
+        org.springframework.http.converter;version=${springVersion},\
+        org.springframework.http.converter.feed;version=${springVersion},\
+        org.springframework.http.converter.json;version=${springVersion},\
+        org.springframework.http.converter.xml;version=${springVersion},\
+        org.springframework.http.server;version=${springVersion},\
+        org.springframework.instrument;version=${springVersion},\
+        org.springframework.instrument.classloading;version=${springVersion},\
+        org.springframework.instrument.classloading.glassfish;version=${springVersion},\
+        org.springframework.instrument.classloading.jboss;version=${springVersion},\
+        org.springframework.instrument.classloading.oc4j;version=${springVersion},\
+        org.springframework.instrument.classloading.weblogic;version=${springVersion},\
+        org.springframework.jca;version=${springVersion},\
+        org.springframework.jca.cci;version=${springVersion},\
+        org.springframework.jca.cci.connection;version=${springVersion},\
+        org.springframework.jca.cci.core;version=${springVersion},\
+        org.springframework.jca.cci.core.support;version=${springVersion},\
+        org.springframework.jca.cci.object;version=${springVersion},\
+        org.springframework.jca.context;version=${springVersion},\
+        org.springframework.jca.endpoint;version=${springVersion},\
+        org.springframework.jca.support;version=${springVersion},\
+        org.springframework.jca.work;version=${springVersion},\
+        org.springframework.jca.work.glassfish;version=${springVersion},\
+        org.springframework.jca.work.jboss;version=${springVersion},\
+        org.springframework.jdbc;version=${springVersion},\
+        org.springframework.jdbc.config;version=${springVersion},\
+        org.springframework.jdbc.core;version=${springVersion},\
+        org.springframework.jdbc.core.metadata;version=${springVersion},\
+        org.springframework.jdbc.core.namedparam;version=${springVersion},\
+        org.springframework.jdbc.core.simple;version=${springVersion},\
+        org.springframework.jdbc.core.support;version=${springVersion},\
+        org.springframework.jdbc.datasource;version=${springVersion},\
+        org.springframework.jdbc.datasource.embedded;version=${springVersion},\
+        org.springframework.jdbc.datasource.init;version=${springVersion},\
+        org.springframework.jdbc.datasource.lookup;version=${springVersion},\
+        org.springframework.jdbc.object;version=${springVersion},\
+        org.springframework.jdbc.support;version=${springVersion},\
+        org.springframework.jdbc.support.incrementer;version=${springVersion},\
+        org.springframework.jdbc.support.lob;version=${springVersion},\
+        org.springframework.jdbc.support.nativejdbc;version=${springVersion},\
+        org.springframework.jdbc.support.rowset;version=${springVersion},\
+        org.springframework.jdbc.support.xml;version=${springVersion},\
+        org.springframework.jms;version=${springVersion},\
+        org.springframework.jms.config;version=${springVersion},\
+        org.springframework.jms.connection;version=${springVersion},\
+        org.springframework.jms.core;version=${springVersion},\
+        org.springframework.jms.core.support;version=${springVersion},\
+        org.springframework.jms.listener;version=${springVersion},\
+        org.springframework.jms.listener.adapter;version=${springVersion},\
+        org.springframework.jms.listener.endpoint;version=${springVersion},\
+        org.springframework.jms.remoting;version=${springVersion},\
+        org.springframework.jms.support;version=${springVersion},\
+        org.springframework.jms.support.converter;version=${springVersion},\
+        org.springframework.jms.support.destination;version=${springVersion},\
+        org.springframework.jmx;version=${springVersion},\
+        org.springframework.jmx.access;version=${springVersion},\
+        org.springframework.jmx.export;version=${springVersion},\
+        org.springframework.jmx.export.annotation;version=${springVersion},\
+        org.springframework.jmx.export.assembler;version=${springVersion},\
+        org.springframework.jmx.export.metadata;version=${springVersion},\
+        org.springframework.jmx.export.naming;version=${springVersion},\
+        org.springframework.jmx.export.notification;version=${springVersion},\
+        org.springframework.jmx.support;version=${springVersion},\
+        org.springframework.jndi;version=${springVersion},\
+        org.springframework.jndi.support;version=${springVersion},\
+        org.springframework.mail;version=${springVersion},\
+        org.springframework.mail.javamail;version=${springVersion},\
+        org.springframework.mock;version=${springVersion},\
+        org.springframework.mock.jndi;version=${springVersion},\
+        org.springframework.mock.staticmock;version=${springVersion},\
+        org.springframework.mock.web;version=${springVersion},\
+        org.springframework.mock.web.portlet;version=${springVersion},\
+        org.springframework.orm;version=${springVersion},\
+        org.springframework.orm.hibernate3;version=${springVersion},\
+        org.springframework.orm.hibernate3.annotation;version=${springVersion},\
+        org.springframework.orm.hibernate3.support;version=${springVersion},\
+        org.springframework.orm.ibatis;version=${springVersion},\
+        org.springframework.orm.ibatis.support;version=${springVersion},\
+        org.springframework.orm.jdo;version=${springVersion},\
+        org.springframework.orm.jdo.support;version=${springVersion},\
+        org.springframework.orm.jpa;version=${springVersion},\
+        org.springframework.orm.jpa.aspectj;version=${springVersion},\
+        org.springframework.orm.jpa.persistenceunit;version=${springVersion},\
+        org.springframework.orm.jpa.support;version=${springVersion},\
+        org.springframework.orm.jpa.vendor;version=${springVersion},\
+        org.springframework.oxm;version=${springVersion},\
+        org.springframework.oxm.castor;version=${springVersion},\
+        org.springframework.oxm.config;version=${springVersion},\
+        org.springframework.oxm.jaxb;version=${springVersion},\
+        org.springframework.oxm.jibx;version=${springVersion},\
+        org.springframework.oxm.mime;version=${springVersion},\
+        org.springframework.oxm.support;version=${springVersion},\
+        org.springframework.oxm.xmlbeans;version=${springVersion},\
+        org.springframework.oxm.xstream;version=${springVersion},\
+        org.springframework.remoting;version=${springVersion},\
+        org.springframework.remoting.caucho;version=${springVersion},\
+        org.springframework.remoting.httpinvoker;version=${springVersion},\
+        org.springframework.remoting.jaxrpc;version=${springVersion},\
+        org.springframework.remoting.jaxws;version=${springVersion},\
+        org.springframework.remoting.rmi;version=${springVersion},\
+        org.springframework.remoting.soap;version=${springVersion},\
+        org.springframework.remoting.support;version=${springVersion},\
+        org.springframework.scheduling;version=${springVersion},\
+        org.springframework.scheduling.annotation;version=${springVersion},\
+        org.springframework.scheduling.aspectj;version=${springVersion},\
+        org.springframework.scheduling.backportconcurrent;version=${springVersion},\
+        org.springframework.scheduling.commonj;version=${springVersion},\
+        org.springframework.scheduling.concurrent;version=${springVersion},\
+        org.springframework.scheduling.config;version=${springVersion},\
+        org.springframework.scheduling.quartz;version=${springVersion},\
+        org.springframework.scheduling.support;version=${springVersion},\
+        org.springframework.scheduling.timer;version=${springVersion},\
+        org.springframework.scripting;version=${springVersion},\
+        org.springframework.scripting.bsh;version=${springVersion},\
+        org.springframework.scripting.config;version=${springVersion},\
+        org.springframework.scripting.groovy;version=${springVersion},\
+        org.springframework.scripting.jruby;version=${springVersion},\
+        org.springframework.scripting.support;version=${springVersion},\
+        org.springframework.stereotype;version=${springVersion},\
+        org.springframework.test;version=${springVersion},\
+        org.springframework.test.annotation;version=${springVersion},\
+        org.springframework.test.context;version=${springVersion},\
+        org.springframework.test.context.junit38;version=${springVersion},\
+        org.springframework.test.context.junit4;version=${springVersion},\
+        org.springframework.test.context.junit4.statements;version=${springVersion},\
+        org.springframework.test.context.support;version=${springVersion},\
+        org.springframework.test.context.testng;version=${springVersion},\
+        org.springframework.test.context.transaction;version=${springVersion},\
+        org.springframework.test.jdbc;version=${springVersion},\
+        org.springframework.test.jpa;version=${springVersion},\
+        org.springframework.test.util;version=${springVersion},\
+        org.springframework.test.web;version=${springVersion},\
+        org.springframework.transaction;version=${springVersion},\
+        org.springframework.transaction.annotation;version=${springVersion},\
+        org.springframework.transaction.aspectj;version=${springVersion},\
+        org.springframework.transaction.config;version=${springVersion},\
+        org.springframework.transaction.interceptor;version=${springVersion},\
+        org.springframework.transaction.jta;version=${springVersion},\
+        org.springframework.transaction.support;version=${springVersion},\
+        org.springframework.ui;version=${springVersion},\
+        org.springframework.ui.context;version=${springVersion},\
+        org.springframework.ui.context.support;version=${springVersion},\
+        org.springframework.ui.freemarker;version=${springVersion},\
+        org.springframework.ui.jasperreports;version=${springVersion},\
+        org.springframework.ui.velocity;version=${springVersion},\
+        org.springframework.util;version=${springVersion},\
+        org.springframework.util.comparator;version=${springVersion},\
+        org.springframework.util.xml;version=${springVersion},\
+        org.springframework.validation;version=${springVersion},\
+        org.springframework.validation.beanvalidation;version=${springVersion},\
+        org.springframework.validation.support;version=${springVersion},\
+        org.springframework.web;version=${springVersion},\
+        org.springframework.web.bind;version=${springVersion},\
+        org.springframework.web.bind.annotation;version=${springVersion},\
+        org.springframework.web.bind.annotation.support;version=${springVersion},\
+        org.springframework.web.bind.support;version=${springVersion},\
+        org.springframework.web.client;version=${springVersion},\
+        org.springframework.web.client.support;version=${springVersion},\
+        org.springframework.web.context;version=${springVersion},\
+        org.springframework.web.context.request;version=${springVersion},\
+        org.springframework.web.context.support;version=${springVersion},\
+        org.springframework.web.filter;version=${springVersion},\
+        org.springframework.web.jsf;version=${springVersion},\
+        org.springframework.web.jsf.el;version=${springVersion},\
+        org.springframework.web.multipart;version=${springVersion},\
+        org.springframework.web.multipart.commons;version=${springVersion},\
+        org.springframework.web.multipart.support;version=${springVersion},\
+        org.springframework.web.servlet;version=${springVersion},\
+        org.springframework.web.servlet.config;version=${springVersion},\
+        org.springframework.web.servlet.handler;version=${springVersion},\
+        org.springframework.web.servlet.i18n;version=${springVersion},\
+        org.springframework.web.servlet.mvc;version=${springVersion},\
+        org.springframework.web.servlet.mvc.annotation;version=${springVersion},\
+        org.springframework.web.servlet.mvc.multiaction;version=${springVersion},\
+        org.springframework.web.servlet.mvc.support;version=${springVersion},\
+        org.springframework.web.servlet.resource;version=${springVersion},\
+        org.springframework.web.servlet.support;version=${springVersion},\
+        org.springframework.web.servlet.tags;version=${springVersion},\
+        org.springframework.web.servlet.tags.form;version=${springVersion},\
+        org.springframework.web.servlet.theme;version=${springVersion},\
+        org.springframework.web.servlet.view;version=${springVersion},\
+        org.springframework.web.servlet.view.document;version=${springVersion},\
+        org.springframework.web.servlet.view.feed;version=${springVersion},\
+        org.springframework.web.servlet.view.freemarker;version=${springVersion},\
+        org.springframework.web.servlet.view.jasperreports;version=${springVersion},\
+        org.springframework.web.servlet.view.json;version=${springVersion},\
+        org.springframework.web.servlet.view.tiles;version=${springVersion},\
+        org.springframework.web.servlet.view.tiles2;version=${springVersion},\
+        org.springframework.web.servlet.view.velocity;version=${springVersion},\
+        org.springframework.web.servlet.view.xml;version=${springVersion},\
+        org.springframework.web.servlet.view.xslt;version=${springVersion},\
+        org.springframework.web.struts;version=${springVersion},\
+        org.springframework.web.util;version=${springVersion},\
         org.opennms.netmgt.config;version=${opennms.osgi.version},\
         org.opennms.netmgt.dao;version=${opennms.osgi.version},\
         org.opennms.netmgt.model;version=${opennms.osgi.version},\
         org.opennms.netmgt.snmp;version=${opennms.osgi.version},\
         org.opennms.netmgt.model.events;version=${opennms.osgi.version},\
         org.opennms.netmgt.model.ncs;version=${opennms.osgi.version},\
+        org.opennms.container.web;version=${opennms.osgi.version},\
         org.opennms.core.criteria;version=${opennms.osgi.version},\
         org.opennms.core.utils;version=${opennms.osgi.version},\
         org.opennms.core.xml;version=${opennms.osgi.version},\

core/db/src/main/castor/castorbuilder.properties

 http://xmlns.opennms.org/xsd/users=org.opennms.netmgt.config.users,\
 http://xmlns.opennms.org/xsd/views=org.opennms.netmgt.config.views,\
 http://xmlns.opennms.org/xsd/viewsdisplay=org.opennms.netmgt.config.viewsdisplay,\
-http://xmlns.opennms.org/xsd/webui-colors=org.opennms.netmgt.config.webuiColors
+http://xmlns.opennms.org/xsd/webui-colors=org.opennms.netmgt.config.webuiColors,\
+http://xmlns.opennms.org/xsd/config/vmware-cim-datacollection=org.opennms.netmgt.config.vmware.cim,\
+http://xmlns.opennms.org/xsd/config/vmware-datacollection=org.opennms.netmgt.config.vmware.vijava,\
+http://xmlns.opennms.org/xsd/config/vmware-config=org.opennms.netmgt.config.vmware

core/schema/src/main/liquibase/1.9.94/changelog.xml

+<?xml version="1.0" encoding="UTF-8"?>
+
+<databaseChangeLog
+        xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
+        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-2.0.xsd">
+
+    <!--
+        To allow management of VMware virtual machines we need some additional informations to distinguish
+        virtual machines and host systems.
+    -->
+    <changeSet author="ronny" id="1.9.94-addAssetFieldsForVMwareRequisition">
+        <addColumn tableName="assets">
+            <column name="vmwaremanagedobjectid" type="varchar(70)" />
+            <column name="vmwaremanagedentitytype" type="varchar(70)" />
+            <column name="vmwaremanagementserver" type="varchar(70)" />
+            <column name="vmwaretopologyinfo" type="varchar(1023)" />
+            <column name="vmwarestate" type="varchar(255)" />
+        </addColumn>
+    </changeSet>
+</databaseChangeLog>

core/schema/src/main/liquibase/changelog.xml

 	<include file="1.9.90/changelog.xml"/>
 	<include file="1.9.91/changelog.xml"/>
 	<include file="1.9.92/changelog.xml"/>
+	<include file="1.9.94/changelog.xml"/>
 	<include file="1.10.1/changelog.xml"/>
 	<include file="1.10.4/changelog.xml"/>
 	<include file="1.11.1/AlarmNotes.xml"/>
 	<include file="1.11.3/changelog.xml"/>
 	<include file="1.11.4/changelog.xml"/>
+	
 	<include file="stored-procedures/getManagePercentAvailIntfWindow.xml" />
 	<include file="stored-procedures/getManagePercentAvailNodeWindow.xml" />
 	<include file="stored-procedures/getManagedOutageForIntfInWindow.xml" />
 
  -- OpenNMS Release Manager <opennms@opennms.org>  Mon, 07 May 2012 11:21:00 -0400
 
+opennms (1.10.8-1) stable; urgency=low
+
+  * New upstream release.  This release has a few bug fixes and enhancements.
+
+ -- OpenNMS Release Manager <opennms@opennms.org>  Wed, 23 Jan 2013 13:46:00 -0500
+
 opennms (1.10.7-1) stable; urgency=low
 
   * New upstream release.  This release has a few bug fixes and enhancements,

features/name-cutter/pom.xml

+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <artifactId>org.opennms.features</artifactId>
+        <groupId>org.opennms</groupId>
+        <version>1.11.4-SNAPSHOT</version>
+    </parent>
+    <groupId>org.opennms.features</groupId>
+    <artifactId>org.opennms.features.name-cutter</artifactId>
+    <packaging>bundle</packaging>
+    <name>OpenNMS Name Cutter</name>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-bundle-plugin</artifactId>
+                <extensions>true</extensions>
+            </plugin>
+        </plugins>
+    </build>
+ 
+    <dependencies>
+      
+        <!-- Helpers -->
+        <dependency>
+            <groupId>commons-lang</groupId>
+            <artifactId>commons-lang</artifactId>
+        </dependency>
+
+        <!-- Logging -->
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-api</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+        </dependency>
+    </dependencies>
+
+</project>

features/name-cutter/src/main/java/org/opennms/features/namecutter/NameCutter.java

+/*******************************************************************************
+ * This file is part of OpenNMS(R).
+ *
+ * Copyright (C) 2012 The OpenNMS Group, Inc.
+ * OpenNMS(R) is Copyright (C) 1999-2012 The OpenNMS Group, Inc.
+ *
+ * OpenNMS(R) is a registered trademark of The OpenNMS Group, Inc.
+ *
+ * OpenNMS(R) is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published
+ * by the Free Software Foundation, either version 3 of the License,
+ * or (at your option) any later version.
+ *
+ * OpenNMS(R) is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with OpenNMS(R).  If not, see:
+ *      http://www.gnu.org/licenses/
+ *
+ * For more information contact:
+ *     OpenNMS(R) Licensing <license@opennms.org>
+ *     http://www.opennms.org/
+ *     http://www.opennms.com/
+ *******************************************************************************/
+
+package org.opennms.features.namecutter;
+
+import java.util.HashMap;
+import java.util.Map;
+import org.apache.commons.lang.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ *
+ * @author Markus Neumann <markus@opennms.com>
+ */
+public class NameCutter {
+
+    private final static Logger logger = LoggerFactory.getLogger(NameCutter.class);
+    private Map<String, String> dictionary = new HashMap<String, String>();
+
+    public String trimByCamelCase(String name, Integer maxLength) {
+        String result = "";
+        String[] nameParts = StringUtils.splitByCharacterTypeCamelCase(name);
+        Integer charsOver = name.length() - maxLength;
+        for (int i = 0; i < charsOver; i++) {
+            Integer largest = 0;
+            Integer index = 0;
+            for (int j = 0; j < nameParts.length; j++) {
+                if (nameParts[j].length() > largest) {
+                    largest = nameParts[j].length();
+                    index = j;
+                }
+            }
+            nameParts[index] = StringUtils.chop(nameParts[index]);
+        }
+        for (String namePart : nameParts) {
+            result = result + namePart;
+        }
+        return result;
+    }
+
+    public String trimByDictionary(String name) {
+        String result = "";
+
+        String[] nameParts = StringUtils.splitByCharacterTypeCamelCase(name);
+        for (int i = 0;
+                i < nameParts.length;
+                i++) {
+            String namePart = nameParts[i];
+
+            for (String word : dictionary.keySet()) {
+                if (namePart.equalsIgnoreCase(word)) {
+                    logger.debug("dictionary Hit at '{}' result '{}'", name, name.replaceAll(word, dictionary.get(word)));
+                    nameParts[i] = dictionary.get(word);
+                }
+            }
+        }
+        for (String namePart : nameParts) {
+            result = result + namePart;
+        }
+        return result;
+    }
+
+    public Map<String, String> getDictionary() {
+        return dictionary;
+    }
+
+    public void setDictionary(Map<String, String> dictionary) {
+        this.dictionary = dictionary;
+    }
+}

features/name-cutter/src/test/java/org/opennms/features/namecutter/NameCutterTest.java

+/*******************************************************************************
+ * This file is part of OpenNMS(R).
+ *
+ * Copyright (C) 2012 The OpenNMS Group, Inc.
+ * OpenNMS(R) is Copyright (C) 1999-2012 The OpenNMS Group, Inc.
+ *
+ * OpenNMS(R) is a registered trademark of The OpenNMS Group, Inc.
+ *
+ * OpenNMS(R) is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published
+ * by the Free Software Foundation, either version 3 of the License,
+ * or (at your option) any later version.
+ *
+ * OpenNMS(R) is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with OpenNMS(R).  If not, see:
+ *      http://www.gnu.org/licenses/
+ *
+ * For more information contact:
+ *     OpenNMS(R) Licensing <license@opennms.org>
+ *     http://www.opennms.org/
+ *     http://www.opennms.com/
+ *******************************************************************************/
+
+package org.opennms.features.namecutter;
+
+import java.io.BufferedInputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Properties;
+import org.junit.*;
+
+/**
+ *
+ * @author Markus Neumann <markus@opennms.com>
+ */
+public class NameCutterTest {
+
+    private static Map<String, String> dictionary = new HashMap<String, String>();
+
+    private NameCutter nameCutter = new NameCutter();
+
+    @BeforeClass
+    public static void setUpClass() throws Exception {
+        Properties properties = new Properties();
+        BufferedInputStream stream = new BufferedInputStream(new FileInputStream(new File("src/test/resources/dictionary.properties")));
+        properties.load(stream);
+        stream.close();
+        for (Object key : properties.keySet()) {
+            dictionary.put(key.toString(), properties.get(key).toString());
+            System.out.println(key.toString() + "\t" + properties.get(key).toString());
+        }
+    }
+
+    @Before
+    public void setUp() {
+        nameCutter = new NameCutter();
+        nameCutter.setDictionary(dictionary);
+    }
+
+    @Test
+    public void testTrimByDictionary() {
+        Assert.assertEquals("Blo", nameCutter.trimByDictionary("Bloom"));
+        Assert.assertEquals("Tok", nameCutter.trimByDictionary("Token"));
+
+        Assert.assertEquals("CommitVirtMemSize", nameCutter.trimByDictionary("CommittedVirtualMemorySize"));
+        Assert.assertEquals("AvgCompRatio" , nameCutter.trimByDictionary("AverageCompressionRatio"));
+        Assert.assertEquals("AllIdntToknzCnt" , nameCutter.trimByDictionary("AllIdentityTokenizedCount"));
+    }
+
+    @Test
+    public void testTrimByCamelCase() {
+        Assert.assertEquals("CommitteVirtMemSize", nameCutter.trimByCamelCase("CommittedVirtMemSize", 19));
+        Assert.assertEquals("CommiVirtuMemorSize", nameCutter.trimByCamelCase("CommittedVirtualMemorySize", 19));
+        Assert.assertEquals("AllIdentTokeniCount", nameCutter.trimByCamelCase("AllIdentityTokenizedCount", 19));
+    }
+}

features/name-cutter/src/test/resources/dictionary.properties

+###############################################################################
+# This file is part of OpenNMS(R).
+#
+# Copyright (C) 2012 The OpenNMS Group, Inc.
+# OpenNMS(R) is Copyright (C) 1999-2012 The OpenNMS Group, Inc.
+#
+# OpenNMS(R) is a registered trademark of The OpenNMS Group, Inc.
+#
+# OpenNMS(R) is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published
+# by the Free Software Foundation, either version 3 of the License,
+# or (at your option) any later version.
+#
+# OpenNMS(R) is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with OpenNMS(R).  If not, see:
+#      http://www.gnu.org/licenses/
+#
+# For more information contact:
+#     OpenNMS(R) Licensing <license@opennms.org>
+#     http://www.opennms.org/
+#     http://www.opennms.com/
+###############################################################################
+
+# Dictionary Entries
+
+Auxillary:Auxil
+Available:Avail
+Average:Avg
+
+Bloom:Blo
+
+Committed:Commit
+Compression:Comp
+Count:Cnt
+
+Default:Dflt
+
+Error:Err
+
+Identity:Idnt
+
+Memory:Mem
+
+Number:Num
+
+System:Sys
+
+Token:Tok
+Tokenized:Toknz
+
+User:Usr
+Users:Usrs
+
+Virtual:Virt

features/opennms-jmx-tools/pom.xml

 
     <dependencies>
 
+        <!-- OpenNMS Tools -->
+        <dependency>
+            <groupId>org.opennms.features</groupId>
+            <artifactId>org.opennms.features.name-cutter</artifactId>
+            <version>1.11.4-SNAPSHOT</version>
+            <type>jar</type>
+        </dependency>
+        
+        
         <dependency>
             <groupId>com.sun.xml.bind</groupId>
             <artifactId>jaxb-impl</artifactId>
             <artifactId>commons-lang3</artifactId>
             <version>3.1</version>
         </dependency>
-
+        
         <dependency>
             <groupId>commons-io</groupId>
             <artifactId>commons-io</artifactId>

features/opennms-jmx-tools/src/main/java/org/opennms/jmxconfiggenerator/Starter.java

 
 package org.opennms.jmxconfiggenerator;
 
+import java.io.BufferedInputStream;
 import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.util.Collection;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Properties;
 import javax.management.MBeanServerConnection;
 import org.apache.commons.io.FileUtils;
 import org.kohsuke.args4j.CmdLineException;
 import org.opennms.jmxconfiggenerator.graphs.GraphConfigGenerator;
 import org.opennms.jmxconfiggenerator.graphs.JmxConfigReader;
 import org.opennms.jmxconfiggenerator.graphs.Report;
-import org.opennms.jmxconfiggenerator.helper.NameTools;
 import org.opennms.jmxconfiggenerator.jmxconfig.JmxDatacollectionConfiggenerator;
 import org.opennms.xmlns.xsd.config.jmx_datacollection.JmxDatacollectionConfig;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * @author Simon Walter <simon.walter@hp-factory.de>
  * @author Markus Neumann <markus@opennms.com>
  */
 public class Starter {
+    private static Logger logger = LoggerFactory.getLogger(Starter.class);
 
     @Option(name = "-jmx", usage = "Generate jmx-datacollection.xml by reading JMX over RMI")
     private boolean jmx = false;
     @Option(name = "-dictionary", usage = "Dictionary properties file for replacing attribute names and parts of this names")
     private String dictionaryFile;
 
+    private Map<String, String> dictionary = new HashMap<String, String>();
+
     public static void main(String[] args) throws IOException {
         new Starter().doMain(args);
     }
                 throw new CmdLineException(parser, "set jmx or graph.");
             }
             if (jmx && hostName != null && port != null && outFile != null) {
-                NameTools.loadInternalDictionary();
+                dictionary = loadInternalDictionary();
                 if (dictionaryFile != null) {
-                    NameTools.loadExtermalDictionary(dictionaryFile);
+                    dictionary = loadExtermalDictionary(dictionaryFile);
                 }
                 JmxDatacollectionConfiggenerator jmxConfigGenerator = new JmxDatacollectionConfiggenerator();
                 MBeanServerConnection mBeanServerConnection = jmxConfigGenerator.createMBeanServerConnection(hostName, port, username, password, ssl, jmxmp);
-                JmxDatacollectionConfig generateJmxConfigModel = jmxConfigGenerator.generateJmxConfigModel(mBeanServerConnection, serviceName, !skipDefaultVM, runWritableMBeans);
+                JmxDatacollectionConfig generateJmxConfigModel = jmxConfigGenerator.generateJmxConfigModel(mBeanServerConnection, serviceName, !skipDefaultVM, runWritableMBeans, dictionary);
                 jmxConfigGenerator.writeJmxConfigFile(generateJmxConfigModel, outFile);
                 return;
             }
             System.err.println(" Generation of snmp-graph.properties: java -jar JmxConfigGenerator.jar -graph -input test.xml -out test.properies [-template graphTemplate.vm] [-service cassandra]");
         }
     }
-}
+
+    private Map<String, String> loadInternalDictionary() {
+        Map<String, String> internalDictionary = new HashMap<String, String>();
+        Properties properties = new Properties();
+        try {
+            BufferedInputStream stream = new BufferedInputStream(Starter.class.getClassLoader().getResourceAsStream("dictionary.properties"));
+            properties.load(stream);
+            stream.close();
+        } catch (IOException ex) {
+            logger.error("Load dictionary entires from internal properties files error: '{}'", ex.getMessage());
+        }
+        logger.info("Loaded '{}' internal dictionary entiers", properties.size());
+        for (Object key : properties.keySet()) {
+            internalDictionary.put(key.toString(), properties.get(key).toString());
+        }
+        logger.info("Dictionary entries loaded: '{}'", internalDictionary.size());
+        return internalDictionary;
+    }
+    
+    private Map<String, String> loadExtermalDictionary(String dictionaryFile) {
+        Map<String, String> externalDictionary = new HashMap<String, String>();
+        Properties properties = new Properties();
+        try {
+            BufferedInputStream stream = new BufferedInputStream(new FileInputStream(dictionaryFile));
+            properties.load(stream);
+            stream.close();
+        } catch (FileNotFoundException ex) {
+            logger.error("'{}'", ex.getMessage());
+        } catch (IOException ex) {
+            logger.error("'{}'", ex.getMessage());
+        }
+        logger.info("Loaded '{}' external dictionary entiers from '{}'", properties.size(), dictionaryFile);
+        for (Object key : properties.keySet()) {
+            externalDictionary.put(key.toString(), properties.get(key).toString());
+        }
+        logger.info("Dictionary entries loaded: '{}'", externalDictionary.size());
+        return externalDictionary;
+    }
+}

features/opennms-jmx-tools/src/main/java/org/opennms/jmxconfiggenerator/helper/NameTools.java

-/*******************************************************************************
- * This file is part of OpenNMS(R).
- *
- * Copyright (C) 2012 The OpenNMS Group, Inc.
- * OpenNMS(R) is Copyright (C) 1999-2012 The OpenNMS Group, Inc.
- *
- * OpenNMS(R) is a registered trademark of The OpenNMS Group, Inc.
- *
- * OpenNMS(R) is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published
- * by the Free Software Foundation, either version 3 of the License,
- * or (at your option) any later version.
- *
- * OpenNMS(R) is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with OpenNMS(R).  If not, see:
- *      http://www.gnu.org/licenses/
- *
- * For more information contact:
- *     OpenNMS(R) Licensing <license@opennms.org>
- *     http://www.opennms.org/
- *     http://www.opennms.com/
- *******************************************************************************/
-
-package org.opennms.jmxconfiggenerator.helper;
-
-import java.io.BufferedInputStream;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Properties;
-import org.apache.commons.lang3.StringUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- *
- * @author Markus Neumann <markus@opennms.com>
- */
-public class NameTools {
-
-    private final static Logger logger = LoggerFactory.getLogger(NameTools.class);
-    private static Map<String, String> dictionary = new HashMap<String, String>();
-
-    public static String trimByCamelCase(String name, Integer maxLength) {
-        String result = "";
-        String[] nameParts = StringUtils.splitByCharacterTypeCamelCase(name);
-        Integer charsOver = name.length() - maxLength;
-        for (int i = 0; i < charsOver; i++) {
-            Integer largest = 0;
-            Integer index = 0;
-            for (int j = 0; j < nameParts.length; j++) {
-                if (nameParts[j].length() > largest) {
-                    largest = nameParts[j].length();
-                    index = j;
-                }
-            }
-            nameParts[index] = StringUtils.chop(nameParts[index]);
-        }
-        for (String namePart : nameParts) {
-            result = result + namePart;
-        }
-        return result;
-    }
-
-    public static String trimByDictionary(String name) {
-        String result = "";
-
-        String[] nameParts = StringUtils.splitByCharacterTypeCamelCase(name);
-        for (int i = 0;
-                i < nameParts.length;
-                i++) {
-            String namePart = nameParts[i];
-
-            for (String word : dictionary.keySet()) {
-                if (namePart.equalsIgnoreCase(word)) {
-                    logger.debug("dictionary Hit at '{}' result '{}'", name, name.replaceAll(word, dictionary.get(word)));
-                    nameParts[i] = dictionary.get(word);
-                }
-            }
-        }
-        for (String namePart : nameParts) {
-            result = result + namePart;
-        }
-        return result;
-    }
-
-    public static void loadExtermalDictionary(String dictionaryFile) {
-        Properties properties = new Properties();
-        try {
-            BufferedInputStream stream = new BufferedInputStream(new FileInputStream(dictionaryFile));
-            properties.load(stream);
-            stream.close();
-        } catch (FileNotFoundException ex) {
-            logger.error("'{}'", ex.getMessage());
-        } catch (IOException ex) {
-            logger.error("'{}'", ex.getMessage());
-        }
-        logger.info("Loaded '{}' external dictionary entiers from '{}'", properties.size(), dictionaryFile);
-        for (Object key : properties.keySet()) {
-            dictionary.put(key.toString(), properties.get(key).toString());
-        }
-        logger.info("Dictionary entries loaded: '{}'", dictionary.size());
-    }
-
-    public static void loadInternalDictionary() {
-        Properties properties = new Properties();
-        try {
-            BufferedInputStream stream = new BufferedInputStream(NameTools.class.getClassLoader().getResourceAsStream("dictionary.properties"));
-            properties.load(stream);
-            stream.close();
-        } catch (IOException ex) {
-            logger.error("Load dictionary entires from internal properties files error: '{}'", ex.getMessage());
-        }
-        logger.info("Loaded '{}' internal dictionary entiers", properties.size());
-        for (Object key : properties.keySet()) {
-            dictionary.put(key.toString(), properties.get(key).toString());
-        }
-        logger.info("Dictionary entries loaded: '{}'", dictionary.size());
-    }
-
-}

features/opennms-jmx-tools/src/main/java/org/opennms/jmxconfiggenerator/jmxconfig/JmxDatacollectionConfiggenerator.java

 import java.net.MalformedURLException;
 import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.Map;
 import java.util.Set;
 import javax.management.*;
 import javax.management.openmbean.CompositeData;
 import javax.management.remote.JMXServiceURL;
 import javax.xml.bind.JAXB;
 import org.apache.commons.lang3.StringUtils;
-import org.opennms.jmxconfiggenerator.helper.NameTools;
+import org.opennms.features.namecutter.NameCutter;
 import org.opennms.xmlns.xsd.config.jmx_datacollection.*;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
     private static HashMap<String, Integer> aliasMap = new HashMap<String, Integer>();
     private static ArrayList<String> aliasList = new ArrayList<String>();
     private static Rrd rrd = new Rrd();
+    private static NameCutter nameCutter = new NameCutter();
 
     static {
         // Domanis directly from JVMs
         rrd.getRra().addAll(rras);
     }
 
-    public JmxDatacollectionConfig generateJmxConfigModel(MBeanServerConnection mBeanServerConnection, String serviceName, Boolean runStandardVmBeans, Boolean runWritableMBeans) {
+    public JmxDatacollectionConfig generateJmxConfigModel(MBeanServerConnection mBeanServerConnection, String serviceName, Boolean runStandardVmBeans, Boolean runWritableMBeans, Map<String, String> dictionary) {
 
-        logger.debug("Startup values: \n serviceName: " + serviceName + "\n runStandardVmBeans: " + runStandardVmBeans + "\n runWritableMBeans: " + runWritableMBeans);
+        logger.debug("Startup values: \n serviceName: " + serviceName + "\n runStandardVmBeans: " + runStandardVmBeans + "\n runWritableMBeans: " + runWritableMBeans + "\n dictionary" + dictionary);
+        nameCutter.setDictionary(dictionary);
         JmxDatacollectionConfig xmlJmxDatacollectionConfig = xmlObjectFactory.createJmxDatacollectionConfig();
         JmxCollection xmlJmxCollection = xmlObjectFactory.createJmxCollection();
 
                         xmlCompMember.setName(key);
 
                         logger.debug("composite member pure alias: '{}'", jmxMBeanAttributeInfo.getName() + StringUtils.capitalize(key));
-                        String alias = NameTools.trimByDictionary(jmxMBeanAttributeInfo.getName() + StringUtils.capitalize(key));
-                        alias = createAndRegisterUniceAlias(alias);
+                        String alias = nameCutter.trimByDictionary(jmxMBeanAttributeInfo.getName() + StringUtils.capitalize(key));
+                        alias = createAndRegisterUniqueAlias(alias);
                         xmlCompMember.setAlias(alias);
                         logger.debug("composite member trimmed alias: '{}'", alias);
 
 
         xmlJmxAttribute.setType("gauge");
         xmlJmxAttribute.setName(jmxMBeanAttributeInfo.getName());
-        String alias = NameTools.trimByDictionary(jmxMBeanAttributeInfo.getName());
-        alias = createAndRegisterUniceAlias(alias);
+        String alias = nameCutter.trimByDictionary(jmxMBeanAttributeInfo.getName());
+        alias = createAndRegisterUniqueAlias(alias);
         xmlJmxAttribute.setAlias(alias);
 
         return xmlJmxAttribute;
     }
 
-    private String createAndRegisterUniceAlias(String originalAlias) {
-        String uniceAlias = originalAlias;
+    private String createAndRegisterUniqueAlias(String originalAlias) {
+        String uniqueAlias = originalAlias;
         if (!aliasMap.containsKey(originalAlias)) {
             aliasMap.put(originalAlias, 0);
-            uniceAlias = 0 + uniceAlias;
+            uniqueAlias = 0 + uniqueAlias;
         } else {
             aliasMap.put(originalAlias, aliasMap.get(originalAlias) + 1);
-            uniceAlias = aliasMap.get(originalAlias).toString() + originalAlias;
+            uniqueAlias = aliasMap.get(originalAlias).toString() + originalAlias;
         }
         //find alias crashes caused by cuting down alias length to 19 chars
-        if (aliasList.contains(NameTools.trimByCamelCase(uniceAlias, 19))) {
-            logger.error("ALIAS CRASH AT :" + uniceAlias + "\t as: " + NameTools.trimByCamelCase(uniceAlias, 19));
-            uniceAlias = uniceAlias + "_NAME_CRASH_AS_19_CHAR_VALUE";
+        if (aliasList.contains(nameCutter.trimByCamelCase(uniqueAlias, 19))) {
+            logger.error("ALIAS CRASH AT :" + uniqueAlias + "\t as: " + nameCutter.trimByCamelCase(uniqueAlias, 19));
+            uniqueAlias = uniqueAlias + "_NAME_CRASH_AS_19_CHAR_VALUE";
         } else {
-            uniceAlias = NameTools.trimByCamelCase(uniceAlias, 19);
-            aliasList.add(uniceAlias);
+            uniqueAlias = nameCutter.trimByCamelCase(uniqueAlias, 19);
+            aliasList.add(uniqueAlias);
         }
-        return uniceAlias;
+        return uniqueAlias;
     }
 }

features/opennms-jmx-tools/src/test/java/org/opennms/jmxconfiggenerator/helper/NameToolsTest.java

-/*******************************************************************************
- * This file is part of OpenNMS(R).
- *
- * Copyright (C) 2012 The OpenNMS Group, Inc.
- * OpenNMS(R) is Copyright (C) 1999-2012 The OpenNMS Group, Inc.
- *
- * OpenNMS(R) is a registered trademark of The OpenNMS Group, Inc.
- *
- * OpenNMS(R) is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published
- * by the Free Software Foundation, either version 3 of the License,
- * or (at your option) any later version.
- *
- * OpenNMS(R) is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with OpenNMS(R).  If not, see:
- *      http://www.gnu.org/licenses/
- *
- * For more information contact:
- *     OpenNMS(R) Licensing <license@opennms.org>
- *     http://www.opennms.org/
- *     http://www.opennms.com/
- *******************************************************************************/
-
-package org.opennms.jmxconfiggenerator.helper;
-
-import org.junit.*;
-
-/**
- *
- * @author Markus Neumann <markus@opennms.com>
- */
-public class NameToolsTest {
-
-    public NameToolsTest() {
-    }
-
-    @BeforeClass
-    public static void setUpClass() throws Exception {
-        //The loaded extermal dictionary will be the internal dictionary if the application is packaged as a jar file
-        NameTools.loadExtermalDictionary("src/main/resources/dictionary.properties");
-    }
-
-    @AfterClass
-    public static void tearDownClass() throws Exception {
-    }
-
-    @Before
-    public void setUp() {
-    }
-
-    @After
-    public void tearDown() {
-    }
-
-    @Test
-    public void testTrimByDictionary() {
-        Assert.assertEquals("Blo", NameTools.trimByDictionary("Bloom"));
-        Assert.assertEquals("Tok", NameTools.trimByDictionary("Token"));
-
-        Assert.assertEquals("CommitVirtMemSize", NameTools.trimByDictionary("CommittedVirtualMemorySize"));
-        Assert.assertEquals("AvgCompRatio" , NameTools.trimByDictionary("AverageCompressionRatio"));
-        Assert.assertEquals("AllIdntToknzCnt" , NameTools.trimByDictionary("AllIdentityTokenizedCount"));
-    }
-
-    @Test
-    public void testTrimByCamelCase() {
-        Assert.assertEquals("CommitteVirtMemSize", NameTools.trimByCamelCase("CommittedVirtMemSize", 19));
-        Assert.assertEquals("CommiVirtuMemorSize", NameTools.trimByCamelCase("CommittedVirtualMemorySize", 19));
-        Assert.assertEquals("AllIdentTokeniCount", NameTools.trimByCamelCase("AllIdentityTokenizedCount", 19));
-    }
-}

features/opennms-jmx-tools/src/test/java/org/opennms/jmxconfiggenerator/jmxconfig/JmxDatacollectionConfiggeneratorTest.java