Skip to content

Conversation

@berezovskyi
Copy link
Member

@berezovskyi berezovskyi commented Dec 28, 2025

See eclipse-lyo/lyo#866

P.S. The build shall work against the upstream Lyo branch.

Copilot AI review requested due to automatic review settings December 28, 2025 17:19
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR synchronizes generated code after upstream domain changes in the Lyo framework. The changes update the Change Management (CM) reference implementation to use the new Oslc_cm_shapesDomainConstants namespace and add support for new test-related and severity properties across change request types.

  • Refactored all references from Oslc_cmDomainConstants to Oslc_cm_shapesDomainConstants
  • Added nine new properties to change request forms and backend processing (type, testedByTestCase, affectsTestResult, blocksTestExecutionRecord, relatedTestExecutionRecord, relatedTestCase, relatedTestPlan, relatedTestScript, severity)
  • Updated resource shape mappings to include new OSLC core model classes (AllowedValues, CreationFactory, Dialog, Property, Publisher, QueryCapability, ResourceShape, Service, ServiceProvider, Severity)

Reviewed changes

Copilot reviewed 11 out of 11 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
src/server-cm/src/main/webapp/co/oslc/refimpl/cm/gen/taskcreator.jsp Added form labels for 9 new properties with empty scriptlet blocks
src/server-cm/src/main/webapp/co/oslc/refimpl/cm/gen/reviewtaskcreator.jsp Added form labels for 9 new properties with empty scriptlet blocks
src/server-cm/src/main/webapp/co/oslc/refimpl/cm/gen/enhancementcreator.jsp Added form labels for 9 new properties with empty scriptlet blocks
src/server-cm/src/main/webapp/co/oslc/refimpl/cm/gen/defectcreator.jsp Added form labels for 9 new properties with empty scriptlet blocks
src/server-cm/src/main/webapp/co/oslc/refimpl/cm/gen/changenoticecreator.jsp Added form labels for 9 new properties with empty scriptlet blocks
src/server-cm/src/main/java/co/oslc/refimpl/cm/gen/servlet/ServiceProvidersFactory.java Updated to use Oslc_cm_shapesDomainConstants namespace
src/server-cm/src/main/java/co/oslc/refimpl/cm/gen/servlet/Application.java Added imports for new OSLC model classes and updated resource shape mappings; contains duplicate imports
src/server-cm/src/main/java/co/oslc/refimpl/cm/gen/services/WsChangeRequest.java Updated constant references and added new properties to getter method lists
src/server-cm/src/main/java/co/oslc/refimpl/cm/gen/services/Change_requestsService.java Updated constant references, added backend form parameter processing for new properties; contains duplicate imports
src/server-cm/src/main/java/co/oslc/refimpl/cm/gen/RestDelegate.java Added imports for new OSLC model classes
src/server-cm/src/main/java/co/oslc/refimpl/cm/gen/ResourcesFactory.java Added imports for new OSLC model classes

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +299 to +335
<%
%>
</td>
</tr>
<tr>
<td>
<label for="relatedTestExecutionRecord">relatedTestExecutionRecord: </LABEL>
<%
%>
</td>
</tr>
<tr>
<td>
<label for="relatedTestCase">relatedTestCase: </LABEL>
<%
%>
</td>
</tr>
<tr>
<td>
<label for="relatedTestPlan">relatedTestPlan: </LABEL>
<%
%>
</td>
</tr>
<tr>
<td>
<label for="relatedTestScript">relatedTestScript: </LABEL>
<%
%>
</td>
</tr>
<tr>
<td>
<label for="severity">severity: </LABEL>
<%
%>
Copy link

Copilot AI Dec 28, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The newly added form fields have empty scriptlet blocks, which means no input elements are being generated for these properties. The backend code in Change_requestsService.java is configured to process form parameters for these fields (type, testedByTestCase, affectsTestResult, etc.), but users won't be able to provide values since no input fields exist in the form. Consider adding appropriate input field generation code within these scriptlet blocks, similar to the pattern used for other fields in this file.

