NPE in OCS source driver if categoryMap not set in configuration
Description
If there is no categoryMap property in requisition.properties, the OCS source dies with a NullPointerException:
16:25:58.017 [qtp638227191-12 - /ocs] DEBUG o.o.pris.driver.HttpServerDriver - Handling request for instance: ocs 16:25:58.019 [qtp638227191-12 - /ocs] INFO o.o.o.i.c.r.logic.GeneralClientLogic - Initialization OCS Inventory Client 16:25:58.019 [qtp638227191-12 - /ocs] INFO o.o.o.i.c.r.logic.GeneralClientLogic - Init parameters: host=http://10.200.200.89, login=admin 16:25:58.020 [qtp638227191-12 - /ocs] INFO o.o.o.i.c.r.logic.GeneralClientLogic - Using checksum value 4099 16:25:58.020 [qtp638227191-12 - /ocs] INFO o.o.o.i.c.r.logic.GeneralClientLogic - Including 1 tags in request 16:25:58.085 [qtp638227191-12 - /ocs] INFO o.o.o.i.c.r.logic.GetComputersLogic - Prepare call web service from OCS server with offset 0 16:25:58.085 [qtp638227191-12 - /ocs] INFO o.o.o.i.c.r.logic.GeneralClientLogic - Create SOAP request 16:25:58.086 [qtp638227191-12 - /ocs] DEBUG o.o.o.i.c.r.logic.GeneralClientLogic - Create SOAP envelope 16:25:58.086 [qtp638227191-12 - /ocs] DEBUG o.o.o.i.c.r.logic.GeneralClientLogic - Create SOAP body 16:25:58.098 [qtp638227191-12 - /ocs] INFO o.o.o.i.c.r.logic.GeneralClientLogic - SOAP request created 16:25:58.126 [qtp638227191-12 - /ocs] INFO o.o.o.i.c.r.logic.GetComputersLogic - Web service are already called from OCS server, parse response 16:25:58.131 [qtp638227191-12 - /ocs] INFO o.o.o.i.c.r.logic.GetComputersLogic - Prepare call web service from OCS server with offset 1 16:25:58.131 [qtp638227191-12 - /ocs] INFO o.o.o.i.c.r.logic.GeneralClientLogic - Create SOAP request 16:25:58.131 [qtp638227191-12 - /ocs] DEBUG o.o.o.i.c.r.logic.GeneralClientLogic - Create SOAP envelope 16:25:58.131 [qtp638227191-12 - /ocs] DEBUG o.o.o.i.c.r.logic.GeneralClientLogic - Create SOAP body 16:25:58.139 [qtp638227191-12 - /ocs] INFO o.o.o.i.c.r.logic.GeneralClientLogic - SOAP request created 16:25:58.146 [qtp638227191-12 - /ocs] INFO o.o.o.i.c.r.logic.GetComputersLogic - Web service are already called from OCS server, parse response 16:25:58.148 [qtp638227191-12 - /ocs] INFO o.o.o.i.c.r.logic.GetComputersLogic - OCS Inventory Client provided 1 computers. 16:25:58.156 [qtp638227191-12 - /ocs] DEBUG org.opennms.pris.IpInterfaceHelper - Use any for: centos-ocs 10.200.200.89 16:25:58.160 [qtp638227191-12 - /ocs] WARN o.o.pris.driver.HttpServerDriver - null java.lang.NullPointerException: null at org.opennms.pris.IpInterfaceHelper.populateCategories(IpInterfaceHelper.java:212) ~[opennms-pris.jar:na] at org.opennms.pris.ocs.mapper.DefaultOcsComputerMapper.mapComputerToRequisitionNode(DefaultOcsComputerMapper.java:121) ~[opennms-pris.jar:na] at org.opennms.pris.ocs.mapper.DefaultOcsComputerMapper.map(DefaultOcsComputerMapper.java:78) ~[opennms-pris.jar:na] at org.opennms.pris.RequisitionProvider.generate(RequisitionProvider.java:155) ~[opennms-pris.jar:na] at org.opennms.pris.driver.HttpServerDriver$1.handle(HttpServerDriver.java:113) ~[opennms-pris.jar:na] at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) ~[opennms-pris.jar:na] at org.eclipse.jetty.server.Server.handle(Server.java:365) ~[opennms-pris.jar:na] at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:486) ~[opennms-pris.jar:na] at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:933) ~[opennms-pris.jar:na] at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:995) ~[opennms-pris.jar:na] at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644) ~[opennms-pris.jar:na] at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235) ~[opennms-pris.jar:na] at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82) ~[opennms-pris.jar:na] at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668) ~[opennms-pris.jar:na] at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52) ~[opennms-pris.jar:na] at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608) ~[opennms-pris.jar:na] at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543) ~[opennms-pris.jar:na] at java.lang.Thread.run(Thread.java:724) ~[na:1.7.0_25]
If there is no categoryMap property in requisition.properties, the OCS source dies with a NullPointerException:
16:25:58.017 [qtp638227191-12 - /ocs] DEBUG o.o.pris.driver.HttpServerDriver - Handling request for instance: ocs
16:25:58.019 [qtp638227191-12 - /ocs] INFO o.o.o.i.c.r.logic.GeneralClientLogic - Initialization OCS Inventory Client
16:25:58.019 [qtp638227191-12 - /ocs] INFO o.o.o.i.c.r.logic.GeneralClientLogic - Init parameters: host=http://10.200.200.89, login=admin
16:25:58.020 [qtp638227191-12 - /ocs] INFO o.o.o.i.c.r.logic.GeneralClientLogic - Using checksum value 4099
16:25:58.020 [qtp638227191-12 - /ocs] INFO o.o.o.i.c.r.logic.GeneralClientLogic - Including 1 tags in request
16:25:58.085 [qtp638227191-12 - /ocs] INFO o.o.o.i.c.r.logic.GetComputersLogic - Prepare call web service from OCS server with offset 0
16:25:58.085 [qtp638227191-12 - /ocs] INFO o.o.o.i.c.r.logic.GeneralClientLogic - Create SOAP request
16:25:58.086 [qtp638227191-12 - /ocs] DEBUG o.o.o.i.c.r.logic.GeneralClientLogic - Create SOAP envelope
16:25:58.086 [qtp638227191-12 - /ocs] DEBUG o.o.o.i.c.r.logic.GeneralClientLogic - Create SOAP body
16:25:58.098 [qtp638227191-12 - /ocs] INFO o.o.o.i.c.r.logic.GeneralClientLogic - SOAP request created
16:25:58.126 [qtp638227191-12 - /ocs] INFO o.o.o.i.c.r.logic.GetComputersLogic - Web service are already called from OCS server, parse response
16:25:58.131 [qtp638227191-12 - /ocs] INFO o.o.o.i.c.r.logic.GetComputersLogic - Prepare call web service from OCS server with offset 1
16:25:58.131 [qtp638227191-12 - /ocs] INFO o.o.o.i.c.r.logic.GeneralClientLogic - Create SOAP request
16:25:58.131 [qtp638227191-12 - /ocs] DEBUG o.o.o.i.c.r.logic.GeneralClientLogic - Create SOAP envelope
16:25:58.131 [qtp638227191-12 - /ocs] DEBUG o.o.o.i.c.r.logic.GeneralClientLogic - Create SOAP body
16:25:58.139 [qtp638227191-12 - /ocs] INFO o.o.o.i.c.r.logic.GeneralClientLogic - SOAP request created
16:25:58.146 [qtp638227191-12 - /ocs] INFO o.o.o.i.c.r.logic.GetComputersLogic - Web service are already called from OCS server, parse response
16:25:58.148 [qtp638227191-12 - /ocs] INFO o.o.o.i.c.r.logic.GetComputersLogic - OCS Inventory Client provided 1 computers.
16:25:58.156 [qtp638227191-12 - /ocs] DEBUG org.opennms.pris.IpInterfaceHelper - Use any for: centos-ocs 10.200.200.89
16:25:58.160 [qtp638227191-12 - /ocs] WARN o.o.pris.driver.HttpServerDriver - null
java.lang.NullPointerException: null
at org.opennms.pris.IpInterfaceHelper.populateCategories(IpInterfaceHelper.java:212) ~[opennms-pris.jar:na]
at org.opennms.pris.ocs.mapper.DefaultOcsComputerMapper.mapComputerToRequisitionNode(DefaultOcsComputerMapper.java:121) ~[opennms-pris.jar:na]
at org.opennms.pris.ocs.mapper.DefaultOcsComputerMapper.map(DefaultOcsComputerMapper.java:78) ~[opennms-pris.jar:na]
at org.opennms.pris.RequisitionProvider.generate(RequisitionProvider.java:155) ~[opennms-pris.jar:na]
at org.opennms.pris.driver.HttpServerDriver$1.handle(HttpServerDriver.java:113) ~[opennms-pris.jar:na]
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) ~[opennms-pris.jar:na]
at org.eclipse.jetty.server.Server.handle(Server.java:365) ~[opennms-pris.jar:na]
at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:486) ~[opennms-pris.jar:na]
at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:933) ~[opennms-pris.jar:na]
at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:995) ~[opennms-pris.jar:na]
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644) ~[opennms-pris.jar:na]
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235) ~[opennms-pris.jar:na]
at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82) ~[opennms-pris.jar:na]
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668) ~[opennms-pris.jar:na]
at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52) ~[opennms-pris.jar:na]
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608) ~[opennms-pris.jar:na]
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543) ~[opennms-pris.jar:na]
at java.lang.Thread.run(Thread.java:724) ~[na:1.7.0_25]