BundleConfigReader Error

I am trying to develop a 1.x binding for MBus communication. However, I am getting the following exception while trying to provide BindingProvider:

!ENTRY org.eclipse.smarthome.model.core 4 0 2018-05-15 16:32:19.019
!MESSAGE [org.eclipse.smarthome.folder(240)] The activate method has thrown an exception
!STACK 0
java.lang.AbstractMethodError: org.openhab.core.binding.internal.BindingConfigReaderDelegate.processBindingConfiguration(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lorg/eclipse/smarthome/config/core/Configuration;)V
	at org.eclipse.smarthome.model.item.internal.GenericItemProvider.internalDispatchBindings(GenericItemProvider.java:361)
	at org.eclipse.smarthome.model.item.internal.GenericItemProvider.internalDispatchBindings(GenericItemProvider.java:330)
	at org.eclipse.smarthome.model.item.internal.GenericItemProvider.processBindingConfigsFromModel(GenericItemProvider.java:204)
	at org.eclipse.smarthome.model.item.internal.GenericItemProvider.modelChanged(GenericItemProvider.java:397)
	at org.eclipse.smarthome.model.core.internal.ModelRepositoryImpl.notifyListeners(ModelRepositoryImpl.java:301)
	at org.eclipse.smarthome.model.core.internal.ModelRepositoryImpl.addOrRefreshModel(ModelRepositoryImpl.java:123)
	at org.eclipse.smarthome.model.core.internal.folder.FolderObserver.checkFile(FolderObserver.java:227)
	at org.eclipse.smarthome.model.core.internal.folder.FolderObserver.addModelsToRepo(FolderObserver.java:174)
	at org.eclipse.smarthome.model.core.internal.folder.FolderObserver.activate(FolderObserver.java:118)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.apache.felix.scr.impl.inject.BaseMethod.invokeMethod(BaseMethod.java:229)
	at org.apache.felix.scr.impl.inject.BaseMethod.access$500(BaseMethod.java:39)
	at org.apache.felix.scr.impl.inject.BaseMethod$Resolved.invoke(BaseMethod.java:650)
	at org.apache.felix.scr.impl.inject.BaseMethod.invoke(BaseMethod.java:506)
	at org.apache.felix.scr.impl.inject.ActivateMethod.invoke(ActivateMethod.java:307)
	at org.apache.felix.scr.impl.inject.ActivateMethod.invoke(ActivateMethod.java:299)
	at org.apache.felix.scr.impl.manager.SingleComponentManager.createImplementationObject(SingleComponentManager.java:298)
	at org.apache.felix.scr.impl.manager.SingleComponentManager.createComponent(SingleComponentManager.java:109)
	at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:906)
	at org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:879)
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:749)
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.enableInternal(AbstractComponentManager.java:675)
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:430)
	at org.apache.felix.scr.impl.manager.ConfigurableComponentHolder.enableComponents(ConfigurableComponentHolder.java:657)
	at org.apache.felix.scr.impl.BundleComponentActivator.initialEnable(BundleComponentActivator.java:341)
	at org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:390)
	at org.apache.felix.scr.impl.Activator.access$200(Activator.java:54)
	at org.apache.felix.scr.impl.Activator$ScrExtension.start(Activator.java:265)
	at org.apache.felix.utils.extender.AbstractExtender.createExtension(AbstractExtender.java:254)
	at org.apache.felix.utils.extender.AbstractExtender.modifiedBundle(AbstractExtender.java:227)
	at org.apache.felix.utils.extender.AbstractExtender.addingBundle(AbstractExtender.java:187)
	at org.osgi.util.tracker.BundleTracker$Tracked.customizerAdding(BundleTracker.java:469)
	at org.osgi.util.tracker.BundleTracker$Tracked.customizerAdding(BundleTracker.java:1)
	at org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256)
	at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229)
	at org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:444)
	at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:908)
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPrivileged(EquinoxEventPublisher.java:213)
	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:120)
	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:112)
	at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor.publishModuleEvent(EquinoxContainerAdaptor.java:168)
	at org.eclipse.osgi.container.Module.publishEvent(Module.java:476)
	at org.eclipse.osgi.container.Module.doStart(Module.java:578)
	at org.eclipse.osgi.container.Module.start(Module.java:449)
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1628)
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1608)
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1579)
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1522)
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)

Here is the GenericBindingProvider’s processBindingConfiguration function definition-

@Override
public void processBindingConfiguration(String context, Item item, String bindingConfig)  throws BindingConfigParseException
{
	super.processBindingConfiguration(context, item, bindingConfig);

	logger.debug("\n\n[ processBindingConfiguration ]\n\n".toUpperCase());
	logger.debug("\n\n[ bindingConfig ] : {}", bindingConfig);

	if (bindingConfig != null)
	{
		MBusBindingConfig config = new MBusBindingConfig(item, bindingConfig);
		addBindingConfig(item, config);
	}
}

I would love to get 1.x binding development guides. Any help will be very much appreciated.

Unfortunately most of the developers have moved on to OH 2.x. Consequently there are fewer and fewer around with the memory to actually help with a problem like this.

Thanks Rich for your comment. Are there organized materials for developing 1.x bindings? I am struggling quite badly.

I don’t know. I don’t think they are around anymore. If you are looking to contribute it to the OH project I’m not certain they would be accepted. They really want new bindings to be OH 2. I think that is why the OH 1 stuff mostly points to OH 2 now.