Repository: ballerina-platform/openapi-tools
Issue: OpenAPI module compiler plugin breaks when the `contract` path is invalid in `openapi:ServiceInfo` annotation

**Description:**
OpenAPI module compiler plugin breaks when the `contract` path is invalid in `openapi:ServiceInfo` annotation.

**Steps to reproduce:**
* Use following sample code.
```ballerina
import ballerina/http;
import ballerina/openapi;

@openapi:ServiceInfo{
    contract: "service_openapi.json"
}
@http:ServiceConfig {compression: {enable: http:COMPRESSION_AUTO}}
service / on new http:Listener(9090) {
    resource function get greeting() returns string {
        return "Hello, World!";
    }
}
```

* Remove `service_openapi.json` from current working directory.
* Build the ballerina project/file.
* Following compilation error could be seen. (detailed stack-trace is attached to the issue)
```
error: compilation failed: The compiler extension in package 'ballerina:openapi:0.9.0-beta.2' failed to complete. null
```
[open-api-bug.txt](https://github.com/ballerina-platform/ballerina-openapi/files/7131331/open-api-bug.txt)


**Affected Versions:**
* Ballerina SL Beta 2


Changed files:
openapi-validator/src/main/java/io/ballerina/openapi/validator/ServiceValidator.java

diff --git a/openapi-validator/src/main/java/io/ballerina/openapi/validator/ServiceValidator.java b/openapi-validator/src/main/java/io/ballerina/openapi/validator/ServiceValidator.java
index 72fd9f6a..e895df9e 100644
--- a/openapi-validator/src/main/java/io/ballerina/openapi/validator/ServiceValidator.java
+++ b/openapi-validator/src/main/java/io/ballerina/openapi/validator/ServiceValidator.java
@@ -67,6 +67,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Optional;
 
+import static io.ballerina.openapi.validator.ValidatorErrorCode.BAL_OPENAPI_VALIDATOR_0018;
 import static io.ballerina.openapi.validator.ValidatorErrorCode.BAL_OPENAPI_VALIDATOR_0019;
 import static io.ballerina.openapi.validator.ValidatorErrorCode.BAL_OPENAPI_VALIDATOR_0020;
 
@@ -139,7 +140,7 @@ public class ServiceValidator implements AnalysisTask<SyntaxNodeAnalysisContext>
                             if (!validations.isEmpty()) {
                                 // when the contract has empty string
                                 for (Diagnostic diagnostic: validations) {
-                                    if (diagnostic.diagnosticInfo().code().equals(BAL_OPENAPI_VALIDATOR_0019) ||
+                                    if (diagnostic.diagnosticInfo().code().equals(BAL_OPENAPI_VALIDATOR_0018) ||
                                             diagnostic.diagnosticInfo().code().equals(BAL_OPENAPI_VALIDATOR_0020)) {
                                         isAnnotationExist = false;
                                     }
@@ -150,6 +151,7 @@ public class ServiceValidator implements AnalysisTask<SyntaxNodeAnalysisContext>
                                     e.getMessage(), DiagnosticSeverity.ERROR);
                             Diagnostic diagnostic = DiagnosticFactory.createDiagnostic(diagnosticInfo, location);
                             validations.add(diagnostic);
+                            isAnnotationExist = false;
                         }
                     }
                 }