Skip to content

Commit 9595d05

Browse files
author
HaoZhang
committed
add websphere and weblogic detector
Signed-off-by: HaoZhang <haozhan@microsoft.com>
1 parent 5065b0a commit 9595d05

File tree

11 files changed

+236
-1
lines changed

11 files changed

+236
-1
lines changed
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
/*******************************************************************************
2+
* Copyright (c) 2021 Red Hat, Inc.
3+
* Distributed under license by Red Hat, Inc. All rights reserved.
4+
* This program is made available under the terms of the
5+
* Eclipse Public License v2.0 which accompanies this distribution,
6+
* and is available at http://www.eclipse.org/legal/epl-v20.html
7+
*
8+
* Contributors:
9+
* Red Hat, Inc.
10+
******************************************************************************/
11+
12+
package enricher
13+
14+
import (
15+
"context"
16+
17+
"github.com/devfile/alizer/pkg/apis/model"
18+
)
19+
20+
type WebLogicDetector struct{}
21+
22+
func (o WebLogicDetector) GetSupportedFrameworks() []string {
23+
return []string{"WebLogic"}
24+
}
25+
26+
// DoFrameworkDetection uses the groupId and artifactId to check for the framework name
27+
func (o WebLogicDetector) DoFrameworkDetection(language *model.Language, config string) {
28+
if hasFwk, _ := hasFramework(config, "com.oracle.weblogic", ""); hasFwk {
29+
language.Frameworks = append(language.Frameworks, "WebLogic")
30+
}
31+
}
32+
33+
func (o WebLogicDetector) DoPortsDetection(component *model.Component, ctx *context.Context) {
34+
}
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
/*******************************************************************************
2+
* Copyright (c) 2021 Red Hat, Inc.
3+
* Distributed under license by Red Hat, Inc. All rights reserved.
4+
* This program is made available under the terms of the
5+
* Eclipse Public License v2.0 which accompanies this distribution,
6+
* and is available at http://www.eclipse.org/legal/epl-v20.html
7+
*
8+
* Contributors:
9+
* Red Hat, Inc.
10+
******************************************************************************/
11+
12+
package enricher
13+
14+
import (
15+
"context"
16+
17+
"github.com/devfile/alizer/pkg/apis/model"
18+
)
19+
20+
type WebSphereDetector struct{}
21+
22+
func (o WebSphereDetector) GetSupportedFrameworks() []string {
23+
return []string{"WebSphere"}
24+
}
25+
26+
// DoFrameworkDetection uses the groupId and artifactId to check for the framework name
27+
func (o WebSphereDetector) DoFrameworkDetection(language *model.Language, config string) {
28+
hasWebSphereFwk, _ := hasFramework(config, "com.ibm.websphere.appserver", "")
29+
hasOpenLibertyFwk, _ := hasFramework(config, "io.openliberty", "")
30+
if hasWebSphereFwk && !hasOpenLibertyFwk {
31+
language.Frameworks = append(language.Frameworks, "WebSphere")
32+
}
33+
}
34+
35+
func (o WebSphereDetector) DoPortsDetection(component *model.Component, ctx *context.Context) {
36+
}