Suggested change
<%
%>
</td>
</tr>
<tr>
<td>
<label for="relatedTestExecutionRecord">relatedTestExecutionRecord: </LABEL>
<%
%>
</td>
</tr>
<tr>
<td>
<label for="relatedTestCase">relatedTestCase: </LABEL>
<%
%>
</td>
</tr>
<tr>
<td>
<label for="relatedTestPlan">relatedTestPlan: </LABEL>
<%
%>
</td>
</tr>
<tr>
<td>
<label for="relatedTestScript">relatedTestScript: </LABEL>
<%
%>
</td>
</tr>
<tr>
<td>
<label for="severity">severity: </LABEL>
<%
%>
<input type="text" id="blocksTestExecutionRecord" name="blocksTestExecutionRecord"/>
</td>
</tr>
<tr>
<td>
<label for="relatedTestExecutionRecord">relatedTestExecutionRecord: </LABEL>
<input type="text" id="relatedTestExecutionRecord" name="relatedTestExecutionRecord"/>
</td>
</tr>
<tr>
<td>
<label for="relatedTestCase">relatedTestCase: </LABEL>
<input type="text" id="relatedTestCase" name="relatedTestCase"/>
</td>
</tr>
<tr>
<td>
<label for="relatedTestPlan">relatedTestPlan: </LABEL>
<input type="text" id="relatedTestPlan" name="relatedTestPlan"/>
</td>
</tr>
<tr>
<td>
<label for="relatedTestScript">relatedTestScript: </LABEL>
<input type="text" id="relatedTestScript" name="relatedTestScript"/>
</td>
</tr>
<tr>
<td>
<label for="severity">severity: </LABEL>
<input type="text" id="severity" name="severity"/>

Copilot uses AI. Check for mistakes.
Comment on lines +299 to +335
<%
%>
</td>
</tr>
<tr>
<td>
<label for="relatedTestExecutionRecord">relatedTestExecutionRecord: </LABEL>
<%
%>
</td>
</tr>
<tr>
<td>
<label for="relatedTestCase">relatedTestCase: </LABEL>
<%
%>
</td>
</tr>
<tr>
<td>
<label for="relatedTestPlan">relatedTestPlan: </LABEL>
<%
%>
</td>
</tr>
<tr>
<td>
<label for="relatedTestScript">relatedTestScript: </LABEL>
<%
%>
</td>
</tr>
<tr>
<td>
<label for="severity">severity: </LABEL>
<%
%>
Copy link

Copilot AI Dec 28, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The newly added form fields have empty scriptlet blocks, which means no input elements are being generated for these properties. The backend code in Change_requestsService.java is configured to process form parameters for these fields (type, testedByTestCase, affectsTestResult, etc.), but users won't be able to provide values since no input fields exist in the form. Consider adding appropriate input field generation code within these scriptlet blocks, similar to the pattern used for other fields in this file.

Suggested change
<%
%>
</td>
</tr>
<tr>
<td>
<label for="relatedTestExecutionRecord">relatedTestExecutionRecord: </LABEL>
<%
%>
</td>
</tr>
<tr>
<td>
<label for="relatedTestCase">relatedTestCase: </LABEL>
<%
%>
</td>
</tr>
<tr>
<td>
<label for="relatedTestPlan">relatedTestPlan: </LABEL>
<%
%>
</td>
</tr>
<tr>
<td>
<label for="relatedTestScript">relatedTestScript: </LABEL>
<%
%>
</td>
</tr>
<tr>
<td>
<label for="severity">severity: </LABEL>
<%
%>
<input type="text" id="blocksTestExecutionRecord" name="blocksTestExecutionRecord">
</td>
</tr>
<tr>
<td>
<label for="relatedTestExecutionRecord">relatedTestExecutionRecord: </LABEL>
<input type="text" id="relatedTestExecutionRecord" name="relatedTestExecutionRecord">
</td>
</tr>
<tr>
<td>
<label for="relatedTestCase">relatedTestCase: </LABEL>
<input type="text" id="relatedTestCase" name="relatedTestCase">
</td>
</tr>
<tr>
<td>
<label for="relatedTestPlan">relatedTestPlan: </LABEL>
<input type="text" id="relatedTestPlan" name="relatedTestPlan">
</td>
</tr>
<tr>
<td>
<label for="relatedTestScript">relatedTestScript: </LABEL>
<input type="text" id="relatedTestScript" name="relatedTestScript">
</td>
</tr>
<tr>
<td>
<label for="severity">severity: </LABEL>
<input type="text" id="severity" name="severity">

Copilot uses AI. Check for mistakes.
Comment on lines +299 to +335
<%
%>
</td>
</tr>
<tr>
<td>
<label for="relatedTestExecutionRecord">relatedTestExecutionRecord: </LABEL>
<%
%>
</td>
</tr>
<tr>
<td>
<label for="relatedTestCase">relatedTestCase: </LABEL>
<%
%>
</td>
</tr>
<tr>
<td>
<label for="relatedTestPlan">relatedTestPlan: </LABEL>
<%
%>
</td>
</tr>
<tr>
<td>
<label for="relatedTestScript">relatedTestScript: </LABEL>
<%
%>
</td>
</tr>
<tr>
<td>
<label for="severity">severity: </LABEL>
<%
%>
Copy link

Copilot AI Dec 28, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The newly added form fields have empty scriptlet blocks, which means no input elements are being generated for these properties. The backend code in Change_requestsService.java is configured to process form parameters for these fields (type, testedByTestCase, affectsTestResult, etc.), but users won't be able to provide values since no input fields exist in the form. Consider adding appropriate input field generation code within these scriptlet blocks, similar to the pattern used for other fields in this file.

