Skip to content

Commit

Permalink
Merge branch 'rc/stable/1.14.0' of github.com:OpenNMS/opennms into fe…
Browse files Browse the repository at this point in the history
…atures/tidy-requisitions-list
  • Loading branch information
Jeff Gehlbach committed Oct 1, 2014
2 parents 2e5dbfe + 5e2068f commit 43ec5e1
Show file tree
Hide file tree
Showing 25 changed files with 395 additions and 467 deletions.
4 changes: 2 additions & 2 deletions features/topology-map/features/vaadin/pom.xml
Expand Up @@ -27,7 +27,7 @@
<feature>http-whiteboard</feature>
</features>
<bundles>
<bundle>wrap:mvn:org.vaadin.addons/refresher/1.2.1.7</bundle>
<bundle>wrap:mvn:org.vaadin.addons/refresher/1.2.3.7</bundle>
<bundle>wrap:mvn:org.vaadin.addons/contextmenu/4.2.1</bundle>
<bundle>wrap:mvn:org.vaadin.addon/confirmdialog/2.0.4</bundle>
</bundles>
Expand Down Expand Up @@ -88,7 +88,7 @@
<dependency>
<groupId>org.vaadin.addons</groupId>
<artifactId>refresher</artifactId>
<version>1.2.1.7</version>
<version>1.2.3.7</version>
</dependency>
<dependency>
<groupId>org.vaadin.addon</groupId>
Expand Down
Expand Up @@ -55,18 +55,25 @@
* http://www.opennms.com/
*******************************************************************************/

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Map;

import org.opennms.core.criteria.Alias;
import org.opennms.core.criteria.Alias.JoinType;
import org.opennms.core.criteria.Criteria;
import org.opennms.core.criteria.restrictions.EqRestriction;
import org.opennms.core.criteria.restrictions.InRestriction;
import org.opennms.core.criteria.restrictions.Restriction;
import org.opennms.core.criteria.restrictions.Restrictions;
import org.opennms.features.topology.api.VerticesUpdateManager;
import org.opennms.netmgt.dao.api.AlarmDao;
import org.opennms.netmgt.model.OnmsAlarm;
import org.opennms.osgi.EventConsumer;

import java.util.*;

