From 5f2fdc1ccd9a9c3d2c05f011ce02e3b3fade5dd6 Mon Sep 17 00:00:00 2001 From: Guillaume Coutable Date: Thu, 29 Aug 2024 10:38:21 +0200 Subject: [PATCH] [3754] Register view models in editing contexts at loading for e2e tests Make possible to register view models in the loading editing context when the "test" profile is active Bug: https://github.com/eclipse-sirius/sirius-web/issues/3754 Signed-off-by: Guillaume Coutable --- .github/workflows/build.yml | 2 + CHANGELOG.adoc | 4 +- .../e2e/project/diagrams/diagram-label.cy.ts | 172 ++---- .../project/diagrams/drop-on-diagram.cy.ts | 4 +- .../e2e/project/diagrams/group-palette.cy.ts | 24 +- .../e2e/project/forms/widget-reference.cy.ts | 2 +- integration-tests/cypress/usecases/Studio.ts | 2 +- .../cypress/workbench/Diagram.ts | 23 +- packages/sirius-web/backend/pom.xml | 3 +- .../backend/sirius-web-e2e-tests/.checkstyle | 10 + .../backend/sirius-web-e2e-tests/.classpath | 57 ++ .../backend/sirius-web-e2e-tests/.project | 34 ++ .../org.eclipse.core.resources.prefs | 6 + .../.settings/org.eclipse.core.runtime.prefs | 3 + .../.settings/org.eclipse.jdt.apt.core.prefs | 2 + .../.settings/org.eclipse.jdt.core.prefs | 505 ++++++++++++++++++ .../.settings/org.eclipse.jdt.ui.prefs | 210 ++++++++ .../.settings/org.eclipse.m2e.core.prefs | 4 + ...org.springframework.ide.eclipse.boot.prefs | 2 + .../org.springframework.ide.eclipse.prefs | 2 + .../backend/sirius-web-e2e-tests/pom.xml | 105 ++++ .../SiriusWebE2EStarterConfiguration.java | 28 + .../DiagramLabelDomainProvider.java | 96 ++++ .../DiagramLabelViewProvider.java | 224 ++++++++ ...riusWebE2EColorPaletteBuilderProvider.java | 84 +++ .../services/SiriusWebE2EColorProvider.java | 47 ++ ...SiriusWebE2EEditingContextInitializer.java | 51 ++ .../tests/services/api/IE2EViewProvider.java | 27 + ...ot.autoconfigure.AutoConfiguration.imports | 1 + .../src/test/java/.gitkeep | 0 .../src/test/resources/.gitkeep | 0 .../ComponentDiagramDescriptionProvider.java | 2 +- .../backend/sirius-web/docker-compose.yml | 1 + .../sirius-web/backend/sirius-web/pom.xml | 5 + .../ExpandCollapseDiagramControllerTests.java | 2 +- 35 files changed, 1592 insertions(+), 152 deletions(-) create mode 100644 packages/sirius-web/backend/sirius-web-e2e-tests/.checkstyle create mode 100644 packages/sirius-web/backend/sirius-web-e2e-tests/.classpath create mode 100644 packages/sirius-web/backend/sirius-web-e2e-tests/.project create mode 100644 packages/sirius-web/backend/sirius-web-e2e-tests/.settings/org.eclipse.core.resources.prefs create mode 100644 packages/sirius-web/backend/sirius-web-e2e-tests/.settings/org.eclipse.core.runtime.prefs create mode 100644 packages/sirius-web/backend/sirius-web-e2e-tests/.settings/org.eclipse.jdt.apt.core.prefs create mode 100644 packages/sirius-web/backend/sirius-web-e2e-tests/.settings/org.eclipse.jdt.core.prefs create mode 100644 packages/sirius-web/backend/sirius-web-e2e-tests/.settings/org.eclipse.jdt.ui.prefs create mode 100644 packages/sirius-web/backend/sirius-web-e2e-tests/.settings/org.eclipse.m2e.core.prefs create mode 100644 packages/sirius-web/backend/sirius-web-e2e-tests/.settings/org.springframework.ide.eclipse.boot.prefs create mode 100644 packages/sirius-web/backend/sirius-web-e2e-tests/.settings/org.springframework.ide.eclipse.prefs create mode 100644 packages/sirius-web/backend/sirius-web-e2e-tests/pom.xml create mode 100644 packages/sirius-web/backend/sirius-web-e2e-tests/src/main/java/org/eclipse/sirius/web/e2e/tests/configuration/SiriusWebE2EStarterConfiguration.java create mode 100644 packages/sirius-web/backend/sirius-web-e2e-tests/src/main/java/org/eclipse/sirius/web/e2e/tests/diagramlabel/DiagramLabelDomainProvider.java create mode 100644 packages/sirius-web/backend/sirius-web-e2e-tests/src/main/java/org/eclipse/sirius/web/e2e/tests/diagramlabel/DiagramLabelViewProvider.java create mode 100644 packages/sirius-web/backend/sirius-web-e2e-tests/src/main/java/org/eclipse/sirius/web/e2e/tests/services/SiriusWebE2EColorPaletteBuilderProvider.java create mode 100644 packages/sirius-web/backend/sirius-web-e2e-tests/src/main/java/org/eclipse/sirius/web/e2e/tests/services/SiriusWebE2EColorProvider.java create mode 100644 packages/sirius-web/backend/sirius-web-e2e-tests/src/main/java/org/eclipse/sirius/web/e2e/tests/services/SiriusWebE2EEditingContextInitializer.java create mode 100644 packages/sirius-web/backend/sirius-web-e2e-tests/src/main/java/org/eclipse/sirius/web/e2e/tests/services/api/IE2EViewProvider.java create mode 100644 packages/sirius-web/backend/sirius-web-e2e-tests/src/main/resources/META-INF.spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports create mode 100644 packages/sirius-web/backend/sirius-web-e2e-tests/src/test/java/.gitkeep create mode 100644 packages/sirius-web/backend/sirius-web-e2e-tests/src/test/resources/.gitkeep diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 62aa8f5f7c..98f48bee71 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -188,6 +188,7 @@ jobs: working-directory: integration-tests - name: Run end to end tests against the sirius-web application + if: startsWith(github.ref, 'refs/tags/v') == false && github.ref != 'refs/heads/master' uses: cypress-io/github-action@v5 with: build: docker compose -f ../packages/sirius-web/backend/sirius-web/docker-compose.yml up -d @@ -203,6 +204,7 @@ jobs: GITHUB_TOKEN: ${{ github.token }} - name: Store Cypress screenshots + if: always() uses: actions/upload-artifact@v4 with: name: cypress-screenshots diff --git a/CHANGELOG.adoc b/CHANGELOG.adoc index 2175e4a625..6539b804ad 100644 --- a/CHANGELOG.adoc +++ b/CHANGELOG.adoc @@ -77,7 +77,9 @@ never, always and if_children (to display the separator only if children exist). - https://github.com/eclipse-sirius/sirius-web/issues/4021[#4021] [sirius-web] Disable the _Rename_ and _Delete_ project menu actions when project is read-only - https://github.com/eclipse-sirius/sirius-web/issues/3677[#3677] [diagram] Remove backend layouting code from the time the backend was computing the layout. - https://github.com/eclipse-sirius/sirius-web/issues/3678[#3678] [core] Rely on representation id to retrieve representation metadata -- https://github.com/eclipse-sirius/sirius-web/issues/3754[#3754] [sirius-web] Activate cypress tests again +- https://github.com/eclipse-sirius/sirius-web/issues/3754[#3754] [sirius-web] Activate cypress tests again. ++ Make possible to register view models in the loading editing context when the "test" profile is active. ++ To activate the test profile add the value _test_ to the `SPRING_PROFILES_ACTIVE` environment variable. == v2024.9.0 diff --git a/integration-tests/cypress/e2e/project/diagrams/diagram-label.cy.ts b/integration-tests/cypress/e2e/project/diagrams/diagram-label.cy.ts index d7b62c83c3..3611283569 100644 --- a/integration-tests/cypress/e2e/project/diagrams/diagram-label.cy.ts +++ b/integration-tests/cypress/e2e/project/diagrams/diagram-label.cy.ts @@ -11,55 +11,25 @@ * Obeo - initial API and implementation *******************************************************************************/ -import { Project } from '../../../pages/Project'; -import { isCreateProjectFromTemplateSuccessPayload } from '../../../support/server/createProjectFromTemplateCommand'; import { Studio } from '../../../usecases/Studio'; import { Details } from '../../../workbench/Details'; import { Diagram } from '../../../workbench/Diagram'; import { Explorer } from '../../../workbench/Explorer'; describe('Diagram - inside outside labels', () => { - context.skip('Given a view with inside label on rectangular node with none strategy', () => { - let studioProjectId: string = ''; - let domainName: string = ''; - - before(() => { - cy.createProjectFromTemplate('studio-template').then((res) => { - const payload = res.body.data.createProjectFromTemplate; - if (isCreateProjectFromTemplateSuccessPayload(payload)) { - const projectId = payload.project.id; - studioProjectId = projectId; - - const project = new Project(); - project.visit(projectId); - project.disableDeletionConfirmationDialog(); - - const explorer = new Explorer(); - const details = new Details(); - explorer.getTreeItemByLabel('DomainNewModel').dblclick(); - cy.get('[title="domain::Domain"]').then(($div) => { - domainName = $div.data().testid; - explorer.expand('ViewNewModel'); - explorer.expand('View'); - explorer.expand(`${domainName} Diagram Description`); - explorer.expand('Entity1 Node'); - explorer.select('aql:self.name'); - details.getRadioOption('Overflow Strategy', 'NONE').click(); - }); - } - }); - }); - - after(() => cy.deleteProject(studioProjectId)); + let domainName: string = 'diagramLabel'; + context('Given a view with inside label on rectangular node with none strategy', () => { context('When we create a new instance project', () => { let instanceProjectId: string = ''; + const diagramDescriptionName = `${domainName} - Fully display the inside label Diagram`; + const diagramTitle = 'Fully display the inside label Diagram'; beforeEach(() => { const studio = new Studio(); studio.createProjectFromDomain('Cypress - Studio Instance', domainName, 'Root').then((res) => { instanceProjectId = res.projectId; - new Explorer().createRepresentation('Root', `${domainName} Diagram Description`, 'diagram'); + new Explorer().createRepresentation('Root', diagramDescriptionName, diagramTitle); }); }); @@ -69,26 +39,28 @@ describe('Diagram - inside outside labels', () => { const explorer = new Explorer(); const diagram = new Diagram(); const details = new Details(); - explorer.createObject('Root', 'Entity1s Entity1'); + explorer.createObject('Root', 'entity1s-Entity1'); details.getTextField('Name').type('small{enter}'); diagram.fitToScreen(); let initialWidth: number; let initialHeight: number; - diagram.getDiagramScale('diagram').then((scale) => { - diagram.getNodeCssValue('diagram', 'small', 'width').then((nodeWidth) => { + diagram.getDiagramScale(diagramTitle).then((scale) => { + diagram.getNodeCssValue(diagramTitle, 'small', 'width').then((nodeWidth) => { initialWidth = nodeWidth / scale; }); - diagram.getNodeCssValue('diagram', 'small', 'height').then((nodeHeight) => { + diagram.getNodeCssValue(diagramTitle, 'small', 'height').then((nodeHeight) => { initialHeight = nodeHeight / scale; }); }); details.getTextField('Name').type('{selectAll}very large label one line fully displayed{enter}'); - diagram.getDiagramScale('diagram').then((scale) => { - diagram.getNodeCssValue('diagram', 'very large label one line fully displayed', 'width').then((nodeWidth) => { - expect(nodeWidth / scale).to.greaterThan(initialWidth); - }); + diagram.getDiagramScale(diagramTitle).then((scale) => { diagram - .getNodeCssValue('diagram', 'very large label one line fully displayed', 'height') + .getNodeCssValue(diagramTitle, 'very large label one line fully displayed', 'width') + .then((nodeWidth) => { + expect(nodeWidth / scale).to.greaterThan(initialWidth); + }); + diagram + .getNodeCssValue(diagramTitle, 'very large label one line fully displayed', 'height') .then((nodeHeight) => { expect(nodeHeight / scale).to.approximately(initialHeight, 2); }); @@ -97,47 +69,18 @@ describe('Diagram - inside outside labels', () => { }); }); - context.skip('Given a view with inside label on rectangular node with wrap strategy', () => { - let studioProjectId: string = ''; - let domainName: string = ''; - - before(() => { - cy.createProjectFromTemplate('studio-template').then((res) => { - const payload = res.body.data.createProjectFromTemplate; - if (isCreateProjectFromTemplateSuccessPayload(payload)) { - const projectId = payload.project.id; - studioProjectId = projectId; - - const project = new Project(); - project.visit(projectId); - project.disableDeletionConfirmationDialog(); - - const explorer = new Explorer(); - const details = new Details(); - explorer.getTreeItemByLabel('DomainNewModel').dblclick(); - cy.get('[title="domain::Domain"]').then(($div) => { - domainName = $div.data().testid; - explorer.expand('ViewNewModel'); - explorer.expand('View'); - explorer.expand(`${domainName} Diagram Description`); - explorer.expand('Entity1 Node'); - explorer.select('aql:self.name'); - details.getRadioOption('Overflow Strategy', 'WRAP').click(); - }); - } - }); - }); - - after(() => cy.deleteProject(studioProjectId)); + context('Given a view with inside label on rectangular node with wrap strategy', () => { context('When we create a new instance project', () => { let instanceProjectId: string = ''; + const diagramDescriptionName = `${domainName} - Wrap the label without changing the node width`; + const diagramTitle = 'Wrap the label without changing the node width'; beforeEach(() => { const studio = new Studio(); studio.createProjectFromDomain('Cypress - Studio Instance', domainName, 'Root').then((res) => { instanceProjectId = res.projectId; - new Explorer().createRepresentation('Root', `${domainName} Diagram Description`, 'diagram'); + new Explorer().createRepresentation('Root', diagramDescriptionName, diagramTitle); }); }); @@ -147,28 +90,33 @@ describe('Diagram - inside outside labels', () => { const explorer = new Explorer(); const diagram = new Diagram(); const details = new Details(); - explorer.createObject('Root', 'Entity1s Entity1'); + explorer.createObject('Root', 'entity1s-Entity1'); details.getTextField('Name').type('small{enter}'); diagram.fitToScreen(); let initialWidth: number; let initialHeight: number; - diagram.getDiagramScale('diagram').then((scale) => { - diagram.getNodeCssValue('diagram', 'small', 'width').then((nodeWidth) => { + diagram.getDiagramScale(diagramTitle).then((scale) => { + diagram.getNodeCssValue(diagramTitle, 'small', 'width').then((nodeWidth) => { initialWidth = nodeWidth / scale; }); - diagram.getNodeCssValue('diagram', 'small', 'height').then((nodeHeight) => { + diagram.getNodeCssValue(diagramTitle, 'small', 'height').then((nodeHeight) => { initialHeight = nodeHeight / scale; }); }); details.getTextField('Name').type('{selectAll}very large label one multi line after wrap{enter}'); - diagram.getDiagramScale('diagram').then((scale) => { + diagram.getDiagramScale(diagramTitle).then((scale) => { diagram - .getNodeCssValue('diagram', 'very large label one multi line after wrap', 'width') + .getNodeCssValue(diagramTitle, 'very large label one multi line after wrap', 'width') .then((nodeWidth) => { expect(nodeWidth / scale).to.approximately(initialWidth, 2); + diagram + .getLabelCssValue(diagramTitle, 'very large label one multi line after wrap', 'width') + .then((labelWidth) => { + expect(labelWidth / scale).to.be.below(nodeWidth / scale); + }); }); diagram - .getNodeCssValue('diagram', 'very large label one multi line after wrap', 'height') + .getNodeCssValue(diagramTitle, 'very large label one multi line after wrap', 'height') .then((nodeHeight) => { expect(nodeHeight / scale).to.greaterThan(initialHeight); }); @@ -177,75 +125,49 @@ describe('Diagram - inside outside labels', () => { }); }); - context.skip('Given a view with inside label on rectangular node with ellipsis strategy', () => { - let studioProjectId: string = ''; - let domainName: string = ''; - - before(() => { - cy.createProjectFromTemplate('studio-template').then((res) => { - const payload = res.body.data.createProjectFromTemplate; - if (isCreateProjectFromTemplateSuccessPayload(payload)) { - const projectId = payload.project.id; - studioProjectId = projectId; - - const project = new Project(); - project.visit(projectId); - project.disableDeletionConfirmationDialog(); - - const explorer = new Explorer(); - const details = new Details(); - explorer.getTreeItemByLabel('DomainNewModel').dblclick(); - cy.get('[title="domain::Domain"]').then(($div) => { - domainName = $div.data().testid; - explorer.expand('ViewNewModel'); - explorer.expand('View'); - explorer.expand(`${domainName} Diagram Description`); - explorer.expand('Entity1 Node'); - explorer.select('aql:self.name'); - details.getRadioOption('Overflow Strategy', 'ELLIPSIS').click(); - }); - } - }); - }); - - after(() => cy.deleteProject(studioProjectId)); + context('Given a view with inside label on rectangular node with ellipsis strategy', () => { context('When we create a new instance project', () => { let instanceProjectId: string = ''; + const diagramDescriptionName = `${domainName} - The label is truncated without changing the node width`; + const diagramTitle = 'The label is truncated without changing the node width'; beforeEach(() => { const studio = new Studio(); studio.createProjectFromDomain('Cypress - Studio Instance', domainName, 'Root').then((res) => { instanceProjectId = res.projectId; - new Explorer().createRepresentation('Root', `${domainName} Diagram Description`, 'diagram'); + new Explorer().createRepresentation('Root', diagramDescriptionName, diagramTitle); }); }); afterEach(() => cy.deleteProject(instanceProjectId)); - it('Then inside label has an ellipsis and the node width is not updated', () => { + it.skip('Then inside label has an ellipsis and the node width is not updated', () => { const explorer = new Explorer(); const diagram = new Diagram(); const details = new Details(); - explorer.createObject('Root', 'Entity1s Entity1'); + explorer.createObject('Root', 'entity1s-Entity1'); details.getTextField('Name').type('small{enter}'); diagram.fitToScreen(); let initialWidth: number; let initialHeight: number; - diagram.getDiagramScale('diagram').then((scale) => { - diagram.getNodeCssValue('diagram', 'small', 'width').then((nodeWidth) => { + diagram.getDiagramScale(diagramTitle).then((scale) => { + diagram.getNodeCssValue(diagramTitle, 'small', 'width').then((nodeWidth) => { initialWidth = nodeWidth / scale; }); - diagram.getNodeCssValue('diagram', 'small', 'height').then((nodeHeight) => { + diagram.getNodeCssValue(diagramTitle, 'small', 'height').then((nodeHeight) => { initialHeight = nodeHeight / scale; }); }); details.getTextField('Name').type('{selectAll}very large label with an ellipsis{enter}'); - diagram.getDiagramScale('diagram').then((scale) => { - diagram.getNodeCssValue('diagram', 'very large label with an ellipsis', 'width').then((nodeWidth) => { + diagram.getDiagramScale(diagramTitle).then((scale) => { + diagram.getNodeCssValue(diagramTitle, 'very large label with an ellipsis', 'width').then((nodeWidth) => { expect(nodeWidth / scale).to.approximately(initialWidth, 2); + diagram.getLabelCssValue(diagramTitle, 'very large label with an ellipsis', 'width').then((labelWidth) => { + expect(labelWidth / scale).to.be.below(nodeWidth / scale); + }); }); - diagram.getNodeCssValue('diagram', 'very large label with an ellipsis', 'height').then((nodeHeight) => { + diagram.getNodeCssValue(diagramTitle, 'very large label with an ellipsis', 'height').then((nodeHeight) => { expect(nodeHeight / scale).to.approximately(initialHeight, 2); }); }); diff --git a/integration-tests/cypress/e2e/project/diagrams/drop-on-diagram.cy.ts b/integration-tests/cypress/e2e/project/diagrams/drop-on-diagram.cy.ts index dd3d0c379c..3d60a2de3c 100644 --- a/integration-tests/cypress/e2e/project/diagrams/drop-on-diagram.cy.ts +++ b/integration-tests/cypress/e2e/project/diagrams/drop-on-diagram.cy.ts @@ -30,7 +30,9 @@ describe('/projects/:projectId/edit - Diagram', () => { afterEach(() => cy.deleteProject(projectId)); - it('Then we can create views by Drag and Drop on an unsynchronized diagram', () => { + // See comments on Diagram#dropOnDiagram which does not work. + // We should look again at this test with a more recent cypress version. + it.skip('Then we can create views by Drag and Drop on an unsynchronized diagram', () => { const explorer = new Explorer(); explorer.expand('robot'); explorer.createRepresentation('System', 'Topography unsynchronized', 'diagram'); diff --git a/integration-tests/cypress/e2e/project/diagrams/group-palette.cy.ts b/integration-tests/cypress/e2e/project/diagrams/group-palette.cy.ts index a977c143d0..0d00173246 100644 --- a/integration-tests/cypress/e2e/project/diagrams/group-palette.cy.ts +++ b/integration-tests/cypress/e2e/project/diagrams/group-palette.cy.ts @@ -31,29 +31,15 @@ describe('Diagram - group palette', () => { afterEach(() => cy.deleteProject(projectId)); - it('Then the group palette is displayed when using multi selection', () => { - const diagram = new Diagram(); - const explorer = new Explorer(); - diagram.getDiagram('diagram').should('exist'); - explorer.select('Wifi'); - explorer.select('Central_Unit', true); - diagram.fitToScreen(); - diagram.getNodes('diagram', 'Wifi').click(); - diagram.getPalette().should('not.exist'); - diagram.getGroupPalette().should('exist'); - - diagram.getNodes('diagram', 'DSP').click(); - diagram.getPalette().should('exist'); - diagram.getGroupPalette().should('not.exist'); - }); - it('Then the last distribute elements tool used is memorized', () => { const diagram = new Diagram(); const explorer = new Explorer(); diagram.getDiagram('diagram').should('exist'); + diagram.fitToScreen(); explorer.select('Wifi'); explorer.select('Central_Unit', true); - diagram.fitToScreen(); + diagram.getSelectedNodes('diagram', 'Wifi'); + diagram.getSelectedNodes('diagram', 'Central_Unit'); diagram.getNodes('diagram', 'Wifi').click(); diagram.getGroupPalette().should('exist'); diagram.getGroupPalette().findByTestId('Align left').should('exist'); @@ -70,10 +56,14 @@ describe('Diagram - group palette', () => { it('Then during multi selection the connection handles are not computed', () => { const diagram = new Diagram(); const explorer = new Explorer(); + diagram.getDiagram('diagram').should('exist'); diagram.fitToScreen(); explorer.select('Wifi'); + diagram.getSelectedNodes('diagram', 'Wifi'); cy.getByTestId('creationhandle-top').should('exist'); explorer.select('Central_Unit', true); + diagram.getSelectedNodes('diagram', 'Wifi'); + diagram.getSelectedNodes('diagram', 'Central_Unit'); cy.getByTestId('creationhandle-top').should('not.exist'); }); }); diff --git a/integration-tests/cypress/e2e/project/forms/widget-reference.cy.ts b/integration-tests/cypress/e2e/project/forms/widget-reference.cy.ts index 157bbb3a38..9e7d1dd9cb 100644 --- a/integration-tests/cypress/e2e/project/forms/widget-reference.cy.ts +++ b/integration-tests/cypress/e2e/project/forms/widget-reference.cy.ts @@ -29,7 +29,7 @@ const createFormWithWidgetRef = (domainType: string, name: string, reference: st details.getTextField('Title Expression').type(`{selectall}${name}{enter}`); explorer.expand(name); explorer.expand('PageDescription'); - explorer.createObject('Group Description', 'children-ReferenceWidgetDescription'); + explorer.createObject('GroupDescription', 'children-ReferenceWidgetDescription'); details.getTextField('Reference Name Expression').should('exist'); details.getTextField('Label Expression').type('Test Widget Reference'); details.getTextField('Reference Name Expression').type(`${reference}{enter}`); diff --git a/integration-tests/cypress/usecases/Studio.ts b/integration-tests/cypress/usecases/Studio.ts index 880d440b6c..c7dcb0d629 100644 --- a/integration-tests/cypress/usecases/Studio.ts +++ b/integration-tests/cypress/usecases/Studio.ts @@ -51,7 +51,7 @@ export class Studio { } public createProjectFromDomain(name: string, domain: string, entity: string): Cypress.Chainable { - return cy.createProject(name, [Studio.STUDIO_NATURE]).then((res) => { + return cy.createProject(name, []).then((res) => { const payload = res.body.data.createProject; if (isCreateProjectSuccessPayload(payload)) { const projectId = payload.project.id; diff --git a/integration-tests/cypress/workbench/Diagram.ts b/integration-tests/cypress/workbench/Diagram.ts index 89c5aa5860..3ce7d3489d 100644 --- a/integration-tests/cypress/workbench/Diagram.ts +++ b/integration-tests/cypress/workbench/Diagram.ts @@ -29,6 +29,10 @@ export class Diagram { cy.wait(4000); } + public getLabel(diagramLabel: string, label: string): Cypress.Chainable> { + return this.getDiagram(diagramLabel).findByTestId(`Label - ${label}`); + } + public getNodes(diagramLabel: string, nodeLabel: string): Cypress.Chainable> { return this.getDiagram(diagramLabel).contains('.react-flow__node', nodeLabel); } @@ -77,6 +81,14 @@ export class Diagram { }); } + public getLabelCssValue(diagramLabel: string, label: string, cssValue: string): Cypress.Chainable { + return this.getLabel(diagramLabel, label) + .invoke('css', cssValue) + .then((widthValue) => { + return parseInt(String(widthValue)); + }); + } + public dragAndDropNode(sourceNodeTestId: string, targetNodeTestId: string): void { cy.window().then((win) => { cy.getByTestId('rf__wrapper') @@ -135,6 +147,11 @@ export class Diagram { cy.getByTestId('share').click(); } + /** + * It seems this method has an issue with the drop on bottom right. + * While it does not work on the CI, the behavior executing this test on local is buggy. + * It drop the node on the bottom right but further than the _reactflow_ watermark making the whole reactflow viewport move. + */ public dropOnDiagram(diagramLabel: string, dataTransfer: DataTransfer): void { this.getDiagram(diagramLabel).getByTestId('rf__wrapper').trigger('drop', 'bottomRight', { dataTransfer }); } @@ -161,7 +178,7 @@ export class Diagram { return roundedPathData; } - public getLabel(labelId: string): Cypress.Chainable> { - return cy.getByTestId(`Label - ${labelId}`); - } + // public getLabel(labelId: string): Cypress.Chainable> { + // return cy.getByTestId(`Label - ${labelId}`); + // } } diff --git a/packages/sirius-web/backend/pom.xml b/packages/sirius-web/backend/pom.xml index 04cfb8b663..c596c6b691 100644 --- a/packages/sirius-web/backend/pom.xml +++ b/packages/sirius-web/backend/pom.xml @@ -42,5 +42,6 @@ sirius-web sirius-web-tests - + sirius-web-e2e-tests + diff --git a/packages/sirius-web/backend/sirius-web-e2e-tests/.checkstyle b/packages/sirius-web/backend/sirius-web-e2e-tests/.checkstyle new file mode 100644 index 0000000000..f62c550f18 --- /dev/null +++ b/packages/sirius-web/backend/sirius-web-e2e-tests/.checkstyle @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/packages/sirius-web/backend/sirius-web-e2e-tests/.classpath b/packages/sirius-web/backend/sirius-web-e2e-tests/.classpath new file mode 100644 index 0000000000..2a5a91b976 --- /dev/null +++ b/packages/sirius-web/backend/sirius-web-e2e-tests/.classpath @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/sirius-web/backend/sirius-web-e2e-tests/.project b/packages/sirius-web/backend/sirius-web-e2e-tests/.project new file mode 100644 index 0000000000..f414b7776f --- /dev/null +++ b/packages/sirius-web/backend/sirius-web-e2e-tests/.project @@ -0,0 +1,34 @@ + + + sirius-web-e2e-tests + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.springframework.ide.eclipse.boot.validation.springbootbuilder + + + + + net.sf.eclipsecs.core.CheckstyleBuilder + + + + + org.eclipse.m2e.core.maven2Builder + + + + + + org.eclipse.jdt.core.javanature + org.eclipse.m2e.core.maven2Nature + net.sf.eclipsecs.core.CheckstyleNature + + diff --git a/packages/sirius-web/backend/sirius-web-e2e-tests/.settings/org.eclipse.core.resources.prefs b/packages/sirius-web/backend/sirius-web-e2e-tests/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000000..29abf99956 --- /dev/null +++ b/packages/sirius-web/backend/sirius-web-e2e-tests/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,6 @@ +eclipse.preferences.version=1 +encoding//src/main/java=UTF-8 +encoding//src/main/resources=UTF-8 +encoding//src/test/java=UTF-8 +encoding//src/test/resources=UTF-8 +encoding/=UTF-8 diff --git a/packages/sirius-web/backend/sirius-web-e2e-tests/.settings/org.eclipse.core.runtime.prefs b/packages/sirius-web/backend/sirius-web-e2e-tests/.settings/org.eclipse.core.runtime.prefs new file mode 100644 index 0000000000..a287fefdba --- /dev/null +++ b/packages/sirius-web/backend/sirius-web-e2e-tests/.settings/org.eclipse.core.runtime.prefs @@ -0,0 +1,3 @@ +#Mon Sep 24 15:04:19 CEST 2007 +eclipse.preferences.version=1 +line.separator=\n diff --git a/packages/sirius-web/backend/sirius-web-e2e-tests/.settings/org.eclipse.jdt.apt.core.prefs b/packages/sirius-web/backend/sirius-web-e2e-tests/.settings/org.eclipse.jdt.apt.core.prefs new file mode 100644 index 0000000000..d4313d4b25 --- /dev/null +++ b/packages/sirius-web/backend/sirius-web-e2e-tests/.settings/org.eclipse.jdt.apt.core.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.apt.aptEnabled=false diff --git a/packages/sirius-web/backend/sirius-web-e2e-tests/.settings/org.eclipse.jdt.core.prefs b/packages/sirius-web/backend/sirius-web-e2e-tests/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000000..2ab93cd0a5 --- /dev/null +++ b/packages/sirius-web/backend/sirius-web-e2e-tests/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,505 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.builder.annotationPath.allLocations=disabled +org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled +org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore +org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull +org.eclipse.jdt.core.compiler.annotation.nonnull.secondary= +org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault +org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary= +org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable +org.eclipse.jdt.core.compiler.annotation.nullable.secondary= +org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.methodParameters=generate +org.eclipse.jdt.core.compiler.codegen.targetPlatform=17 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=17 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.APILeak=warning +org.eclipse.jdt.core.compiler.problem.annotatedTypeArgumentToUnannotated=info +org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.autoboxing=ignore +org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning +org.eclipse.jdt.core.compiler.problem.deadCode=warning +org.eclipse.jdt.core.compiler.problem.deprecation=warning +org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled +org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled +org.eclipse.jdt.core.compiler.problem.discouragedReference=warning +org.eclipse.jdt.core.compiler.problem.emptyStatement=warning +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore +org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning +org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled +org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore +org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning +org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning +org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning +org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning +org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled +org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning +org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning +org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore +org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore +org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning +org.eclipse.jdt.core.compiler.problem.missingDefaultCase=warning +org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore +org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled +org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled +org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning +org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore +org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning +org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning +org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore +org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning +org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning +org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error +org.eclipse.jdt.core.compiler.problem.nullReference=warning +org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error +org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning +org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning +org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore +org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning +org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore +org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning +org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore +org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning +org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning +org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning +org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore +org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore +org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore +org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled +org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning +org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled +org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled +org.eclipse.jdt.core.compiler.problem.suppressWarningsNotFullyAnalysed=info +org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled +org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore +org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning +org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning +org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled +org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning +org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning +org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore +org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=ignore +org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentType=warning +org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentTypeStrict=disabled +org.eclipse.jdt.core.compiler.problem.unlikelyEqualsArgumentType=info +org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore +org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore +org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore +org.eclipse.jdt.core.compiler.problem.unstableAutoModuleName=warning +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled +org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore +org.eclipse.jdt.core.compiler.problem.unusedImport=warning +org.eclipse.jdt.core.compiler.problem.unusedLabel=warning +org.eclipse.jdt.core.compiler.problem.unusedLocal=warning +org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore +org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore +org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled +org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning +org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore +org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning +org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning +org.eclipse.jdt.core.compiler.processAnnotations=disabled +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=17 +org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false +org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 +org.eclipse.jdt.core.formatter.align_type_members_on_columns=false +org.eclipse.jdt.core.formatter.align_variable_declarations_on_columns=false +org.eclipse.jdt.core.formatter.align_with_spaces=false +org.eclipse.jdt.core.formatter.alignment_for_additive_operator=16 +org.eclipse.jdt.core.formatter.alignment_for_annotations_on_enum_constant=0 +org.eclipse.jdt.core.formatter.alignment_for_annotations_on_field=49 +org.eclipse.jdt.core.formatter.alignment_for_annotations_on_local_variable=49 +org.eclipse.jdt.core.formatter.alignment_for_annotations_on_method=49 +org.eclipse.jdt.core.formatter.alignment_for_annotations_on_package=49 +org.eclipse.jdt.core.formatter.alignment_for_annotations_on_parameter=0 +org.eclipse.jdt.core.formatter.alignment_for_annotations_on_type=49 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_assertion_message=0 +org.eclipse.jdt.core.formatter.alignment_for_assignment=0 +org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=16 +org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 +org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16 +org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80 +org.eclipse.jdt.core.formatter.alignment_for_conditional_expression_chain=0 +org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0 +org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16 +org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0 +org.eclipse.jdt.core.formatter.alignment_for_logical_operator=16 +org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_module_statements=16 +org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 +org.eclipse.jdt.core.formatter.alignment_for_multiplicative_operator=16 +org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_record_components=16 +org.eclipse.jdt.core.formatter.alignment_for_relational_operator=0 +org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 +org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_shift_operator=0 +org.eclipse.jdt.core.formatter.alignment_for_string_concatenation=16 +org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_record_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_type_annotations=0 +org.eclipse.jdt.core.formatter.alignment_for_type_arguments=0 +org.eclipse.jdt.core.formatter.alignment_for_type_parameters=0 +org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16 +org.eclipse.jdt.core.formatter.blank_lines_after_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_after_last_class_body_declaration=0 +org.eclipse.jdt.core.formatter.blank_lines_after_package=1 +org.eclipse.jdt.core.formatter.blank_lines_before_abstract_method=1 +org.eclipse.jdt.core.formatter.blank_lines_before_field=1 +org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0 +org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 +org.eclipse.jdt.core.formatter.blank_lines_before_method=1 +org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1 +org.eclipse.jdt.core.formatter.blank_lines_before_package=0 +org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1 +org.eclipse.jdt.core.formatter.blank_lines_between_statement_group_in_switch=0 +org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 +org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_record_constructor=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_record_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.comment.align_tags_descriptions_grouped=false +org.eclipse.jdt.core.formatter.comment.align_tags_names_descriptions=false +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false +org.eclipse.jdt.core.formatter.comment.count_line_length_from_starting_position=false +org.eclipse.jdt.core.formatter.comment.format_block_comments=true +org.eclipse.jdt.core.formatter.comment.format_header=false +org.eclipse.jdt.core.formatter.comment.format_html=true +org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true +org.eclipse.jdt.core.formatter.comment.format_line_comments=true +org.eclipse.jdt.core.formatter.comment.format_source_code=true +org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true +org.eclipse.jdt.core.formatter.comment.indent_root_tags=true +org.eclipse.jdt.core.formatter.comment.indent_tag_description=false +org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert +org.eclipse.jdt.core.formatter.comment.insert_new_line_between_different_tags=do not insert +org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert +org.eclipse.jdt.core.formatter.comment.line_length=120 +org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true +org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true +org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false +org.eclipse.jdt.core.formatter.compact_else_if=true +org.eclipse.jdt.core.formatter.continuation_indentation=2 +org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2 +org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off +org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on +org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false +org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_record_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true +org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_empty_lines=false +org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true +org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true +org.eclipse.jdt.core.formatter.indentation.size=4 +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_additive_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_case=insert +org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert +org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_record_components=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_switch_case_expressions=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert +org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert +org.eclipse.jdt.core.formatter.insert_space_after_logical_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_multiplicative_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_not_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_record_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_relational_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert +org.eclipse.jdt.core.formatter.insert_space_after_shift_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_string_concatenation=insert +org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_additive_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert +org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert +org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_record_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_record_components=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_switch_case_expressions=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert +org.eclipse.jdt.core.formatter.insert_space_before_logical_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_multiplicative_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_record_constructor=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_record_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_record_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert +org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_relational_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_shift_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_string_concatenation=insert +org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.join_lines_in_comments=true +org.eclipse.jdt.core.formatter.join_wrapped_lines=true +org.eclipse.jdt.core.formatter.keep_annotation_declaration_on_one_line=one_line_if_empty +org.eclipse.jdt.core.formatter.keep_anonymous_type_declaration_on_one_line=one_line_if_empty +org.eclipse.jdt.core.formatter.keep_code_block_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false +org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false +org.eclipse.jdt.core.formatter.keep_enum_constant_declaration_on_one_line=one_line_if_empty +org.eclipse.jdt.core.formatter.keep_enum_declaration_on_one_line=one_line_if_empty +org.eclipse.jdt.core.formatter.keep_if_then_body_block_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false +org.eclipse.jdt.core.formatter.keep_lambda_body_block_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_loop_body_block_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_method_body_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_record_constructor_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_record_declaration_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.keep_simple_do_while_body_on_same_line=false +org.eclipse.jdt.core.formatter.keep_simple_for_body_on_same_line=false +org.eclipse.jdt.core.formatter.keep_simple_getter_setter_on_one_line=false +org.eclipse.jdt.core.formatter.keep_simple_while_body_on_same_line=false +org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false +org.eclipse.jdt.core.formatter.keep_type_declaration_on_one_line=one_line_never +org.eclipse.jdt.core.formatter.lineSplit=200 +org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false +org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false +org.eclipse.jdt.core.formatter.number_of_blank_lines_after_code_block=0 +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_code_block=0 +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0 +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_end_of_code_block=0 +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_end_of_method_body=0 +org.eclipse.jdt.core.formatter.number_of_blank_lines_before_code_block=0 +org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1 +org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_record_declaration=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines +org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false +org.eclipse.jdt.core.formatter.tabulation.char=space +org.eclipse.jdt.core.formatter.tabulation.size=4 +org.eclipse.jdt.core.formatter.text_block_indentation=0 +org.eclipse.jdt.core.formatter.use_on_off_tags=true +org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false +org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true +org.eclipse.jdt.core.formatter.wrap_before_assertion_message_operator=true +org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false +org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true +org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true +org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true +org.eclipse.jdt.core.formatter.wrap_before_multiplicative_operator=true +org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true +org.eclipse.jdt.core.formatter.wrap_before_relational_operator=true +org.eclipse.jdt.core.formatter.wrap_before_shift_operator=true +org.eclipse.jdt.core.formatter.wrap_before_string_concatenation=true +org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true +org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter diff --git a/packages/sirius-web/backend/sirius-web-e2e-tests/.settings/org.eclipse.jdt.ui.prefs b/packages/sirius-web/backend/sirius-web-e2e-tests/.settings/org.eclipse.jdt.ui.prefs new file mode 100644 index 0000000000..f789e687ad --- /dev/null +++ b/packages/sirius-web/backend/sirius-web-e2e-tests/.settings/org.eclipse.jdt.ui.prefs @@ -0,0 +1,210 @@ +cleanup.add_default_serial_version_id=true +cleanup.add_generated_serial_version_id=false +cleanup.add_missing_annotations=true +cleanup.add_missing_deprecated_annotations=true +cleanup.add_missing_methods=false +cleanup.add_missing_nls_tags=false +cleanup.add_missing_override_annotations=true +cleanup.add_missing_override_annotations_interface_methods=true +cleanup.add_serial_version_id=false +cleanup.always_use_blocks=true +cleanup.always_use_parentheses_in_expressions=false +cleanup.always_use_this_for_non_static_field_access=true +cleanup.always_use_this_for_non_static_method_access=true +cleanup.convert_functional_interfaces=false +cleanup.convert_to_enhanced_for_loop=false +cleanup.correct_indentation=true +cleanup.format_source_code=true +cleanup.format_source_code_changes_only=false +cleanup.insert_inferred_type_arguments=false +cleanup.make_local_variable_final=true +cleanup.make_parameters_final=false +cleanup.make_private_fields_final=true +cleanup.make_type_abstract_if_missing_method=false +cleanup.make_variable_declarations_final=false +cleanup.never_use_blocks=false +cleanup.never_use_parentheses_in_expressions=true +cleanup.organize_imports=true +cleanup.qualify_static_field_accesses_with_declaring_class=true +cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true +cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true +cleanup.qualify_static_member_accesses_with_declaring_class=false +cleanup.qualify_static_method_accesses_with_declaring_class=true +cleanup.remove_private_constructors=true +cleanup.remove_redundant_modifiers=false +cleanup.remove_redundant_semicolons=false +cleanup.remove_redundant_type_arguments=true +cleanup.remove_trailing_whitespaces=true +cleanup.remove_trailing_whitespaces_all=true +cleanup.remove_trailing_whitespaces_ignore_empty=false +cleanup.remove_unnecessary_casts=true +cleanup.remove_unnecessary_nls_tags=true +cleanup.remove_unused_imports=true +cleanup.remove_unused_local_variables=false +cleanup.remove_unused_private_fields=true +cleanup.remove_unused_private_members=false +cleanup.remove_unused_private_methods=true +cleanup.remove_unused_private_types=true +cleanup.sort_members=false +cleanup.sort_members_all=false +cleanup.use_anonymous_class_creation=false +cleanup.use_blocks=false +cleanup.use_blocks_only_for_return_and_throw=false +cleanup.use_lambda=true +cleanup.use_parentheses_in_expressions=false +cleanup.use_this_for_non_static_field_access=true +cleanup.use_this_for_non_static_field_access_only_if_necessary=false +cleanup.use_this_for_non_static_method_access=true +cleanup.use_this_for_non_static_method_access_only_if_necessary=false +cleanup_profile=_Sirius +cleanup_settings_version=2 +eclipse.preferences.version=1 +editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true +formatter_profile=_Sirius +formatter_settings_version=21 +org.eclipse.jdt.ui.ignorelowercasenames=true +org.eclipse.jdt.ui.importorder=com;fr;java;javax;org; +org.eclipse.jdt.ui.javadoc=true +org.eclipse.jdt.ui.ondemandthreshold=99 +org.eclipse.jdt.ui.staticondemandthreshold=99 +org.eclipse.jdt.ui.text.custom_code_templates=