Suggested change
<%
%>
</td>
</tr>
<tr>
<td>
<label for="relatedTestExecutionRecord">relatedTestExecutionRecord: </LABEL>
<%
%>
</td>
</tr>
<tr>
<td>
<label for="relatedTestCase">relatedTestCase: </LABEL>
<%
%>
</td>
</tr>
<tr>
<td>
<label for="relatedTestPlan">relatedTestPlan: </LABEL>
<%
%>
</td>
</tr>
<tr>
<td>
<label for="relatedTestScript">relatedTestScript: </LABEL>
<%
%>
</td>
</tr>
<tr>
<td>
<label for="severity">severity: </LABEL>
<%
%>
<input type="text" id="blocksTestExecutionRecord" name="blocksTestExecutionRecord">
</td>
</tr>
<tr>
<td>
<label for="relatedTestExecutionRecord">relatedTestExecutionRecord: </LABEL>
<input type="text" id="relatedTestExecutionRecord" name="relatedTestExecutionRecord">
</td>
</tr>
<tr>
<td>
<label for="relatedTestCase">relatedTestCase: </LABEL>
<input type="text" id="relatedTestCase" name="relatedTestCase">
</td>
</tr>
<tr>
<td>
<label for="relatedTestPlan">relatedTestPlan: </LABEL>
<input type="text" id="relatedTestPlan" name="relatedTestPlan">
</td>
</tr>
<tr>
<td>
<label for="relatedTestScript">relatedTestScript: </LABEL>
<input type="text" id="relatedTestScript" name="relatedTestScript">
</td>
</tr>
<tr>
<td>
<label for="severity">severity: </LABEL>
<input type="text" id="severity" name="severity">

Copilot uses AI. Check for mistakes.
Comment on lines +89 to +94
import org.eclipse.lyo.oslc.domains.cm.Oslc_cm_shapesDomainConstants;
import org.eclipse.lyo.oslc.domains.cm.Oslc_cm_shapesDomainConstants;
import org.eclipse.lyo.oslc.domains.cm.Oslc_cm_shapesDomainConstants;
import org.eclipse.lyo.oslc.domains.cm.Oslc_cm_shapesDomainConstants;
import org.eclipse.lyo.oslc.domains.cm.Oslc_cm_shapesDomainConstants;
import org.eclipse.lyo.oslc.domains.cm.Oslc_cm_shapesDomainConstants;
Copy link

Copilot AI Dec 28, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are seven duplicate imports of the same constant class on consecutive lines. These duplicate imports should be consolidated into a single import statement to improve code cleanliness.

Suggested change
import org.eclipse.lyo.oslc.domains.cm.Oslc_cm_shapesDomainConstants;
import org.eclipse.lyo.oslc.domains.cm.Oslc_cm_shapesDomainConstants;
import org.eclipse.lyo.oslc.domains.cm.Oslc_cm_shapesDomainConstants;
import org.eclipse.lyo.oslc.domains.cm.Oslc_cm_shapesDomainConstants;
import org.eclipse.lyo.oslc.domains.cm.Oslc_cm_shapesDomainConstants;
import org.eclipse.lyo.oslc.domains.cm.Oslc_cm_shapesDomainConstants;

Copilot uses AI. Check for mistakes.
Comment on lines +94 to +95
import org.eclipse.lyo.oslc4j.core.model.Service;
import org.eclipse.lyo.oslc4j.core.model.ServiceProvider;
Copy link

Copilot AI Dec 28, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The imports for Service and ServiceProvider are duplicated. Lines 54-55 import these classes, and lines 94-95 import them again. Remove the duplicate imports on lines 94-95 since they are already imported earlier in the file.

Suggested change
import org.eclipse.lyo.oslc4j.core.model.Service;
import org.eclipse.lyo.oslc4j.core.model.ServiceProvider;

Copilot uses AI. Check for mistakes.
Comment on lines +299 to +335
<%
%>
</td>
</tr>
<tr>
<td>
<label for="relatedTestExecutionRecord">relatedTestExecutionRecord: </LABEL>
<%
%>
</td>
</tr>
<tr>
<td>
<label for="relatedTestCase">relatedTestCase: </LABEL>
<%
%>
</td>
</tr>
<tr>
<td>
<label for="relatedTestPlan">relatedTestPlan: </LABEL>
<%
%>
</td>
</tr>
<tr>
<td>
<label for="relatedTestScript">relatedTestScript: </LABEL>
<%
%>
</td>
</tr>
<tr>
<td>
<label for="severity">severity: </LABEL>
<%
%>
Copy link