public class AlarmDaoContainer extends OnmsDaoContainer<OnmsAlarm,Integer> {

private static final long serialVersionUID = -4026870931086916312L;
Expand Down Expand Up @@ -111,15 +118,12 @@ protected void addAdditionalCriteriaOptions(Criteria criteria, Page page, boolea

@Override
@EventConsumer
public void verticesUpdated(VerticesUpdateManager.VerticesUpdateEvent event) {
final NodeIdFocusToRestrictionsConverter converter = new NodeIdFocusToRestrictionsConverter() {

@Override
protected Restriction createRestriction(Integer nodeId ) {
return new EqRestriction("node.id", nodeId);
}
};
List<Restriction> newRestrictions = converter.getRestrictions(event.getVertexRefs());
public void verticesUpdated(final VerticesUpdateManager.VerticesUpdateEvent event) {
final List<Restriction> newRestrictions = new ArrayList<Restriction>();
final List<Integer> nodeIds = extractNodeIds(event.getVertexRefs());
if (nodeIds.size() > 0) {
newRestrictions.add(Restrictions.in("node.id", nodeIds));
}

if (!getRestrictions().equals(newRestrictions)) { // selection really changed
setRestrictions(newRestrictions);
Expand Down
Expand Up @@ -28,19 +28,21 @@

package org.opennms.features.topology.plugins.browsers;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

import org.opennms.core.criteria.Alias;
import org.opennms.core.criteria.Criteria;
import org.opennms.core.criteria.restrictions.EqRestriction;
import org.opennms.core.criteria.restrictions.Restriction;
import org.opennms.core.criteria.restrictions.Restrictions;
import org.opennms.features.topology.api.VerticesUpdateManager;
import org.opennms.netmgt.dao.api.NodeDao;
import org.opennms.netmgt.model.OnmsNode;
import org.opennms.netmgt.model.PrimaryType;
import org.opennms.osgi.EventConsumer;

import java.util.Arrays;
import java.util.List;

public class NodeDaoContainer extends OnmsDaoContainer<OnmsNode,Integer> {

private static final long serialVersionUID = -5697472655705494537L;
Expand Down Expand Up @@ -70,15 +72,12 @@ protected void doItemAddedCallBack(int rowNumber, Integer id, OnmsNode eachBean)

@Override
@EventConsumer
public void verticesUpdated(VerticesUpdateManager.VerticesUpdateEvent event) {
final NodeIdFocusToRestrictionsConverter converter = new NodeIdFocusToRestrictionsConverter() {

@Override
protected Restriction createRestriction(Integer nodeId) {
return new EqRestriction("id", nodeId);
}
};
List<Restriction> newRestrictions = converter.getRestrictions(event.getVertexRefs());
public void verticesUpdated(final VerticesUpdateManager.VerticesUpdateEvent event) {
final List<Restriction> newRestrictions = new ArrayList<Restriction>();
final List<Integer> nodeIds = extractNodeIds(event.getVertexRefs());
if (nodeIds.size() > 0) {
newRestrictions.add(Restrictions.in("id", nodeIds));
}

if (!getRestrictions().equals(newRestrictions)) { // selection really changed
setRestrictions(newRestrictions);
Expand Down

This file was deleted.

Expand Up @@ -28,30 +28,43 @@

package org.opennms.features.topology.plugins.browsers;

import com.vaadin.data.Container;
import com.vaadin.data.Item;
import com.vaadin.data.Property;
import com.vaadin.data.util.BeanItem;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;

import org.opennms.core.criteria.Criteria;
import org.opennms.core.criteria.Order;
import org.opennms.core.criteria.restrictions.Restriction;
import org.opennms.features.topology.api.SelectionListener;
//import org.opennms.features.topology.api.VerticesUpdateManager;
import org.opennms.features.topology.api.VerticesUpdateManager;
import org.opennms.features.topology.api.topo.GroupRef;
import org.opennms.features.topology.api.topo.Vertex;
import org.opennms.features.topology.api.topo.VertexRef;
import org.opennms.netmgt.dao.api.OnmsDao;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.io.Serializable;
import java.util.*;

public abstract class OnmsDaoContainer<T,K extends Serializable> implements Container, Container.Sortable, Container.Ordered, Container.Indexed, Container.ItemSetChangeNotifier, VerticesUpdateManager.VerticesUpdateListener
{
import com.google.gwt.thirdparty.guava.common.base.Function;
import com.google.gwt.thirdparty.guava.common.collect.Collections2;
import com.vaadin.data.Container;
import com.vaadin.data.Item;
import com.vaadin.data.Property;
import com.vaadin.data.util.BeanItem;

public abstract class OnmsDaoContainer<T,K extends Serializable> implements Container, Container.Sortable, Container.Ordered, Container.Indexed, Container.ItemSetChangeNotifier, VerticesUpdateManager.VerticesUpdateListener {
private static final long serialVersionUID = -9131723065433979979L;

protected static final int DEFAULT_PAGE_SIZE = 200; // items per page/cache

protected static final int DEFAULT_SIZE_RELOAD_TIME = 10000; // ms
private static final Logger LOG = LoggerFactory.getLogger(OnmsDaoContainer.class);

protected static class Page {
protected int length;
Expand Down Expand Up @@ -425,7 +438,8 @@ public Container getContainer() {
}
}

public void setRestrictions(List<Restriction> newRestrictions) {
public void setRestrictions(final List<Restriction> newRestrictions) {
if (newRestrictions == m_restrictions) return;
m_restrictions.clear();
if (newRestrictions == null) return;
m_restrictions.addAll(newRestrictions);
Expand Down Expand Up @@ -560,6 +574,7 @@ protected Criteria getCriteria(Page page, boolean doOrder) {
tmpCriteria.setLimit(page.length);
}
addAdditionalCriteriaOptions(tmpCriteria, page, doOrder);
LOG.debug("query criteria: {}", tmpCriteria);
return tmpCriteria;
}

Expand Down Expand Up @@ -600,4 +615,38 @@ private synchronized void loadPropertiesIfNull() {
}
}
}

/**
* Gets the node ids from the given vertices. A node id can only be extracted from a vertex with a "nodes"' namespace.
* For a vertex with namespace "node" the "getId()" method always returns the node id.
*
* @param vertices
* @return
*/
protected List<Integer> extractNodeIds(Collection<VertexRef> vertices) {
List<Integer> nodeIdList = new ArrayList<Integer>();
for (VertexRef eachRef : vertices) {
if ("nodes".equals(eachRef.getNamespace())) {
try {
nodeIdList.add(Integer.valueOf(eachRef.getId()));
} catch (NumberFormatException e) {
LoggerFactory.getLogger(getClass()).warn("Cannot filter nodes with ID: {}", eachRef.getId());
}
} else if( ((Vertex)eachRef).isGroup() && "category".equals(eachRef.getNamespace()) ){
try{
GroupRef group = (GroupRef) eachRef;
nodeIdList.addAll(Collections2.transform(group.getChildren(), new Function<VertexRef, Integer>(){
@Override
public Integer apply(VertexRef input) {
return Integer.valueOf(input.getId());
}
}));
} catch (ClassCastException e){
LoggerFactory.getLogger(getClass()).warn("Cannot filter category with ID: {} children: {}", eachRef.getId(), ((GroupRef) eachRef).getChildren());

}
}
}
return nodeIdList;
}
}

0 comments on commit 43ec5e1

Please sign in to comment.