Сегодня обновился с 5.2 до 6.1 на тестовом биллинге и обнаружил,
что когда в тарифном плане открываешь узел, в котором ниже содержится узел "Фильтр по типу сервиса" с указанными в нём сервисами,
то в клиенте ошибка такая:
Код:
ru.bitel.bgbilling.common.BGException: java.lang.IllegalArgumentException: Service class is undefined!
at ru.bitel.bgbilling.kernel.directory.api.client.ClientDirectoryFactory.newDirectory(ClientDirectoryFactory.java:23)
at ru.bitel.bgbilling.client.common.ClientContext.getDirectory(ClientContext.java:625)
at ru.bitel.bgbilling.kernel.directory.api.client.TariffDirectory.init(TariffDirectory.java:38)
at bitel.billing.module.tariff.directory.DirectoriesManager$LazyDirectory.init(DirectoriesManager.java:42)
at bitel.billing.module.tariff.directory.DirectoriesManager$LazyDirectory.getDirectory(DirectoriesManager.java:33)
at bitel.billing.module.tariff.directory.DirectoriesManager$LazyDirectory.getValue(DirectoriesManager.java:48)
at bitel.billing.module.tariff.MultiSelectTariffTreeNode.getView(MultiSelectTariffTreeNode.java:185)
at bitel.billing.module.tariff.TariffTreeRenderer.getTreeCellRendererComponent(TariffTreeRenderer.java:38)
at javax.swing.plaf.basic.BasicTreeUI$NodeDimensionsHandler.getNodeDimensions(Unknown Source)
at javax.swing.tree.AbstractLayoutCache.getNodeDimensions(Unknown Source)
at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.updatePreferredSize(Unknown Source)
at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.expand(Unknown Source)
at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.expand(Unknown Source)
at javax.swing.tree.VariableHeightLayoutCache.ensurePathIsExpanded(Unknown Source)
at javax.swing.tree.VariableHeightLayoutCache.setExpandedState(Unknown Source)
at javax.swing.plaf.basic.BasicTreeUI.updateExpandedDescendants(Unknown Source)
at javax.swing.plaf.basic.BasicTreeUI.updateLayoutCacheExpandedNodes(Unknown Source)
at javax.swing.plaf.basic.BasicTreeUI.updateLayoutCacheExpandedNodesIfNecessary(Unknown Source)
at javax.swing.plaf.basic.BasicTreeUI.configureLayoutCache(Unknown Source)
at javax.swing.plaf.basic.BasicTreeUI.completeUIInstall(Unknown Source)
at javax.swing.plaf.basic.BasicTreeUI.installUI(Unknown Source)
at javax.swing.plaf.metal.MetalTreeUI.installUI(Unknown Source)
at javax.swing.JComponent.setUI(Unknown Source)
at javax.swing.JTree.setUI(Unknown Source)
at javax.swing.JTree.updateUI(Unknown Source)
at bitel.billing.module.tariff.TariffTree.updateTree(TariffTree.java:657)
at bitel.billing.module.tariff.TariffTree$1.mouseClicked(TariffTree.java:154)
at java.awt.AWTEventMulticaster.mouseClicked(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$200(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.IllegalArgumentException: Service class is undefined!
at ru.bitel.bgbilling.kernel.directory.api.client.ClientDirectoryInfo.<init>(ClientDirectoryInfo.java:65)
at ru.bitel.bgbilling.kernel.directory.api.client.ClientDirectoryInfo.getInstance(ClientDirectoryInfo.java:28)
at ru.bitel.bgbilling.kernel.directory.api.client.ClientDirectoryFactory.newDirectory(ClientDirectoryFactory.java:15)
... 58 more
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at ru.bitel.bgbilling.kernel.directory.api.client.TariffDirectory.getValue(TariffDirectory.java:51)
at bitel.billing.module.tariff.directory.DirectoriesManager$LazyDirectory.getValue(DirectoriesManager.java:48)
at bitel.billing.module.tariff.MultiSelectTariffTreeNode.getView(MultiSelectTariffTreeNode.java:185)
at bitel.billing.module.tariff.TariffTreeRenderer.getTreeCellRendererComponent(TariffTreeRenderer.java:38)
at javax.swing.plaf.basic.BasicTreeUI$NodeDimensionsHandler.getNodeDimensions(Unknown Source)
at javax.swing.tree.AbstractLayoutCache.getNodeDimensions(Unknown Source)
at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.updatePreferredSize(Unknown Source)
at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.expand(Unknown Source)
at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.expand(Unknown Source)
at javax.swing.tree.VariableHeightLayoutCache.ensurePathIsExpanded(Unknown Source)
at javax.swing.tree.VariableHeightLayoutCache.setExpandedState(Unknown Source)
at javax.swing.plaf.basic.BasicTreeUI.updateExpandedDescendants(Unknown Source)
at javax.swing.plaf.basic.BasicTreeUI.updateLayoutCacheExpandedNodes(Unknown Source)
at javax.swing.plaf.basic.BasicTreeUI.updateLayoutCacheExpandedNodesIfNecessary(Unknown Source)
at javax.swing.plaf.basic.BasicTreeUI.configureLayoutCache(Unknown Source)
at javax.swing.plaf.basic.BasicTreeUI.completeUIInstall(Unknown Source)
at javax.swing.plaf.basic.BasicTreeUI.installUI(Unknown Source)
at javax.swing.plaf.metal.MetalTreeUI.installUI(Unknown Source)
at javax.swing.JComponent.setUI(Unknown Source)
at javax.swing.JTree.setUI(Unknown Source)
at javax.swing.JTree.updateUI(Unknown Source)
at bitel.billing.module.tariff.TariffTree.updateTree(TariffTree.java:657)
at bitel.billing.module.tariff.TariffTree$1.mouseClicked(TariffTree.java:154)
at java.awt.AWTEventMulticaster.mouseClicked(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$200(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at ru.bitel.bgbilling.kernel.directory.api.client.TariffDirectory.getValue(TariffDirectory.java:51)
at bitel.billing.module.tariff.directory.DirectoriesManager$LazyDirectory.getValue(DirectoriesManager.java:48)
at bitel.billing.module.tariff.MultiSelectTariffTreeNode.getView(MultiSelectTariffTreeNode.java:185)
at bitel.billing.module.tariff.TariffTreeRenderer.getTreeCellRendererComponent(TariffTreeRenderer.java:38)
at javax.swing.plaf.basic.BasicTreeUI$NodeDimensionsHandler.getNodeDimensions(Unknown Source)
at javax.swing.tree.AbstractLayoutCache.getNodeDimensions(Unknown Source)
at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.updatePreferredSize(Unknown Source)
at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getXOrigin(Unknown Source)
at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getNodeBounds(Unknown Source)
at javax.swing.tree.VariableHeightLayoutCache.getBounds(Unknown Source)
at javax.swing.plaf.basic.BasicTreeUI.getPathBounds(Unknown Source)
at javax.swing.plaf.basic.BasicTreeUI.getPathBounds(Unknown Source)
at javax.swing.plaf.basic.BasicTreeUI.paintVerticalPartOfLeg(Unknown Source)
at javax.swing.plaf.metal.MetalTreeUI.paintVerticalPartOfLeg(Unknown Source)
at javax.swing.plaf.basic.BasicTreeUI.paint(Unknown Source)
at javax.swing.plaf.metal.MetalTreeUI.paint(Unknown Source)
at javax.swing.plaf.ComponentUI.update(Unknown Source)
at javax.swing.JComponent.paintComponent(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintToOffscreen(Unknown Source)
at javax.swing.BufferStrategyPaintManager.paint(Unknown Source)
at javax.swing.RepaintManager.paint(Unknown Source)
at javax.swing.JComponent._paintImmediately(Unknown Source)
at javax.swing.JComponent.paintImmediately(Unknown Source)
at javax.swing.RepaintManager$3.run(Unknown Source)
at javax.swing.RepaintManager$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
at javax.swing.RepaintManager.prePaintDirtyRegions(Unknown Source)
at javax.swing.RepaintManager.access$1100(Unknown Source)
at javax.swing.RepaintManager$ProcessingRunnable.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$200(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)