Copilot AI Dec 28, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The newly added form fields have empty scriptlet blocks, which means no input elements are being generated for these properties. The backend code in Change_requestsService.java is configured to process form parameters for these fields (type, testedByTestCase, affectsTestResult, etc.), but users won't be able to provide values since no input fields exist in the form. Consider adding appropriate input field generation code within these scriptlet blocks, similar to the pattern used for other fields in this file.

Suggested change
<%
%>
</td>
</tr>
<tr>
<td>
<label for="relatedTestExecutionRecord">relatedTestExecutionRecord: </LABEL>
<%
%>
</td>
</tr>
<tr>
<td>
<label for="relatedTestCase">relatedTestCase: </LABEL>
<%
%>
</td>
</tr>
<tr>
<td>
<label for="relatedTestPlan">relatedTestPlan: </LABEL>
<%
%>
</td>
</tr>
<tr>
<td>
<label for="relatedTestScript">relatedTestScript: </LABEL>
<%
%>
</td>
</tr>
<tr>
<td>
<label for="severity">severity: </LABEL>
<%
%>
<input type="text" id="blocksTestExecutionRecord" name="blocksTestExecutionRecord">
</td>
</tr>
<tr>
<td>
<label for="relatedTestExecutionRecord">relatedTestExecutionRecord: </LABEL>
<input type="text" id="relatedTestExecutionRecord" name="relatedTestExecutionRecord">
</td>
</tr>
<tr>
<td>
<label for="relatedTestCase">relatedTestCase: </LABEL>
<input type="text" id="relatedTestCase" name="relatedTestCase">
</td>
</tr>
<tr>
<td>
<label for="relatedTestPlan">relatedTestPlan: </LABEL>
<input type="text" id="relatedTestPlan" name="relatedTestPlan">
</td>
</tr>
<tr>
<td>
<label for="relatedTestScript">relatedTestScript: </LABEL>
<input type="text" id="relatedTestScript" name="relatedTestScript">
</td>
</tr>
<tr>
<td>
<label for="severity">severity: </LABEL>
<input type="text" id="severity" name="severity">

Copilot uses AI. Check for mistakes.
Comment on lines +299 to +335
<%
%>
</td>
</tr>
<tr>
<td>
<label for="relatedTestExecutionRecord">relatedTestExecutionRecord: </LABEL>
<%
%>
</td>
</tr>
<tr>
<td>
<label for="relatedTestCase">relatedTestCase: </LABEL>
<%
%>
</td>
</tr>
<tr>
<td>
<label for="relatedTestPlan">relatedTestPlan: </LABEL>
<%
%>
</td>
</tr>
<tr>
<td>
<label for="relatedTestScript">relatedTestScript: </LABEL>
<%
%>
</td>
</tr>
<tr>
<td>
<label for="severity">severity: </LABEL>
<%
%>
Copy link

Copilot AI Dec 28, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The newly added form fields have empty scriptlet blocks, which means no input elements are being generated for these properties. The backend code in Change_requestsService.java is configured to process form parameters for these fields (type, testedByTestCase, affectsTestResult, etc.), but users won't be able to provide values since no input fields exist in the form. Consider adding appropriate input field generation code within these scriptlet blocks, similar to the pattern used for other fields in this file.

Suggested change
<%
%>
</td>
</tr>
<tr>
<td>
<label for="relatedTestExecutionRecord">relatedTestExecutionRecord: </LABEL>
<%
%>
</td>
</tr>
<tr>
<td>
<label for="relatedTestCase">relatedTestCase: </LABEL>
<%
%>
</td>
</tr>
<tr>
<td>
<label for="relatedTestPlan">relatedTestPlan: </LABEL>
<%
%>
</td>
</tr>
<tr>
<td>
<label for="relatedTestScript">relatedTestScript: </LABEL>
<%
%>
</td>
</tr>
<tr>
<td>
<label for="severity">severity: </LABEL>
<%
%>
<input type="text" id="blocksTestExecutionRecord" name="blocksTestExecutionRecord">
</td>
</tr>
<tr>
<td>
<label for="relatedTestExecutionRecord">relatedTestExecutionRecord: </LABEL>
<input type="text" id="relatedTestExecutionRecord" name="relatedTestExecutionRecord">
</td>
</tr>
<tr>
<td>
<label for="relatedTestCase">relatedTestCase: </LABEL>
<input type="text" id="relatedTestCase" name="relatedTestCase">
</td>
</tr>
<tr>
<td>
<label for="relatedTestPlan">relatedTestPlan: </LABEL>
<input type="text" id="relatedTestPlan" name="relatedTestPlan">
</td>
</tr>
<tr>
<td>
<label for="relatedTestScript">relatedTestScript: </LABEL>
<input type="text" id="relatedTestScript" name="relatedTestScript">
</td>
</tr>
<tr>
<td>
<label for="severity">severity: </LABEL>
<input type="text" id="severity" name="severity">

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants