This is an automated email from the ASF dual-hosted git repository.
martin_s pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/archiva.git
The following commit(s) were added to refs/heads/master by this push:
new 8a2fbaa Adding login service for new webapp
8a2fbaa is described below
commit 8a2fbaaa1ca2ec32d9e06683f8c68aad4a29a42d
Author: Martin Stockhammer <[email protected]>
AuthorDate: Sun Jul 19 13:27:03 2020 +0200
Adding login service for new webapp
---
.../src/main/archiva-web/src/app/app.module.ts | 2 ++
.../app/modules/general/login/login.component.ts | 7 ++++-
.../archiva-request.service.spec.ts} | 34 ++++++++--------------
.../archiva-request.service.ts} | 34 ++++++++++------------
.../login.service.spec.ts} | 34 ++++++++--------------
.../login.service.ts} | 28 ++++++------------
.../archiva-web/src/environments/environment.ts | 7 +++++
.../archiva-webapp/src/main/webapp/WEB-INF/web.xml | 12 ++++++++
8 files changed, 75 insertions(+), 83 deletions(-)
diff --git
a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/app.module.ts
b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/app.module.ts
index e991091..270aa43 100644
---
a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/app.module.ts
+++
b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/app.module.ts
@@ -18,6 +18,7 @@
*/
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
+import { HttpClientModule } from '@angular/common/http';
import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
@@ -43,6 +44,7 @@ import {FormsModule} from "@angular/forms";
BrowserModule,
AppRoutingModule,
FormsModule,
+ HttpClientModule,
],
providers: [],
bootstrap: [AppComponent]
diff --git
a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/general/login/login.component.ts
b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/general/login/login.component.ts
index bb018b6..97c0020 100644
---
a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/general/login/login.component.ts
+++
b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/general/login/login.component.ts
@@ -20,6 +20,7 @@ import { Component, OnInit } from '@angular/core';
// noinspection ES6UnusedImports
import { FormsModule } from "@angular/forms";
import { Logindata } from "../../../logindata";
+import { LoginService } from "../../../services/login.service";
@Component({
selector: 'app-login',
@@ -36,7 +37,11 @@ export class LoginComponent implements OnInit {
get diagnostic() { return JSON.stringify(this.submitted); }
- constructor() { }
+ login(): void {
+ this.loginService.login(username, password);
+ }
+
+ constructor(private loginService: LoginService) { }
ngOnInit(): void {
}
diff --git
a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/general/login/login.component.ts
b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/services/archiva-request.service.spec.ts
similarity index 59%
copy from
archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/general/login/login.component.ts
copy to
archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/services/archiva-request.service.spec.ts
index bb018b6..159b1ee 100644
---
a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/general/login/login.component.ts
+++
b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/services/archiva-request.service.spec.ts
@@ -16,29 +16,19 @@
* specific language governing permissions and limitations
* under the License.
*/
-import { Component, OnInit } from '@angular/core';
-// noinspection ES6UnusedImports
-import { FormsModule } from "@angular/forms";
-import { Logindata } from "../../../logindata";
+import { TestBed } from '@angular/core/testing';
-@Component({
- selector: 'app-login',
- templateUrl: './login.component.html',
- styleUrls: ['./login.component.scss']
-})
-export class LoginComponent implements OnInit {
+import { ArchivaRequestService } from './archiva-request.service';
- model = new Logindata('', '');
+describe('ArchivaRequestService', () => {
+ let service: ArchivaRequestService;
- submitted = false;
+ beforeEach(() => {
+ TestBed.configureTestingModule({});
+ service = TestBed.inject(ArchivaRequestService);
+ });
- onSubmit() { this.submitted = true; }
-
- get diagnostic() { return JSON.stringify(this.submitted); }
-
- constructor() { }
-
- ngOnInit(): void {
- }
-
-}
+ it('should be created', () => {
+ expect(service).toBeTruthy();
+ });
+});
diff --git
a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/general/login/login.component.ts
b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/services/archiva-request.service.ts
similarity index 53%
copy from
archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/general/login/login.component.ts
copy to
archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/services/archiva-request.service.ts
index bb018b6..8bbfc04 100644
---
a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/general/login/login.component.ts
+++
b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/services/archiva-request.service.ts
@@ -16,29 +16,25 @@
* specific language governing permissions and limitations
* under the License.
*/
-import { Component, OnInit } from '@angular/core';
-// noinspection ES6UnusedImports
-import { FormsModule } from "@angular/forms";
-import { Logindata } from "../../../logindata";
+import { Injectable } from '@angular/core';
+import { HttpClient } from "@angular/common/http";
+import { environment } from "../../environments/environment";
-@Component({
- selector: 'app-login',
- templateUrl: './login.component.html',
- styleUrls: ['./login.component.scss']
+@Injectable({
+ providedIn: 'root'
})
-export class LoginComponent implements OnInit {
+export class ArchivaRequestService {
- model = new Logindata('', '');
- submitted = false;
-
- onSubmit() { this.submitted = true; }
-
- get diagnostic() { return JSON.stringify(this.submitted); }
-
- constructor() { }
-
- ngOnInit(): void {
+ executeRestCall(type: string, module: string, service: string, input:
object, callback: (result: object) => void ) : void {
+ let modulePath = environment.application.servicePaths[module];
+ let url = environment.application.baseUrl +
environment.application.restPath + "/"+modulePath+"/" + service + "Service";
+ if (type == "get") {
+ this.http.get(url,)
+ } else if ( type == "post") {
+ this.http.post(url);
+ }
}
+ constructor(private http : HttpClient) { }
}
diff --git
a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/general/login/login.component.ts
b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/services/login.service.spec.ts
similarity index 59%
copy from
archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/general/login/login.component.ts
copy to
archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/services/login.service.spec.ts
index bb018b6..c75cae2 100644
---
a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/general/login/login.component.ts
+++
b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/services/login.service.spec.ts
@@ -16,29 +16,19 @@
* specific language governing permissions and limitations
* under the License.
*/
-import { Component, OnInit } from '@angular/core';
-// noinspection ES6UnusedImports
-import { FormsModule } from "@angular/forms";
-import { Logindata } from "../../../logindata";
+import { TestBed } from '@angular/core/testing';
-@Component({
- selector: 'app-login',
- templateUrl: './login.component.html',
- styleUrls: ['./login.component.scss']
-})
-export class LoginComponent implements OnInit {
+import { LoginService } from './login.service';
- model = new Logindata('', '');
+describe('LoginService', () => {
+ let service: LoginService;
- submitted = false;
+ beforeEach(() => {
+ TestBed.configureTestingModule({});
+ service = TestBed.inject(LoginService);
+ });
- onSubmit() { this.submitted = true; }
-
- get diagnostic() { return JSON.stringify(this.submitted); }
-
- constructor() { }
-
- ngOnInit(): void {
- }
-
-}
+ it('should be created', () => {
+ expect(service).toBeTruthy();
+ });
+});
diff --git
a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/general/login/login.component.ts
b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/services/login.service.ts
similarity index 60%
copy from
archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/general/login/login.component.ts
copy to
archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/services/login.service.ts
index bb018b6..99937d5 100644
---
a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/modules/general/login/login.component.ts
+++
b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/app/services/login.service.ts
@@ -16,29 +16,19 @@
* specific language governing permissions and limitations
* under the License.
*/
-import { Component, OnInit } from '@angular/core';
-// noinspection ES6UnusedImports
-import { FormsModule } from "@angular/forms";
-import { Logindata } from "../../../logindata";
+import { Injectable } from '@angular/core';
+import { ArchivaRequestService } from "./archiva-request.service";
-@Component({
- selector: 'app-login',
- templateUrl: './login.component.html',
- styleUrls: ['./login.component.scss']
-})
-export class LoginComponent implements OnInit {
-
- model = new Logindata('', '');
-
- submitted = false;
- onSubmit() { this.submitted = true; }
-
- get diagnostic() { return JSON.stringify(this.submitted); }
+@Injectable({
+ providedIn: 'root'
+})
+export class LoginService {
- constructor() { }
+ login(username: string, password: string) {
- ngOnInit(): void {
+ throw new Error("Method not implemented.");
}
+ constructor(private archiva : ArchivaRequestService) { }
}
diff --git
a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/environments/environment.ts
b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/environments/environment.ts
index 50fea53..605dc26 100644
---
a/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/environments/environment.ts
+++
b/archiva-modules/archiva-web/archiva-webapp/src/main/archiva-web/src/environments/environment.ts
@@ -25,6 +25,13 @@ export const environment = {
production: false,
application:
{
+ baseUrl: 'http://localhost:8080',
+ restPath: '/restServices',
+ servicePaths: {
+ archiva:"archivaServices",
+ redback:"redbackServices",
+ ui:"archivaUiServices"
+ },
name: 'archiva-starter',
angular: 'Angular 10.0.2',
bootstrap: 'Bootstrap 4.5.0',
diff --git
a/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/web.xml
b/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/web.xml
index e715277..fa04fc6 100644
--- a/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/web.xml
+++ b/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/web.xml
@@ -145,10 +145,22 @@
<load-on-startup>1</load-on-startup>
</servlet>
+ <servlet>
+ <servlet-name>CXFServletV2</servlet-name>
+ <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
+ <load-on-startup>1</load-on-startup>
+ </servlet>
+
+
<servlet-mapping>
<servlet-name>CXFServlet</servlet-name>
<url-pattern>/restServices/*</url-pattern>
</servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>CXFServletV2</servlet-name>
+ <url-pattern>/api/*</url-pattern>
+ </servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>