Skip to content

Commit c7fb17e

Browse files
committed
Searching for node's container is now more strict
1 parent 7838254 commit c7fb17e

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

src/main/java/com/github/tomaskir/netxms/csvimporter/netxms/NetxmsConnector.java

+12-2
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import org.netxms.client.NXCException;
88
import org.netxms.client.NXCObjectCreationData;
99
import org.netxms.client.NXCSession;
10+
import org.netxms.client.ObjectFilter;
1011
import org.netxms.client.objects.AbstractObject;
1112

1213
import java.io.IOException;
@@ -27,7 +28,7 @@ public void connect(String address, String port, String username, String passwor
2728
}
2829

2930
public void addNodes(List<CsvNode> nodeList) throws IOException, NXCException {
30-
for (CsvNode node : nodeList) {
31+
for (final CsvNode node : nodeList) {
3132
System.out.print(".");
3233

3334
AbstractObject object = nxcSession.findObjectByName(node.getName());
@@ -37,7 +38,16 @@ public void addNodes(List<CsvNode> nodeList) throws IOException, NXCException {
3738
continue;
3839
}
3940

40-
AbstractObject container = nxcSession.findObjectByName(node.getContainer());
41+
// create object filter to find the node's container
42+
ObjectFilter filter = new ObjectFilter() {
43+
@Override
44+
public boolean filter(AbstractObject object) {
45+
return object.getObjectClass() == AbstractObject.OBJECT_CONTAINER && object.getObjectName().equals(node.getContainer());
46+
}
47+
};
48+
49+
// find node's container
50+
AbstractObject container = nxcSession.findObject(filter);
4151
if (container == null) {
4252
System.out.println();
4353
System.out.println("Warning - container '" + node.getContainer() + "' not found for node '" + node.getName() + "', not creating node.");

0 commit comments

Comments
 (0)