chooj
This commit is contained in:
parent
99ef660e5c
commit
b7789f0ce8
14 changed files with 304 additions and 0 deletions
29
Soap/.gitignore
vendored
Normal file
29
Soap/.gitignore
vendored
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
### IntelliJ IDEA ###
|
||||
out/
|
||||
!**/src/main/**/out/
|
||||
!**/src/test/**/out/
|
||||
|
||||
### Eclipse ###
|
||||
.apt_generated
|
||||
.classpath
|
||||
.factorypath
|
||||
.project
|
||||
.settings
|
||||
.springBeans
|
||||
.sts4-cache
|
||||
bin/
|
||||
!**/src/main/**/bin/
|
||||
!**/src/test/**/bin/
|
||||
|
||||
### NetBeans ###
|
||||
/nbproject/private/
|
||||
/nbbuild/
|
||||
/dist/
|
||||
/nbdist/
|
||||
/.nb-gradle/
|
||||
|
||||
### VS Code ###
|
||||
.vscode/
|
||||
|
||||
### Mac OS ###
|
||||
.DS_Store
|
||||
8
Soap/.idea/.gitignore
vendored
Normal file
8
Soap/.idea/.gitignore
vendored
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
# Default ignored files
|
||||
/shelf/
|
||||
/workspace.xml
|
||||
# Editor-based HTTP Client requests
|
||||
/httpRequests/
|
||||
# Datasource local storage ignored files
|
||||
/dataSources/
|
||||
/dataSources.local.xml
|
||||
10
Soap/.idea/libraries/javax_jws_api.xml
Normal file
10
Soap/.idea/libraries/javax_jws_api.xml
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
<component name="libraryTable">
|
||||
<library name="javax.jws.api" type="repository">
|
||||
<properties maven-id="javax.jws:javax.jws-api:1.1" />
|
||||
<CLASSES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/javax/jws/javax.jws-api/1.1/javax.jws-api-1.1.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
</library>
|
||||
</component>
|
||||
14
Soap/.idea/libraries/javax_xml_ws_jaxws_api.xml
Normal file
14
Soap/.idea/libraries/javax_xml_ws_jaxws_api.xml
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
<component name="libraryTable">
|
||||
<library name="javax.xml.ws.jaxws.api" type="repository">
|
||||
<properties maven-id="javax.xml.ws:jaxws-api:2.3.1" />
|
||||
<CLASSES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/javax/xml/ws/jaxws-api/2.3.1/jaxws-api-2.3.1.jar!/" />
|
||||
<root url="jar://$MAVEN_REPOSITORY$/javax/xml/bind/jaxb-api/2.3.1/jaxb-api-2.3.1.jar!/" />
|
||||
<root url="jar://$MAVEN_REPOSITORY$/javax/activation/javax.activation-api/1.2.0/javax.activation-api-1.2.0.jar!/" />
|
||||
<root url="jar://$MAVEN_REPOSITORY$/javax/xml/soap/javax.xml.soap-api/1.4.0/javax.xml.soap-api-1.4.0.jar!/" />
|
||||
<root url="jar://$MAVEN_REPOSITORY$/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
</library>
|
||||
</component>
|
||||
29
Soap/.idea/libraries/sun_xml_ws_rt.xml
Normal file
29
Soap/.idea/libraries/sun_xml_ws_rt.xml
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
<component name="libraryTable">
|
||||
<library name="sun.xml.ws.rt" type="repository">
|
||||
<properties maven-id="com.sun.xml.ws:rt:2.3.3" />
|
||||
<CLASSES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/com/sun/xml/ws/rt/2.3.3/rt-2.3.3.jar!/" />
|
||||
<root url="jar://$MAVEN_REPOSITORY$/com/sun/xml/ws/policy/2.7.10/policy-2.7.10.jar!/" />
|
||||
<root url="jar://$MAVEN_REPOSITORY$/com/sun/xml/bind/jaxb-impl/2.3.3/jaxb-impl-2.3.3.jar!/" />
|
||||
<root url="jar://$MAVEN_REPOSITORY$/org/glassfish/ha/ha-api/3.1.12/ha-api-3.1.12.jar!/" />
|
||||
<root url="jar://$MAVEN_REPOSITORY$/org/glassfish/external/management-api/3.2.2/management-api-3.2.2.jar!/" />
|
||||
<root url="jar://$MAVEN_REPOSITORY$/org/glassfish/gmbal/gmbal/4.0.1/gmbal-4.0.1.jar!/" />
|
||||
<root url="jar://$MAVEN_REPOSITORY$/org/glassfish/pfl/pfl-tf/4.1.0/pfl-tf-4.1.0.jar!/" />
|
||||
<root url="jar://$MAVEN_REPOSITORY$/org/glassfish/pfl/pfl-basic/4.1.0/pfl-basic-4.1.0.jar!/" />
|
||||
<root url="jar://$MAVEN_REPOSITORY$/org/jvnet/staxex/stax-ex/1.8.3/stax-ex-1.8.3.jar!/" />
|
||||
<root url="jar://$MAVEN_REPOSITORY$/com/sun/xml/stream/buffer/streambuffer/1.5.9/streambuffer-1.5.9.jar!/" />
|
||||
<root url="jar://$MAVEN_REPOSITORY$/org/jvnet/mimepull/mimepull/1.9.13/mimepull-1.9.13.jar!/" />
|
||||
<root url="jar://$MAVEN_REPOSITORY$/com/sun/activation/jakarta.activation/1.2.2/jakarta.activation-1.2.2.jar!/" />
|
||||
<root url="jar://$MAVEN_REPOSITORY$/com/sun/xml/messaging/saaj/saaj-impl/1.5.2/saaj-impl-1.5.2.jar!/" />
|
||||
<root url="jar://$MAVEN_REPOSITORY$/com/fasterxml/woodstox/woodstox-core/5.1.0/woodstox-core-5.1.0.jar!/" />
|
||||
<root url="jar://$MAVEN_REPOSITORY$/org/codehaus/woodstox/stax2-api/4.1/stax2-api-4.1.jar!/" />
|
||||
<root url="jar://$MAVEN_REPOSITORY$/jakarta/xml/ws/jakarta.xml.ws-api/2.3.3/jakarta.xml.ws-api-2.3.3.jar!/" />
|
||||
<root url="jar://$MAVEN_REPOSITORY$/jakarta/xml/bind/jakarta.xml.bind-api/2.3.3/jakarta.xml.bind-api-2.3.3.jar!/" />
|
||||
<root url="jar://$MAVEN_REPOSITORY$/jakarta/xml/soap/jakarta.xml.soap-api/1.4.2/jakarta.xml.soap-api-1.4.2.jar!/" />
|
||||
<root url="jar://$MAVEN_REPOSITORY$/jakarta/jws/jakarta.jws-api/2.1.0/jakarta.jws-api-2.1.0.jar!/" />
|
||||
<root url="jar://$MAVEN_REPOSITORY$/jakarta/annotation/jakarta.annotation-api/1.3.5/jakarta.annotation-api-1.3.5.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
</library>
|
||||
</component>
|
||||
6
Soap/.idea/misc.xml
Normal file
6
Soap/.idea/misc.xml
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_23" default="true" project-jdk-name="openjdk-23" project-jdk-type="JavaSDK">
|
||||
<output url="file://$PROJECT_DIR$/out" />
|
||||
</component>
|
||||
</project>
|
||||
8
Soap/.idea/modules.xml
Normal file
8
Soap/.idea/modules.xml
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/Soap.iml" filepath="$PROJECT_DIR$/Soap.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
</project>
|
||||
6
Soap/.idea/vcs.xml
Normal file
6
Soap/.idea/vcs.xml
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="$PROJECT_DIR$/.." vcs="Git" />
|
||||
</component>
|
||||
</project>
|
||||
14
Soap/Soap.iml
Normal file
14
Soap/Soap.iml
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="JAVA_MODULE" version="4">
|
||||
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
||||
<exclude-output />
|
||||
<content url="file://$MODULE_DIR$">
|
||||
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
|
||||
</content>
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
<orderEntry type="library" name="javax.jws.api" level="project" />
|
||||
<orderEntry type="library" name="javax.xml.ws.jaxws.api" level="project" />
|
||||
<orderEntry type="library" name="sun.xml.ws.rt" level="project" />
|
||||
</component>
|
||||
</module>
|
||||
15
Soap/src/Main.java
Normal file
15
Soap/src/Main.java
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
//TIP To <b>Run</b> code, press <shortcut actionId="Run"/> or
|
||||
// click the <icon src="AllIcons.Actions.Execute"/> icon in the gutter.
|
||||
public class Main {
|
||||
public static void main(String[] args) {
|
||||
//TIP Press <shortcut actionId="ShowIntentionActions"/> with your caret at the highlighted text
|
||||
// to see how IntelliJ IDEA suggests fixing it.
|
||||
System.out.printf("Hello and welcome!");
|
||||
|
||||
for (int i = 1; i <= 5; i++) {
|
||||
//TIP Press <shortcut actionId="Debug"/> to start debugging your code. We have set one <icon src="AllIcons.Debugger.Db_set_breakpoint"/> breakpoint
|
||||
// for you, but you can always add more by pressing <shortcut actionId="ToggleLineBreakpoint"/>.
|
||||
System.out.println("i = " + i);
|
||||
}
|
||||
}
|
||||
}
|
||||
49
Soap/src/com/soapsoapsoap/User.java
Normal file
49
Soap/src/com/soapsoapsoap/User.java
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
package com.soapsoapsoap;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class User {
|
||||
private int id;
|
||||
private String name;
|
||||
private String email;
|
||||
private Map<String, Double> scores;
|
||||
|
||||
public User(int id, String name, String email) {
|
||||
this.id = id;
|
||||
this.name = name;
|
||||
this.email = email;
|
||||
this.scores = new HashMap<>();
|
||||
}
|
||||
|
||||
public int getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public String getEmail() {
|
||||
return email;
|
||||
}
|
||||
|
||||
public Map<String, Double> getScores() {
|
||||
return scores;
|
||||
}
|
||||
|
||||
public void addScore(String activity, double score) {
|
||||
scores.put(activity, score);
|
||||
}
|
||||
|
||||
public double calculateAverageScore() {
|
||||
if (scores.isEmpty()) {
|
||||
return 0.0;
|
||||
}
|
||||
double sum = 0;
|
||||
for (double score : scores.values()) {
|
||||
sum += score;
|
||||
}
|
||||
return sum / scores.size();
|
||||
}
|
||||
}
|
||||
18
Soap/src/com/soapsoapsoap/UserSOAPService.java
Normal file
18
Soap/src/com/soapsoapsoap/UserSOAPService.java
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
package com.soapsoapsoap;
|
||||
|
||||
import javax.jws.WebMethod;
|
||||
import javax.jws.WebService;
|
||||
import javax.jws.soap.SOAPBinding;
|
||||
import javax.jws.soap.SOAPBinding.Style;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
@WebService
|
||||
@SOAPBinding(style = Style.RPC)
|
||||
public interface UserSOAPService {
|
||||
@WebMethod String[] getUsersList();
|
||||
@WebMethod String getUserById(int id);
|
||||
@WebMethod double calculateAverageScore(int userId);
|
||||
@WebMethod boolean addScore(int userId, String activity, double score);
|
||||
@WebMethod String[] findActivitiesByScore(String minScoreOperator, double minScore);
|
||||
}
|
||||
89
Soap/src/com/soapsoapsoap/UserSOAPServiceImpl.java
Normal file
89
Soap/src/com/soapsoapsoap/UserSOAPServiceImpl.java
Normal file
|
|
@ -0,0 +1,89 @@
|
|||
package com.soapsoapsoap;
|
||||
|
||||
import javax.jws.WebService;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@WebService(endpointInterface = "com.soapsoapsoap.UserSOAPService")
|
||||
public class UserSOAPServiceImpl implements UserSOAPService {
|
||||
private static Map<Integer, User> usersDb = new HashMap<>();
|
||||
|
||||
static {
|
||||
initializeData();
|
||||
}
|
||||
|
||||
private static void initializeData() {
|
||||
User u1 = new User(1, "Foo", "foo@example.com");
|
||||
u1.addScore("Activity 1", 80.5);
|
||||
u1.addScore("Activity 2", 90.0);
|
||||
u1.addScore("Activity 3", 75.0);
|
||||
|
||||
User u2 = new User(2, "Bar", "bar@example.com");
|
||||
u2.addScore("Activity 1", 65.5);
|
||||
u2.addScore("Activity 2", 70.0);
|
||||
u2.addScore("Activity 3", 85.0);
|
||||
|
||||
User u3 = new User(3, "Baz", "baz@example.com");
|
||||
u3.addScore("Activity 1", 95.0);
|
||||
u3.addScore("Activity 2", 85.5);
|
||||
u3.addScore("Activity 3", 80.0);
|
||||
|
||||
usersDb.put(u1.getId(), u1);
|
||||
usersDb.put(u2.getId(), u2);
|
||||
usersDb.put(u3.getId(), u3);
|
||||
}
|
||||
|
||||
public String[] getUsersList() {
|
||||
List<String> result = new ArrayList<>();
|
||||
for (User user : usersDb.values()) {
|
||||
result.add(user.getId() + ": " + user.getName() + " (" + user.getEmail() + ")");
|
||||
}
|
||||
return result.toArray(new String[0]);
|
||||
}
|
||||
|
||||
public String getUserById(int id) {
|
||||
User user = usersDb.get(id);
|
||||
if (user != null) {
|
||||
StringBuilder scoresStr = new StringBuilder();
|
||||
for (Map.Entry<String, Double> entry : user.getScores().entrySet()) {
|
||||
scoresStr.append(entry.getKey()).append(": ").append(entry.getValue()).append(", ");
|
||||
}
|
||||
return "ID: " + user.getId() + ", Name: " + user.getName() + ", Email: " + user.getEmail() + ", Scores: " + scoresStr.toString();
|
||||
}
|
||||
return "User not found";
|
||||
}
|
||||
|
||||
public double calculateAverageScore(int userId) {
|
||||
User user = usersDb.get(userId);
|
||||
if (user != null) {
|
||||
return user.calculateAverageScore();
|
||||
}
|
||||
return 0.0;
|
||||
}
|
||||
|
||||
public boolean addScore(int userId, String activity, double score) {
|
||||
User user = usersDb.get(userId);
|
||||
if (user != null) {
|
||||
user.addScore(activity, score);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public String[] findActivitiesByScore(String minScoreOperator, double minScore) {
|
||||
List<String> results = new ArrayList<>();
|
||||
for (User user : usersDb.values()) {
|
||||
for (Map.Entry<String, Double> entry : user.getScores().entrySet()) {
|
||||
double score = entry.getValue();
|
||||
if ((">".equals(minScoreOperator) && score > minScore) ||
|
||||
(">=".equals(minScoreOperator) && score >= minScore) ||
|
||||
("=".equals(minScoreOperator) && score == minScore)) {
|
||||
results.add(entry.getKey() + ": " + score + " (User: " + user.getName() + ")");
|
||||
}
|
||||
}
|
||||
}
|
||||
return results.toArray(new String[0]);
|
||||
}
|
||||
}
|
||||
9
Soap/src/com/soapsoapsoap/UserSOAPServicePublisher.java
Normal file
9
Soap/src/com/soapsoapsoap/UserSOAPServicePublisher.java
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
package com.soapsoapsoap;
|
||||
|
||||
import javax.xml.ws.Endpoint;
|
||||
|
||||
public class UserSOAPServicePublisher {
|
||||
public static void main(String[] args) {
|
||||
Endpoint.publish("http://localhost:7779/ws/user", new UserSOAPServiceImpl());
|
||||
}
|
||||
}
|
||||
Loading…
Reference in a new issue