To commit or not to commit

Jayasanka Weerasinghe
2 min readJul 6, 2020

“It takes sixty-five thousand errors before you are qualified to make a rocket.”
- Wernher von Braun

This is the fifth week of my GSoC project. I had to recreate the classes without breaking the module. It was a challenging task because the existing classes were linked almost everywhere. Anyway, This is the new class structure for ADX disaggregations.

The new class structure for ADX disaggregations

As I mentioned it is a hard task to implement these new classes without breaking the module. First I tried to fix everything one by one and realized that it was not going to end. Then I commented out the existing implementations and implemented the above classes. I had to skip the test cases too.

The next challenging part was adding hibernate mappings. Those mappings are defined in XML files. The mapping files instruct Hibernate on how to map classes with the database.

Anyway, it was a tricky task. Whenever I do a single change I have to recompile the module and deploy it on the OpenMRS server to test. Believe me, it takes 7 minutes to deploy the module, and if there’s something wrong with the mappings it crashes the whole server and I need to restart the server again. It takes nearly 10 minutes. Almost 20 minutes for a single change. I had to do more than two hundred trials and errors to make it running.

Now I’m working on finding a way to implement these changes without breaking the module. Otherwise, I won’t be able to send a single PR until I complete the module. And also I have to update the wiki page related to my GSoC project.

--

--

Jayasanka Weerasinghe

A professional key presser who turns characters into interesting web things 🙂