Repository: jhipster/generator-jhipster
Pull request #10801 (2019-11-19 05:04:28)

Update open api plugin to remove gradle workaround
This updates the [openapi plugin to 4.2.1
](https://github.com/OpenAPITools/openapi-generator/releases) which has removed the usage of some [deprecated gradle api](https://github.com/OpenAPITools/openapi-generator/pull/4352) such that we can remove the workaround of using gradle 5.6.4 instead of 6.x when using api first option


-   Please make sure the below checklist is followed for Pull Requests.

-   [ ] [All continuous integration tests](https://github.com/jhipster/generator-jhipster/actions) are green
-   [ ] Tests are added where necessary
-   [ ] Documentation is added/updated where necessary
-   [ ] Coding Rules & Commit Guidelines as per our [CONTRIBUTING.md document](https://github.com/jhipster/generator-jhipster/blob/master/CONTRIBUTING.md) are followed

<!--
Please also reference the issue number in a commit message to [automatically close the related Github issue](https://help.github.com/articles/closing-issues-via-commit-messages/)

Note: It is also possible to add `[skip ci]` to your commit message to skip Travis tests
-->



Patch:
diff --git a/README.md b/README.md
index fdcec21c19..78e5647d05 100644
--- a/README.md
+++ b/README.md
@@ -14,47 +14,133 @@ Support this project by becoming a sponsor! [Become a sponsor](https://opencolle
 
 **Thank you to our sponsors!**
 
-**Gold sponsors**
-
-[![Okta][okta-image]][okta-url]
-
-[![Octo Consulting Group][octoconsulting-image]][octoconsulting-url]
-
-**Silver sponsors**
-
-[![BizEquity][bizequity-image]][bizequity-url]
-
-**Bronze sponsors**
-
-[![ForsysLab][forsyslab-image]][forsyslab-url]
-
-[![CUBA Platform][cubaplatform-image]][cubaplatform-url]
-
-[![Intesys][intesys-image]][intesys-url]
-
-[![CodeFirst][codefirst-image]][codefirst-url]
-
-[![Blokt][blokt-image]][blokt-url]
-
-[![Clay][clay-image]][clay-url]
-
-[![UX Planet][uxplanet-image]][uxplanet-url]
-
-[![Top Web Design Agencies][top-web-design-agencies-image]][top-web-design-agencies-url]
-
-[![The Pirate Bay][the-pirate-bay-image]][the-pirate-bay-url]
-
-[![Edusson][edusson-image]][edusson-url]
-
-[![Crosswordsolver][crosswordsolver-image]][crosswordsolver-url]
-
-[![FairLaan][fair-laan-image]][fair-laan-url]
-
-[![SuperKredit][superkredit-image]][superkredit-url]
-
-[![MatchBankerPl][matchbanker-pl-image]][matchbanker-pl-url]
-
-[![matchbankerNo][matchbanker-no-image]][matchbanker-no-url]
+### Gold Sponsors
+
+<table>
+  <tbody>
+    <tr>
+      <td align="center" valign="middle">
+        <a href="https://developer.okta.com/signup?utm_source=JHipster&utm_medium=logo&utm_campaign=Gold-Sponsor" target="_blank">
+          <img width="200em" src="https://www.jhipster.tech/images/open-collective/okta.png">
+        </a>
+      </td>
+      <td align="center" valign="middle">
+        <a href="http://www.octoconsulting.com/" target="_blank">
+          <img width="200em" src="https://www.jhipster.tech/images/open-collective/octoconsulting.png">
+        </a>
+      </td>
+    </tr>
+  </tbody>
+</table>
+
+### Silver sponsors
+
+<table>
+  <tbody>
+    <tr>
+      <td align="center" valign="middle">
+        <a href="https://www.bizequity.com/" target="_blank">
+          <img width="200em" src="https://www.jhipster.tech/images/open-collective/bizequity.png">
+        </a>
+      </td>
+    </tr>
+  </tbody>
+</table>
+
+### Bronze sponsors
+
+<table>
+  <tbody>
+    <tr>
+      <td align="center" valign="middle">
+        <a href="https://forsyslab.com/" target="_blank">
+          <img width="50em" src="https://www.jhipster.tech/images/open-collective/forsyslab.png">
+        </a>
+      </td>
+      <td align="center" valign="middle">
+        <a href="https://www.cuba-platform.com/" target="_blank">
+          <img width="50em" src="https://www.jhipster.tech/images/open-collective/cubaplatform.png">
+        </a>
+      </td>
+      <td align="center" valign="middle">
+        <a href="https://www.intesys.it/" target="_blank">
+          <img width="50em" src="https://www.jhipster.tech/images/open-collective/intesys.png">
+        </a>
+      </td>
+      <td align="center" valign="middle">
+        <a href="https://www.codefirst.co.uk" target="_blank">
+          <img width="50em" src="https://www.jhipster.tech/images/open-collective/codefirst.png">
+        </a>
+      </td>
+      <td align="center" valign="middle">
+        <a href="https://blokt.com/" target="_blank">
+          <img width="50em" src="https://www.jhipster.tech/images/open-collective/blokt.png">
+        </a>
+      </td>
+    </tr>
+    <tr>
+      <td align="center" valign="middle">
+        <a href="https://clay.global/" target="_blank">
+          <img width="50em" src="https://www.jhipster.tech/images/open-collective/clay.png">
+        </a>
+      </td>
+      <td align="center" valign="middle">
+        <a href="https://uxplanet.org/" target="_blank">
+          <img width="50em" src="https://www.jhipster.tech/images/open-collective/uxplanet.png">
+        </a>
+      </td>
+      <td align="center" valign="middle">
+        <a href="https://opencollective.com/top-web-design-agencies" target="_blank">
+          <img width="50em" src="https://www.jhipster.tech/images/open-collective/top-web-design-agencies.png">
+        </a>
+      </td>
+      <td align="center" valign="middle">
+        <a href="https://piratebay.ink/" target="_blank">
+          <img width="50em" src="https://www.jhipster.tech/images/open-collective/the-pirate-bay.png">
+        </a>
+      </td>
+      <td align="center" valign="middle">
+        <a href="https://edusson.com/" target="_blank">
+          <img width="50em" src="https://www.jhipster.tech/images/open-collective/edusson.png">
+        </a>
+      </td>
+    </tr>
+    <tr>
+      <td align="center" valign="middle">
+        <a href="https://www.crosswordsolver.com/" target="_blank">
+          <img width="50em" src="https://www.jhipster.tech/images/open-collective/crosswordsolver.png">
+        </a>
+      </td>
+      <td align="center" valign="middle">
+        <a href="https://fair-laan.se/" target="_blank">
+          <img width="50em" src="https://www.jhipster.tech/images/open-collective/fair-laan.png">
+        </a>
+      </td>
+      <td align="center" valign="middle">
+        <a href="https://superkredit.net" target="_blank">
+          <img width="50em" src="https://www.jhipster.tech/images/open-collective/superkredit.png">
+        </a>
+      </td>
+      <td align="center" valign="middle">
+        <a href="https://matchbanker.pl/" target="_blank">
+          <img width="50em" src="https://www.jhipster.tech/images/open-collective/matchbanker.png">
+        </a>
+      </td>
+      <td align="center" valign="middle">
+        <a href="https://matchbanker.no/" target="_blank">
+          <img width="50em" src="https://www.jhipster.tech/images/open-collective/matchbanker.png">
+        </a>
+      </td>
+    </tr>
+    <tr>
+      <td align="center" valign="middle">
+        <a href="https://vpngorilla.com/" target="_blank">
+          <img width="50em" src="https://www.jhipster.tech/images/open-collective/vpngorilla.png">
+        </a>
+      </td>
+    </tr>
+  </tbody>
+</table>
 
 **Thank you to all our backers!**
 
@@ -125,42 +211,6 @@ Additional builds at [hipster-labs/jhipster-daily-builds](https://github.com/hip
 [daviddm-url]: https://david-dm.org/jhipster/generator-jhipster
 [backers-image]: https://opencollective.com/generator-jhipster/tiers/backer.svg?avatarHeight=40&width=890
 [backers-url]: https://opencollective.com/generator-jhipster
-[okta-image]: https://www.jhipster.tech/images/open-collective/okta.png
-[okta-url]: https://developer.okta.com/signup?utm_source=JHipster&utm_medium=logo&utm_campaign=Gold-Sponsor
-[octoconsulting-image]: https://www.jhipster.tech/images/open-collective/octoconsulting.png
-[octoconsulting-url]: http://www.octoconsulting.com/
-[bizequity-image]: https://www.jhipster.tech/images/open-collective/bizequity.png
-[bizequity-url]: https://www.bizequity.com/
-[forsyslab-image]: https://www.jhipster.tech/images/open-collective/forsyslab.png
-[forsyslab-url]: https://forsyslab.com/
-[cubaplatform-image]: https://www.jhipster.tech/images/open-collective/cubaplatform.png
-[cubaplatform-url]: https://www.cuba-platform.com/
-[intesys-image]: https://www.jhipster.tech/images/open-collective/intesys.png
-[intesys-url]: https://www.intesys.it/
-[codefirst-image]: https://www.jhipster.tech/images/open-collective/codefirst.png
-[codefirst-url]: https://www.codefirst.co.uk
-[blokt-image]: https://www.jhipster.tech/images/open-collective/blokt.png
-[blokt-url]: https://blokt.com/
-[clay-image]: https://www.jhipster.tech/images/open-collective/clay.png
-[clay-url]: https://clay.global/
-[uxplanet-image]: https://www.jhipster.tech/images/open-collective/uxplanet.png
-[uxplanet-url]: https://uxplanet.org/
-[top-web-design-agencies-image]: https://www.jhipster.tech/images/open-collective/top-web-design-agencies.png
-[top-web-design-agencies-url]: https://opencollective.com/top-web-design-agencies
-[the-pirate-bay-image]: https://www.jhipster.tech/images/open-collective/the-pirate-bay.png
-[the-pirate-bay-url]: https://piratebay.ink/
-[edusson-image]: https://www.jhipster.tech/images/open-collective/edusson.png
-[edusson-url]: https://edusson.com/
-[crosswordsolver-image]: https://www.jhipster.tech/images/open-collective/crosswordsolver.png
-[crosswordsolver-url]: https://www.crosswordsolver.com/
-[fair-laan-image]: https://www.jhipster.tech/images/open-collective/fair-laan.png
-[fair-laan-url]: https://fair-laan.se/
-[superkredit-image]: https://www.jhipster.tech/images/open-collective/superkredit.png
-[superkredit-url]: https://superkredit.net
-[matchbanker-pl-image]: https://www.jhipster.tech/images/open-collective/matchbanker.png
-[matchbanker-pl-url]: https://matchbanker.pl/
-[matchbanker-no-image]: https://www.jhipster.tech/images/open-collective/matchbanker.png
-[matchbanker-no-url]: https://matchbanker.no/
 [issue-template]: https://github.com/jhipster/generator-jhipster/issues/new?template=BUG_REPORT.md
 [feature-template]: https://github.com/jhipster/generator-jhipster/issues/new?template=FEATURE_REQUEST.md
 [npmcharts-image]: https://img.shields.io/npm/dm/generator-jhipster.svg?label=Downloads&style=flat
diff --git a/generators/cleanup.js b/generators/cleanup.js
index a805e32cc3..691440720b 100644
--- a/generators/cleanup.js
+++ b/generators/cleanup.js
@@ -212,4 +212,7 @@ function cleanupOldServerFiles(generator, javaDir, testDir, mainResourceDir, tes
         generator.config.delete('blueprint');
         generator.config.delete('blueprintVersion');
     }
+    if (generator.isJhipsterVersionLessThan('6.5.2')) {
+        generator.removeFile(`${testDir}web/rest/ClientForwardControllerIT.java`);
+    }
 }
diff --git a/generators/client/templates/angular/package.json.ejs b/generators/client/templates/angular/package.json.ejs
index 195bc794bf..43d30e09da 100644
--- a/generators/client/templates/angular/package.json.ejs
+++ b/generators/client/templates/angular/package.json.ejs
@@ -72,9 +72,9 @@
     "@types/mocha": "5.2.7",
     <%_ } _%>
     "@types/node": "10.12.27",
-    "@typescript-eslint/eslint-plugin": "2.0.0",
-    "@typescript-eslint/eslint-plugin-tslint": "2.0.0",
-    "@typescript-eslint/parser": "2.0.0",
+    "@typescript-eslint/eslint-plugin": "2.7.0",
+    "@typescript-eslint/eslint-plugin-tslint": "2.7.0",
+    "@typescript-eslint/parser": "2.7.0",
     <%_ if (protractorTests) { _%>
     "@types/selenium-webdriver": "4.0.2",
     <%_ } _%>
diff --git a/generators/client/templates/angular/src/main/webapp/app/layouts/main/main.component.html.ejs b/generators/client/templates/angular/src/main/webapp/app/layouts/main/main.component.html.ejs
index 09f504eca7..6ec45318d1 100644
--- a/generators/client/templates/angular/src/main/webapp/app/layouts/main/main.component.html.ejs
+++ b/generators/client/templates/angular/src/main/webapp/app/layouts/main/main.component.html.ejs
@@ -23,7 +23,6 @@
 <div class="container-fluid">
     <div class="card jh-card">
         <router-outlet></router-outlet>
-        <router-outlet name="popup"></router-outlet>
     </div>
     <<%= jhiPrefixDashed %>-footer></<%= jhiPrefixDashed %>-footer>
 </div>
diff --git a/generators/client/templates/react/package.json.ejs b/generators/client/templates/react/package.json.ejs
index 734cbfe81d..8a6481c7ed 100644
--- a/generators/client/templates/react/package.json.ejs
+++ b/generators/client/templates/react/package.json.ejs
@@ -85,8 +85,8 @@ limitations under the License.
     "@types/selenium-webdriver": "4.0.2",
     <%_ } _%>
     "@types/webpack-env": "1.13.9",
-    "@typescript-eslint/eslint-plugin": "2.0.0",
-    "@typescript-eslint/parser": "2.0.0",
+    "@typescript-eslint/eslint-plugin": "2.7.0",
+    "@typescript-eslint/parser": "2.7.0",
     "autoprefixer": "9.5.0",
     "base-href-webpack-plugin": "2.0.0",
     "browser-sync": "2.26.5",
diff --git a/generators/client/templates/react/src/main/webapp/app/modules/login/logout.tsx.ejs b/generators/client/templates/react/src/main/webapp/app/modules/login/logout.tsx.ejs
index 2c8c50d317..1daf106d09 100644
--- a/generators/client/templates/react/src/main/webapp/app/modules/login/logout.tsx.ejs
+++ b/generators/client/templates/react/src/main/webapp/app/modules/login/logout.tsx.ejs
@@ -16,7 +16,7 @@
  See the License for the specific language governing permissions and
  limitations under the License.
 -%>
-import React from 'react';
+import React, { useLayoutEffect } from 'react';
 import { connect } from 'react-redux';
 
 import { IRootState } from 'app/shared/reducers';
@@ -27,29 +27,25 @@ export interface ILogoutProps extends StateProps, DispatchProps {
   logoutUrl: string;
 }
 
-export class Logout extends React.Component<ILogoutProps> {
-
-  componentDidMount() {
-    this.props.logout();
-  }
-
-  render() {
-    const logoutUrl = this.props.logoutUrl;
+export const Logout = (props: ILogoutProps) => {
+  useLayoutEffect(() => {
+    props.logout();
+    const logoutUrl = props.logoutUrl;
     if (logoutUrl) {
       // if Keycloak, logoutUrl has protocol/openid-connect in it
-      window.location.href = logoutUrl.includes('/protocol') ?
-        logoutUrl + '?redirect_uri=' + window.location.origin :
-        logoutUrl + '?id_token_hint=' + this.props.idToken +
-          '&post_logout_redirect_uri=' + window.location.origin;
+      window.location.href =
+        logoutUrl.includes('/protocol')
+          ? logoutUrl + '?redirect_uri=' + window.location.origin
+          : logoutUrl + '?id_token_hint=' + props.idToken + '&post_logout_redirect_uri=' + window.location.origin;
     }
-
-    return (
-      <div className="p-5">
-        <h4>Logged out successfully!</h4>
-      </div>
-    );
-  }
-}
+  });
+
+  return (
+    <div className="p-5">
+      <h4>Logged out successfully!</h4>
+    </div>
+  );
+};
 
 const mapStateToProps = (storeState: IRootState) => ({
   logoutUrl: storeState.authentication.logoutUrl,
diff --git a/generators/entity-client/templates/angular/src/main/webapp/app/entities/entity-management-delete-dialog.component.ts.ejs b/generators/entity-client/templates/angular/src/main/webapp/app/entities/entity-management-delete-dialog.component.ts.ejs
index 1f4d542bc1..158e96f8af 100644
--- a/generators/entity-client/templates/angular/src/main/webapp/app/entities/entity-management-delete-dialog.component.ts.ejs
+++ b/generators/entity-client/templates/angular/src/main/webapp/app/entities/entity-management-delete-dialog.component.ts.ejs
@@ -19,17 +19,15 @@
 <%_
 const primaryKeyType = getPkTypeBasedOnDBAndAssociation(authenticationType, databaseType, relationships);
 _%>
-import { Component, OnInit, OnDestroy } from '@angular/core';
-import { ActivatedRoute, Router } from '@angular/router';
+import { Component } from '@angular/core';
 
-import { NgbActiveModal, NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap';
+import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';
 import { JhiEventManager } from 'ng-jhipster';
 
 import { I<%= entityAngularName %> } from 'app/shared/model/<%= entityModelFileName %>.model';
 import { <%= entityAngularName %>Service } from './<%= entityFileName %>.service';
 
 @Component({
-    selector: '<%= jhiPrefixDashed %>-<%= entityFileName %>-delete-dialog',
     templateUrl: './<%= entityFileName %>-delete-dialog.component.html'
 })
 export class <%= entityAngularName %>DeleteDialogComponent {
@@ -57,38 +55,3 @@ export class <%= entityAngularName %>DeleteDialogComponent {
         });
     }
 }
-
-@Component({
-    selector: '<%= jhiPrefixDashed %>-<%= entityFileName %>-delete-popup',
-    template: ''
-})
-export class <%= entityAngularName %>DeletePopupComponent implements OnInit, OnDestroy {
-
-    protected ngbModalRef: NgbModalRef;
-
-    constructor(
-        protected activatedRoute: ActivatedRoute,
-        protected router: Router,
-        protected modalService: NgbModal
-    ) {}
-
-    ngOnInit() {
-        this.activatedRoute.data.subscribe(({<%= entityInstance %>}) => {
-            setTimeout(() => {
-                this.ngbModalRef = this.modalService.open(<%= entityAngularName %>DeleteDialogComponent as Component, { size: 'lg', backdrop: 'static'});
-                this.ngbModalRef.componentInstance.<%= entityInstance %> = <%= entityInstance %>;
-                this.ngbModalRef.result.then(() => {
-                    this.router.navigate(['/<%= entityUrl %>', { outlets: { popup: null }}]);
-                    this.ngbModalRef = null;
-                }, () => {
-                    this.router.navigate(['/<%= entityUrl %>', { outlets: { popup: null }}]);
-                    this.ngbModalRef = null;
-                });
-            }, 0);
-        });
-    }
-
-    ngOnDestroy() {
-        this.ngbModalRef = null;
-    }
-}
diff --git a/generators/entity-client/templates/angular/src/main/webapp/app/entities/entity-management.component.html.ejs b/generators/entity-client/templates/angular/src/main/webapp/app/entities/entity-management.component.html.ejs
index 57b6d58a72..9cef5b2d49 100644
--- a/generators/entity-client/templates/angular/src/main/webapp/app/entities/entity-management.component.html.ejs
+++ b/generators/entity-client/templates/angular/src/main/webapp/app/entities/entity-management.component.html.ejs
@@ -160,10 +160,7 @@
                             <fa-icon [icon]="'pencil-alt'"></fa-icon>
                             <span class="d-none d-md-inline" jhiTranslate="entity.action.edit">Edit</span>
                         </button>
-                        <button type="submit"
-                                [routerLink]="['/<%= entityUrl %>', { outlets: { popup: <%= entityInstance %>.id + '/delete'} }]"
-                                replaceUrl="true"
-                                queryParamsHandling="merge"
+                        <button type="submit" (click)="delete(<%= entityInstance %>)"
                                 class="btn btn-danger btn-sm">
                             <fa-icon [icon]="'times'"></fa-icon>
                             <span class="d-none d-md-inline" jhiTranslate="entity.action.delete">Delete</span>
diff --git a/generators/entity-client/templates/angular/src/main/webapp/app/entities/entity-management.component.ts.ejs b/generators/entity-client/templates/angular/src/main/webapp/app/entities/entity-management.component.ts.ejs
index 358322b3cf..47fc7a4432 100644
--- a/generators/entity-client/templates/angular/src/main/webapp/app/entities/entity-management.component.ts.ejs
+++ b/generators/entity-client/templates/angular/src/main/webapp/app/entities/entity-management.component.ts.ejs
@@ -25,12 +25,18 @@ import { ActivatedRoute } from '@angular/router';
 <%_ } _%>
 import { Subscription } from 'rxjs';
 import { JhiEventManager <% if (pagination !== 'no') { %>, JhiParseLinks <% } %><% if (fieldsContainBlob) { %>, JhiDataUtils<% } %> } from 'ng-jhipster';
+<%_ if (!readOnly) { _%>
+import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
+<%_ } _%>
 
 import { I<%= entityAngularName %> } from 'app/shared/model/<%= entityModelFileName %>.model';
 <%_ if (pagination !== 'no') { %>
 import { ITEMS_PER_PAGE } from 'app/shared/constants/pagination.constants';
 <%_ } _%>
 import { <%= entityAngularName %>Service } from './<%= entityFileName %>.service';
+<%_ if (!readOnly) { _%>
+import { <%= entityAngularName %>DeleteDialogComponent } from './<%= entityFileName %>-delete-dialog.component';
+<%_ } _%>
 
 @Component({
     selector: '<%= jhiPrefixDashed %>-<%= entityFileName %>',
@@ -76,6 +82,13 @@ export class <%= entityAngularName %>Component implements OnInit, OnDestroy {
     registerChangeIn<%= entityClassPlural %>() {
         this.eventSubscriber = this.eventManager.subscribe('<%= entityInstance %>ListModification', () => <%= eventCallBack %>);
     }
+    <%_ if (!readOnly) { _%>
+
+    delete(<%= entityInstance %>: I<%= entityAngularName %>) {
+        const modalRef = this.modalService.open(<%= entityAngularName %>DeleteDialogComponent, { size: 'lg', backdrop: 'static' });
+        modalRef.componentInstance.<%= entityInstance %> = <%= entityInstance %>;
+    }
+    <%_ } _%>
     <%_ if (pagination !== 'no') { _%>
         <%_ if (databaseType !== 'cassandra') { _%>
 
diff --git a/generators/entity-client/templates/angular/src/main/webapp/app/entities/entity-management.module.ts.ejs b/generators/entity-client/templates/angular/src/main/webapp/app/entities/entity-management.module.ts.ejs
index 9d3b6a215d..919048668d 100644
--- a/generators/entity-client/templates/angular/src/main/webapp/app/entities/entity-management.module.ts.ejs
+++ b/generators/entity-client/templates/angular/src/main/webapp/app/entities/entity-management.module.ts.ejs
@@ -24,19 +24,14 @@ import { <%= entityAngularName %>Component } from './<%= entityFileName %>.compo
 import { <%= entityAngularName %>DetailComponent } from './<%= entityFileName %>-detail.component';
 <%_ if (!readOnly) { _%>
 import { <%= entityAngularName %>UpdateComponent } from './<%= entityFileName %>-update.component';
-import { <%= entityAngularName %>DeletePopupComponent, <%= entityAngularName %>DeleteDialogComponent } from './<%= entityFileName %>-delete-dialog.component';
+import { <%= entityAngularName %>DeleteDialogComponent } from './<%= entityFileName %>-delete-dialog.component';
 <%_ } _%>
-import { <%= entityInstance %>Route, <%= entityInstance %>PopupRoute } from './<%= entityFileName %>.route';
-
-const ENTITY_STATES = [
-    ...<%= entityInstance %>Route,
-    ...<%= entityInstance %>PopupRoute,
-];
+import { <%= entityInstance %>Route } from './<%= entityFileName %>.route';
 
 @NgModule({
     imports: [
         <%= angularXAppName %>SharedModule,
-        RouterModule.forChild(ENTITY_STATES)
+        RouterModule.forChild(<%= entityInstance %>Route)
     ],
     declarations: [
         <%= entityAngularName %>Component,
@@ -44,7 +39,6 @@ const ENTITY_STATES = [
         <%_ if (!readOnly) { _%>
         <%= entityAngularName %>UpdateComponent,
         <%= entityAngularName %>DeleteDialogComponent,
-        <%= entityAngularName %>DeletePopupComponent,
         <%_ } %>
     ],
     entryComponents: [
diff --git a/generators/entity-client/templates/angular/src/main/webapp/app/entities/entity-management.route.ts.ejs b/generators/entity-client/templates/angular/src/main/webapp/app/entities/entity-management.route.ts.ejs
index 97f2af1f9e..008b7d2a1c 100644
--- a/generators/entity-client/templates/angular/src/main/webapp/app/entities/entity-management.route.ts.ejs
+++ b/generators/entity-client/templates/angular/src/main/webapp/app/entities/entity-management.route.ts.ejs
@@ -31,13 +31,6 @@ import { <%= entityAngularName %>Component } from './<%= entityFileName %>.compo
 import { <%= entityAngularName %>DetailComponent } from './<%= entityFileName %>-detail.component';
 <%_ if (!readOnly) { _%>
 import { <%= entityAngularName %>UpdateComponent } from './<%= entityFileName %>-update.component';
-<%_ if (entityFileName.length <= 30) { _%>
-import { <%= entityAngularName %>DeletePopupComponent } from './<%= entityFileName %>-delete-dialog.component';
-<%_ } else { _%>
-import {
-    <%= entityAngularName %>DeletePopupComponent
-} from './<%= entityFileName %>-delete-dialog.component';
-<%_ } _%>
 <%_ } _%>
 import { I<%= entityAngularName %> } from 'app/shared/model/<%= entityModelFileName %>.model';
 
@@ -115,21 +108,3 @@ export const <%= entityInstance %>Route: Routes = [
     },
     <%_ } _%>
 ];
-
-export const <%= entityInstance %>PopupRoute: Routes = [
-    <%_ if (!readOnly) { _%>
-    {
-        path: ':id/delete',
-        component: <%= entityAngularName %>DeletePopupComponent,
-        resolve: {
-            <%= entityInstance %>: <%= entityAngularName %>Resolve
-        },
-        data: {
-            authorities: ['ROLE_USER'],
-            pageTitle: <% if (enableTranslation){ %>'<%= angularAppName %>.<%= entityTranslationKey %>.home.title'<% }else{ %>'<%= entityClassPlural %>'<% } %>
-        },
-        canActivate: [UserRouteAccessService],
-        outlet: 'popup'
-    }
-    <%_ } _%>
-];
diff --git a/generators/entity-client/templates/angular/src/main/webapp/app/entities/infinite-scroll-template.ejs b/generators/entity-client/templates/angular/src/main/webapp/app/entities/infinite-scroll-template.ejs
index 5c8d439cb7..e6c9633748 100644
--- a/generators/entity-client/templates/angular/src/main/webapp/app/entities/infinite-scroll-template.ejs
+++ b/generators/entity-client/templates/angular/src/main/webapp/app/entities/infinite-scroll-template.ejs
@@ -34,6 +34,9 @@
         protected dataUtils: JhiDataUtils,
         <%_ } _%>
         protected eventManager: JhiEventManager,
+        <%_ if (!readOnly) { _%>
+        protected modalService: NgbModal,
+        <%_ } _%>
         protected parseLinks: JhiParseLinks,
         <%_ if (searchEngine === 'elasticsearch') { _%>
         protected activatedRoute: ActivatedRoute,
diff --git a/generators/entity-client/templates/angular/src/main/webapp/app/entities/no-pagination-template.ejs b/generators/entity-client/templates/angular/src/main/webapp/app/entities/no-pagination-template.ejs
index 0550aa734b..a931f2145a 100644
--- a/generators/entity-client/templates/angular/src/main/webapp/app/entities/no-pagination-template.ejs
+++ b/generators/entity-client/templates/angular/src/main/webapp/app/entities/no-pagination-template.ejs
@@ -28,6 +28,9 @@
         protected dataUtils: JhiDataUtils,
         <%_ } _%>
         protected eventManager: JhiEventManager,
+        <%_ if (!readOnly) { _%>
+        protected modalService: NgbModal,
+        <%_ } _%>
         <%_ if (searchEngine === 'elasticsearch') { _%>
         protected activatedRoute: ActivatedRoute,
         <%_ } _%>
diff --git a/generators/entity-client/templates/angular/src/main/webapp/app/entities/pagination-template.ejs b/generators/entity-client/templates/angular/src/main/webapp/app/entities/pagination-template.ejs
index f4173e8699..57e7c39862 100644
--- a/generators/entity-client/templates/angular/src/main/webapp/app/entities/pagination-template.ejs
+++ b/generators/entity-client/templates/angular/src/main/webapp/app/entities/pagination-template.ejs
@@ -42,7 +42,10 @@
         protected dataUtils: JhiDataUtils,
         <%_ } _%>
         protected router: Router,
-        protected eventManager: JhiEventManager
+        protected eventManager: JhiEventManager,
+        <%_ if (!readOnly) { _%>
+        protected modalService: NgbModal
+        <%_ } _%>
     ) {
         <%_ if (databaseType !== 'cassandra') { _%>
         this.itemsPerPage = ITEMS_PER_PAGE;
diff --git a/generators/entity-server/templates/src/main/resources/config/liquibase/changelog/added_entity.xml.ejs b/generators/entity-server/templates/src/main/resources/config/liquibase/changelog/added_entity.xml.ejs
index 8bd38de5cc..af042a74d4 100644
--- a/generators/entity-server/templates/src/main/resources/config/liquibase/changelog/added_entity.xml.ejs
+++ b/generators/entity-server/templates/src/main/resources/config/liquibase/changelog/added_entity.xml.ejs
@@ -33,8 +33,9 @@
                 break;
             }
         }
+        const isAutoIncrementDB = prodDatabaseType === 'mysql' || prodDatabaseType === 'mariadb';
     _%>
-    <%_ if (prodDatabaseType === 'mysql' || prodDatabaseType === 'mariadb') { _%>
+    <%_ if (isAutoIncrementDB) { _%>
     <property name="autoIncrement" value="<%- autoIncrementValue %>"/>
     <%_ } _%>
 
@@ -47,7 +48,7 @@
         <%_ } else { _%>
         <createTable tableName="<%= entityTableName %>" remarks="<%- formatAsLiquibaseRemarks(javadoc) %>">
         <%_ } _%>
-            <column name="id" type="<%= primaryKeyType %>" <%_ if (primaryKeyType === 'varchar(100)' ) { _%> > <% } else { %> autoIncrement="${autoIncrement}"> <%_ } %>
+            <column name="id" type="<%= primaryKeyType %>" <%_ if (primaryKeyType === 'varchar(100)' ) { _%> <% } else if (isAutoIncrementDB) { %> autoIncrement="${autoIncrement}" <%_ } %>>
                 <constraints primaryKey="true" nullable="false"/>
             </column>
             <%_ for (idx in fields) {
diff --git a/generators/server/files.js b/generators/server/files.js
index 26db0912d6..2cac1790aa 100644
--- a/generators/server/files.js
+++ b/generators/server/files.js
@@ -1247,8 +1247,8 @@ const serverFiles = {
             path: SERVER_TEST_SRC_DIR,
             templates: [
                 {
-                    file: 'package/web/rest/ClientForwardControllerIT.java',
-                    renameTo: generator => `${generator.testDir}web/rest/ClientForwardControllerIT.java`
+                    file: 'package/web/rest/ClientForwardControllerTest.java',
+                    renameTo: generator => `${generator.testDir}web/rest/ClientForwardControllerTest.java`
                 }
             ]
         },
diff --git a/generators/server/templates/build.gradle.ejs b/generators/server/templates/build.gradle.ejs
index 0fb006645d..ed08be585a 100644
--- a/generators/server/templates/build.gradle.ejs
+++ b/generators/server/templates/build.gradle.ejs
@@ -534,15 +534,9 @@ task cleanResources(type: Delete) {
     delete "build/resources"
 }
 
-<%_ if (enableSwaggerCodegen) { _%>
-wrapper {
-    gradleVersion = "5.6.4"
-}
-<%_ } else { _%>
 wrapper {
     gradleVersion = "<%= GRADLE_VERSION %>"
 }
-<%_ } _%>
 
 <%_ if (!skipClient) { _%>
 
diff --git a/generators/server/templates/gradle.properties.ejs b/generators/server/templates/gradle.properties.ejs
index cd96d0d469..1f66c9199d 100644
--- a/generators/server/templates/gradle.properties.ejs
+++ b/generators/server/templates/gradle.properties.ejs
@@ -64,7 +64,7 @@ liquibase_plugin_version=2.0.1
 <%_ } _%>
 sonarqube_plugin_version=2.8
 <%_ if (enableSwaggerCodegen) { _%>
-openapi_plugin_version=4.2.0
+openapi_plugin_version=4.2.1
 <%_ } _%>
 spring_no_http_plugin_version=0.0.3.RELEASE
 checkstyle_version=8.24
diff --git a/generators/server/templates/gradle/wrapper/gradle-wrapper.properties.ejs b/generators/server/templates/gradle/wrapper/gradle-wrapper.properties.ejs
index 00accbeb55..441ac4e3c6 100644
--- a/generators/server/templates/gradle/wrapper/gradle-wrapper.properties.ejs
+++ b/generators/server/templates/gradle/wrapper/gradle-wrapper.properties.ejs
@@ -1,9 +1,5 @@
 distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
-<%_ if (enableSwaggerCodegen) { _%>
-distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-bin.zip
-<%_ } else { _%>
 distributionUrl=https\://services.gradle.org/distributions/gradle-<%= GRADLE_VERSION %>-bin.zip
-<%_ } _%>
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists
diff --git a/generators/server/templates/pom.xml.ejs b/generators/server/templates/pom.xml.ejs
index fa364cbed5..5debaad0e1 100644
--- a/generators/server/templates/pom.xml.ejs
+++ b/generators/server/templates/pom.xml.ejs
@@ -129,7 +129,7 @@
         <jib-maven-plugin.version><%= JIB_VERSION %></jib-maven-plugin.version>
         <lifecycle-mapping.version>1.0.0</lifecycle-mapping.version>
 <%_ if (enableSwaggerCodegen) { _%>
-        <openapi-generator-maven-plugin.version>4.2.0</openapi-generator-maven-plugin.version>
+        <openapi-generator-maven-plugin.version>4.2.1</openapi-generator-maven-plugin.version>
 <%_ } _%>
         <properties-maven-plugin.version>1.0.0</properties-maven-plugin.version>
         <sonar-maven-plugin.version>3.7.0.1746</sonar-maven-plugin.version>
diff --git a/generators/server/templates/src/main/java/package/config/SecurityConfiguration.java.ejs b/generators/server/templates/src/main/java/package/config/SecurityConfiguration.java.ejs
index d646f3fd5b..02d9d91312 100644
--- a/generators/server/templates/src/main/java/package/config/SecurityConfiguration.java.ejs
+++ b/generators/server/templates/src/main/java/package/config/SecurityConfiguration.java.ejs
@@ -217,10 +217,8 @@ public class SecurityConfiguration extends WebSecurityConfigurerAdapter {
         <%_ } _%>
     <%_ } _%>
             .exceptionHandling()
-    <%_ if (authenticationType !== 'oauth2') { _%>
-            .authenticationEntryPoint(problemSupport)
-    <%_ } _%>
-            .accessDeniedHandler(problemSupport)
+                .authenticationEntryPoint(problemSupport)
+                .accessDeniedHandler(problemSupport)
     <%_ if (authenticationType === 'session') { _%>
         <%_ if (!skipUserManagement) { _%>
         .and()
diff --git a/generators/server/templates/src/main/resources/config/liquibase/changelog/initial_schema.xml.ejs b/generators/server/templates/src/main/resources/config/liquibase/changelog/initial_schema.xml.ejs
index a4246dfc7a..e1b534be25 100644
--- a/generators/server/templates/src/main/resources/config/liquibase/changelog/initial_schema.xml.ejs
+++ b/generators/server/templates/src/main/resources/config/liquibase/changelog/initial_schema.xml.ejs
@@ -24,10 +24,13 @@
     xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd
                         http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd">
 
-    <%_ if (prodDatabaseType === 'mysql' || prodDatabaseType === 'mariadb') { _%>
+    <% const isAutoIncrementDB = prodDatabaseType === 'mysql' || prodDatabaseType === 'mariadb';
+       const isSequenceDB = prodDatabaseType === 'postgresql' || prodDatabaseType === 'oracle' || prodDatabaseType === 'mssql';
+    _%>
+    <%_ if (isAutoIncrementDB) { _%>
     <property name="autoIncrement" value="true"/>
     <%_ } _%>
-    <%_ if (prodDatabaseType === 'postgresql' || prodDatabaseType === 'oracle' || prodDatabaseType === 'mssql') { _%>
+    <%_ if (isSequenceDB) { _%>
     <changeSet id="00000000000000" author="jhipster">
         <createSequence sequenceName="sequence_generator" startValue="1050" incrementBy="50"/>
     </changeSet>
@@ -45,7 +48,7 @@
                 <constraints primaryKey="true" nullable="false"/>
             </column>
             <%_ } else { _%>
-            <column name="id" type="bigint" autoIncrement="${autoIncrement}">
+            <column name="id" type="bigint" <% if (isAutoIncrementDB) { _%> autoIncrement="${autoIncrement}" <%_ } _%>>
                 <constraints primaryKey="true" nullable="false"/>
             </column>
             <%_ } _%>
@@ -172,7 +175,7 @@
     <%_ } _%>
 <%_ } _%>
         <createTable tableName="<%= jhiTablePrefix %>_persistent_audit_event">
-            <column name="event_id" type="bigint" autoIncrement="${autoIncrement}">
+            <column name="event_id" type="bigint" <% if (isAutoIncrementDB) { _%> autoIncrement="${autoIncrement}" <%_ } _%>>
                 <constraints primaryKey="true" nullable="false"/>
             </column>
             <column name="principal" type="varchar(50)">
@@ -215,7 +218,7 @@
 
     <changeSet author="jhipster" id="00000000000002" context="test">
         <createTable tableName="<%= jhiTablePrefix %>_date_time_wrapper">
-            <column autoIncrement="${autoIncrement}" name="id" type="BIGINT">
+            <column <% if (isAutoIncrementDB) { _%> autoIncrement="${autoIncrement}" <%_ } %> name="id" type="BIGINT">
                 <constraints primaryKey="true" primaryKeyName="<%= jhiTablePrefix %>_date_time_wrapperPK"/>
             </column>
             <column name="instant" type="timestamp"/>
diff --git a/package-lock.json b/package-lock.json
index 613756ab56..e755a3fe77 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,6 +1,6 @@
 {
     "name": "generator-jhipster",
-    "version": "6.5.0",
+    "version": "6.5.1",
     "lockfileVersion": 1,
     "requires": true,
     "dependencies": {
diff --git a/package.json b/package.json
index 605c8654db..fa4105e489 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
     "name": "generator-jhipster",
-    "version": "6.5.0",
+    "version": "6.5.1",
     "description": "Spring Boot + Angular/React in one handy generator",
     "files": [
         "cli",


Test patch:
diff --git a/generators/client/templates/angular/src/test/javascript/protractor.conf.js.ejs b/generators/client/templates/angular/src/test/javascript/protractor.conf.js.ejs
index c4fa8facf4..816033f5ed 100644
--- a/generators/client/templates/angular/src/test/javascript/protractor.conf.js.ejs
+++ b/generators/client/templates/angular/src/test/javascript/protractor.conf.js.ejs
@@ -57,7 +57,7 @@ exports.config = {
     },
 
     onPrepare: function() {
-        browser.driver.manage().window().setSize(1280, 1024);
+        browser.driver.manage().window().setSize(1280, 10240);
         // Disable animations
         // @ts-ignore
         browser.executeScript('document.body.className += " notransition";');
diff --git a/generators/entity-client/templates/react/src/test/javascript/e2e/entities/entity.spec.ts.ejs b/generators/entity-client/templates/react/src/test/javascript/e2e/entities/entity.spec.ts.ejs
index 6571a20c22..bcb188ea91 100644
--- a/generators/entity-client/templates/react/src/test/javascript/e2e/entities/entity.spec.ts.ejs
+++ b/generators/entity-client/templates/react/src/test/javascript/e2e/entities/entity.spec.ts.ejs
@@ -73,6 +73,8 @@ describe('<%= entityClass %> e2e test', () => {
         await signInPage.loginWithOAuth('admin', 'admin');
         <%_ } _%>
         await waitUntilDisplayed(navBarPage.entityMenu);
+        await waitUntilDisplayed(navBarPage.adminMenu);
+        await waitUntilDisplayed(navBarPage.accountMenu);
     });
 
     it('should load <%= entityClassPlural %>', async () => {
diff --git a/generators/server/templates/src/test/java/package/web/rest/ClientForwardControllerIT.java.ejs b/generators/server/templates/src/test/java/package/web/rest/ClientForwardControllerTest.java.ejs
similarity index 73%
rename from generators/server/templates/src/test/java/package/web/rest/ClientForwardControllerIT.java.ejs
rename to generators/server/templates/src/test/java/package/web/rest/ClientForwardControllerTest.java.ejs
index f99b19a1bb..e499650a8a 100644
--- a/generators/server/templates/src/test/java/package/web/rest/ClientForwardControllerIT.java.ejs
+++ b/generators/server/templates/src/test/java/package/web/rest/ClientForwardControllerTest.java.ejs
@@ -18,22 +18,8 @@
 -%>
 package <%=packageName%>.web.rest;
 
-<%_ if (databaseType === 'cassandra') { _%>
-import <%= packageName %>.AbstractCassandraTest;
-<%_ } _%>
-<%_ if (cacheProvider === 'redis') { _%>
-import <%=packageName%>.RedisTestContainerExtension;
-<%_ } _%>
-import <%=packageName%>.<%= mainClass %>;
-<%_ if (authenticationType === 'oauth2') { _%>
-import <%=packageName%>.config.TestSecurityConfiguration;
-<%_ } _%>
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
-<%_ if (cacheProvider === 'redis') { _%>
-import org.junit.jupiter.api.extension.ExtendWith;
-<%_ } _%>
-import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.http.MediaType;
 import org.springframework.test.web.servlet.MockMvc;
 import org.springframework.test.web.servlet.ResultActions;
@@ -47,17 +33,9 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
 import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
 
 /**
- * Integration tests for the {@link ClientForwardController} REST controller.
+ * Unit tests for the {@link ClientForwardController} REST controller.
  */
-<%_ if (authenticationType === 'oauth2') { _%>
-@SpringBootTest(classes = {<%= mainClass %>.class, TestSecurityConfiguration.class})
-<%_ } else { _%>
-@SpringBootTest(classes = <%= mainClass %>.class)
-<%_ } _%>
-<%_ if (cacheProvider === 'redis') { _%>
-@ExtendWith(RedisTestContainerExtension.class)
-<%_ } _%>
-public class ClientForwardControllerIT <% if (databaseType === 'cassandra') { %>extends AbstractCassandraTest <% } %>{
+public class ClientForwardControllerTest {
 
     private MockMvc restMockMvc;
 
diff --git a/test-integration/scripts/25-sonar-analyze.sh b/test-integration/scripts/25-sonar-analyze.sh
index 2357e67eea..912cb10994 100755
--- a/test-integration/scripts/25-sonar-analyze.sh
+++ b/test-integration/scripts/25-sonar-analyze.sh
@@ -12,6 +12,7 @@ if [[ "$JHI_APP" = "ngx-default" && "$TRAVIS_REPO_SLUG" = "jhipster/generator-jh
     ./mvnw -ntp initialize org.jacoco:jacoco-maven-plugin:prepare-agent sonar:sonar \
         -Dsonar.host.url=https://sonarcloud.io \
         -Dsonar.projectKey=io.github.jhipster.sample:jhipster-sample-application \
+        -Dsonar.organization=default \
         -Dsonar.login=$SONAR_TOKEN
 
 elif [[ $JHI_SONAR = 1 ]]; then