Fixing the Broken Components — GSoC 2022 Week 10

Piumal Rathnayake
3 min readAug 25, 2022
Image by storyset on Freepik

The 10th week of the GSoC 2022 Coding period is over! and here I’m with my weekly blog post. As I said in my previous blog post, the OCL Subscription Module’s dependencies were upgraded last week. And because of that, some of the components of the module broke. So I started the week by fixing those broken components. Most of those errors were caused by the Carbon V11 upgrade, so I referred to the Carbon V11 Migration Guide when fixing those errors.

After adding those changes, another pull request was opened to merge the 4.x branch to the main branch. But It couldn't be merged due to some build failures. The typescript validations and the unit tests were failing, so I opened a pull request to fix those by cleaning the dependencies and resolving the test issues.

Last week, while researching error handling, I identified the main types of errors that can occur while importing concepts/mappings using the OCL Subscription Module. Those error messages were already simplified earlier, so I thought that those are not required to be updated. During this week, I identified the main errors that can interrupt the whole import process.

  1. HTTP/1.1 204 No Content Error caused by: java.io.IOException: …
    Usually, OCL automatically caches exports, but sometimes this process fails or takes a long time and it is not available. This error occurs when the export is not available.
  2. HTTP/1.1 404 Not Found Error caused by: java.io.IOException: …
    This error occurs when the Subscription URL is incorrect. Also if the version is not specified while the snapshot option is enabled, this error may occur.
  3. There is no released version of the given source…
    This occurs because the URL we provide doesn’t specify a version in it, i.e., it just points to a collection. The module isn’t intelligent enough to find a version if we don’t provide one.
  4. HTTP/1.1 208 Already Reported caused by: java.io.IOException: HTTP/1.1 208 Already Reported

When this kind of error occurs, the backend directly stores the whole error log as the error message. So these are lengthy, not readable and not user-friendly at all. Therefore as a further enhancement, I will be looking for a way to simplify these error messages.

That's how the 10th week went. We have only 2 more weeks remaining for the project. Since the main requirements are already completed, I will be working on further enhancements in the next two weeks.

--

--

Piumal Rathnayake

I'm a Computer Engineering Undergraduate at University of Peradeniya, Sri Lanka. And I also work as a software engineer at Sustainable Education Foundation.