pkg/apis/enricher/java_enricher.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@ func getJavaFrameworkDetectors() []FrameworkDetectorWithConfigFile {
3434
&framework.VertxDetector{},
3535
&framework.WildFlyDetector{},
3636
&framework.JBossEAPDetector{},
37+
&framework.WebSphereDetector{},
38+
&framework.WebLogicDetector{},
3739
}
3840
}
3941

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
<project xmlns="http://maven.apache.org/POM/4.0.0"
2+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
4+
http://maven.apache.org/xsd/maven-4.0.0.xsd">
5+
<modelVersion>4.0.0</modelVersion>
6+
7+
<groupId>com.example</groupId>
8+
<artifactId>weblogic-app</artifactId>
9+
<version>1.0.0</version>
10+
<packaging>war</packaging>
11+
12+
<properties>
13+
<maven.compiler.source>8</maven.compiler.source>
14+
<maven.compiler.target>8</maven.compiler.target>
15+
<weblogic.plugin.version>10.3.6.0</weblogic.plugin.version>
16+
</properties>
17+
18+
<dependencies>
19+
<dependency>
20+
<groupId>javax.servlet</groupId>
21+
<artifactId>javax.servlet-api</artifactId>
22+
<version>3.1.0</version>
23+
<scope>provided</scope>
24+
</dependency>
25+
</dependencies>
26+
27+
<build>
28+
<plugins>
29+
<plugin>
30+
<artifactId>maven-war-plugin</artifactId>
31+
<version>3.4.0</version>
32+
<configuration>
33+
<failOnMissingWebXml>false</failOnMissingWebXml>
34+
</configuration>
35+
</plugin>
36+
<plugin>
37+
<groupId>com.oracle.weblogic</groupId>
38+
<artifactId>weblogic-maven-plugin</artifactId>
39+
<version>${weblogic.plugin.version}</version>
40+
<configuration>
41+
<adminurl>t3://localhost:7001</adminurl>
42+
<user>weblogic</user>
43+
<password>Welcome1</password>
44+
<source>${project.build.directory}/${project.build.finalName}.war</source>
45+
<targets>AdminServer</targets>
46+
<name>${project.artifactId}</name>
47+
</configuration>
48+
</plugin>
49+
</plugins>
50+
</build>
51+
52+
</project>
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package com.example.weblogicdemo;
2+
3+
import java.io.IOException;
4+
import javax.servlet.annotation.WebServlet;
5+
import javax.servlet.http.HttpServlet;
6+
import javax.servlet.http.HttpServletRequest;
7+
import javax.servlet.http.HttpServletResponse;
8+
9+
@WebServlet(urlPatterns = "/hello")
10+
public class HelloServlet extends HttpServlet {
11+
@Override
12+
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
13+
resp.setContentType("text/plain; charset=UTF-8");
14+
resp.getWriter().println("Hello from WebLogic WAR!");
15+
}
16+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<weblogic-web-app
3+
xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app"
4+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
5+
xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-web-app
6+
http://xmlns.oracle.com/weblogic/weblogic-web-app/1.9/weblogic-web-app.xsd">
7+
8+
<context-root>/weblogic-app</context-root>
9+
</weblogic-web-app>
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<%@ page contentType="text/html; charset=UTF-8" %>
2+
<!doctype html>
3+
<html>
4+
<head><title>WebLogic Demo</title></head>
5+
<body>
6+
<h1>WebLogic Demo</h1>
7+
<p>Try: <a href="hello">/hello</a></p>
8+
</body>
9+
</html>
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
<project xmlns="http://maven.apache.org/POM/4.0.0"
2+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
4+
http://maven.apache.org/xsd/maven-4.0.0.xsd">
5+
<modelVersion>4.0.0</modelVersion>
6+
7+
<groupId>com.example</groupId>
8+
<artifactId>websphere-app</artifactId>
9+
<version>1.0.0</version>
10+
<packaging>war</packaging>
11+
12+
<properties>
13+
<maven.compiler.source>8</maven.compiler.source>
14+
<maven.compiler.target>8</maven.compiler.target>
15+
<websphere.api.version>1.1.108</websphere.api.version>
16+
</properties>
17+
18+
<dependencies>
19+
<dependency>
20+
<groupId>com.ibm.websphere.appserver.api</groupId>
21+
<artifactId>com.ibm.websphere.appserver.api.servlet</artifactId>
22+
<version>${websphere.api.version}</version>
23+
<scope>provided</scope>
24+
</dependency>
25+
<dependency>
26+
<groupId>javax.servlet</groupId>
27+
<artifactId>javax.servlet-api</artifactId>
28+
<version>4.0.1</version>
29+
<scope>provided</scope>
30+
</dependency>
31+
</dependencies>
32+
33+
<build>
34+
<plugins>
35+
<plugin>
36+
<artifactId>maven-war-plugin</artifactId>
37+
<version>3.4.0</version>
38+
<configuration>
39+
<failOnMissingWebXml>false</failOnMissingWebXml>
40+
</configuration>
41+
</plugin>
42+
</plugins>
43+
</build>
44+
</project>
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package com.example.websphereapp;
2+
3+
import java.io.IOException;
4+
import javax.servlet.annotation.WebServlet;
5+
import javax.servlet.http.HttpServlet;
6+
import javax.servlet.http.HttpServletRequest;
7+
import javax.servlet.http.HttpServletResponse;
8+
9+
@WebServlet(urlPatterns = "/hello")
10+
public class HelloServlet extends HttpServlet {
11+
@Override
12+
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
13+
resp.setContentType("text/plain; charset=UTF-8");
14+
resp.getWriter().println("Hello from websphere-app!");
15+
}
16+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<%@ page contentType="text/html; charset=UTF-8" %>
2+
<!doctype html>
3+
<html>
4+
<head><title>websphere-app</title></head>
5+
<body>
6+
<h1>websphere-app</h1>
7+
<p>Try: <a href="hello">/hello</a></p>
8+
</body>
9+
</html>

0 commit comments

Comments
 (0)