ItmProvider implements BindingAwareProvider, AutoCloseable, IITMProvider { @Override public void close() throws Exception { if (itmManager != null) { itmManager.close(); } if (tzChangeListener != null) { tzChangeListener.close(); } if (tnlIntervalListener != null) { tnlIntervalListener.close(); } if(tnlToggleListener!= null){ tnlToggleListener.close(); } LOG.info("ItmProvider Closed"); } ItmProvider(); void setRpcProviderRegistry(RpcProviderRegistry rpcProviderRegistry); RpcProviderRegistry getRpcProviderRegistry(); @Override void onSessionInitiated(ProviderContext session); void setInterfaceManager(IInterfaceManager interfaceManager); void setNotificationPublishService(NotificationPublishService notificationPublishService); void setMdsalApiManager(IMdsalApiManager mdsalMgr); void setNotificationService(NotificationService notificationService); @Override void close(); @Override DataBroker getDataBroker(); @Override void createLocalCache(BigInteger dpnId, String portName, Integer vlanId, String ipAddress, String subnetMask,
                    String gatewayIp, String transportZone); @Override void commitTeps(); @Override void showTeps(); void showState(TunnelList tunnels); void deleteVtep(BigInteger dpnId, String portName, Integer vlanId, String ipAddress, String subnetMask,
            String gatewayIp, String transportZone); @Override void configureTunnelType(String transportZone, String tunnelType); @Override void addVtepConfigSchema(VtepConfigSchema vtepConfigSchema); @Override VtepConfigSchema getVtepConfigSchema(String schemaName); @Override List<VtepConfigSchema> getAllVtepConfigSchemas(); @Override void updateVtepSchema(String schemaName, List<BigInteger> lstDpnsForAdd, List<BigInteger> lstDpnsForDelete); @Override void deleteAllVtepSchemas(); void configureTunnelMonitorEnabled(boolean monitorEnabled); void configureTunnelMonitorInterval(int interval);  }
@Test public void testClose() throws Exception { ItmProvider provider = new ItmProvider(); provider.close(); }