Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
2
20240528-BJava
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Patryk Czarnik
20240528-BJava
Commits
2de3211a
Commit
2de3211a
authored
Jun 13, 2024
by
Patryk Czarnik
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Adnotacje JAXB
parent
db45575f
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
54 additions
and
8 deletions
+54
-8
Order.java
PC25-SoapSerwer/src/main/java/sklep/model/Order.java
+13
-3
OrderProduct.java
PC25-SoapSerwer/src/main/java/sklep/model/OrderProduct.java
+6
-0
Product.java
PC25-SoapSerwer/src/main/java/sklep/model/Product.java
+5
-0
package-info.java
PC25-SoapSerwer/src/main/java/sklep/model/package-info.java
+6
-0
Sklep.java
PC25-SoapSerwer/src/main/java/sklep/soap/Sklep.java
+24
-5
No files found.
PC25-SoapSerwer/src/main/java/sklep/model/Order.java
View file @
2de3211a
package
sklep
.
model
;
import
jakarta.xml.bind.annotation.XmlAttribute
;
import
jakarta.xml.bind.annotation.XmlElement
;
import
jakarta.xml.bind.annotation.XmlElementWrapper
;
import
java.time.LocalDateTime
;
import
java.util.ArrayList
;
import
java.util.Collection
;
...
...
@@ -8,14 +12,20 @@ import java.util.List;
import
java.util.Objects
;
public
class
Order
{
@XmlAttribute
(
name
=
"id"
)
private
Integer
orderId
;
@XmlElement
(
name
=
"customer-email"
)
private
String
customerEmail
;
@XmlElement
(
name
=
"order-date"
)
private
LocalDateTime
orderDate
;
@XmlAttribute
(
name
=
"status"
)
private
Status
orderStatus
;
@XmlElementWrapper
(
name
=
"products"
)
@XmlElement
(
name
=
"product"
)
public
final
List
<
OrderProduct
>
products
=
new
ArrayList
<>();
public
Order
()
{
...
...
@@ -46,9 +56,9 @@ public class Order {
return
customerEmail
;
}
public
void
setCustomerEmail
(
String
customerEmail
)
{
this
.
customerEmail
=
customerEmail
;
}
//
public void setCustomerEmail(String customerEmail) {
//
this.customerEmail = customerEmail;
//
}
public
LocalDateTime
getOrderDate
()
{
return
orderDate
;
...
...
PC25-SoapSerwer/src/main/java/sklep/model/OrderProduct.java
View file @
2de3211a
package
sklep
.
model
;
import
jakarta.xml.bind.annotation.XmlAttribute
;
import
jakarta.xml.bind.annotation.XmlElement
;
import
java.math.BigDecimal
;
import
java.util.Objects
;
public
class
OrderProduct
{
@XmlAttribute
(
name
=
"order-id"
)
private
Integer
orderId
;
@XmlAttribute
(
name
=
"product-id"
)
private
Integer
productId
;
private
int
quantity
;
@XmlElement
(
name
=
"price"
)
private
BigDecimal
actualPrice
;
public
OrderProduct
()
{
...
...
PC25-SoapSerwer/src/main/java/sklep/model/Product.java
View file @
2de3211a
package
sklep
.
model
;
import
jakarta.xml.bind.annotation.XmlAttribute
;
import
jakarta.xml.bind.annotation.XmlElement
;
import
java.math.BigDecimal
;
import
java.util.Objects
;
public
class
Product
{
@XmlAttribute
(
name
=
"id"
)
private
Integer
productId
;
@XmlElement
(
name
=
"product-name"
)
private
String
productName
;
private
BigDecimal
price
;
private
BigDecimal
vat
;
...
...
PC25-SoapSerwer/src/main/java/sklep/model/package-info.java
0 → 100644
View file @
2de3211a
@XmlAccessorType
(
XmlAccessType
.
FIELD
)
package
sklep
.
model
;
import
jakarta.xml.bind.annotation.XmlAccessType
;
import
jakarta.xml.bind.annotation.XmlAccessorType
;
\ No newline at end of file
PC25-SoapSerwer/src/main/java/sklep/soap/Sklep.java
View file @
2de3211a
...
...
@@ -3,15 +3,17 @@ package sklep.soap;
import
jakarta.jws.WebParam
;
import
jakarta.jws.WebResult
;
import
jakarta.jws.WebService
;
import
sklep.db.DBConnection
;
import
sklep.db.DBException
;
import
sklep.db.ProductDAO
;
import
sklep.db.RecordNotFound
;
import
sklep.model.Product
;
import
sklep.db.*
;
import
sklep.model.*
;
import
java.math.BigDecimal
;
import
java.util.List
;
// JAX-WS - Usługi SOAP w Javie
// JAXB ("XML Binding") - mapowanie obiektów Java na fragmenty XML
// Jeśli chcemy wpłynąć na postać XML, który powstaje z obiektów, to w klasach modelu należy dodać adnotacje JAXB
// @XmlElement, @XmlValue ...
@WebService
public
class
Sklep
{
...
...
@@ -46,4 +48,21 @@ public class Sklep {
db
.
commit
();
}
}
@WebResult
(
name
=
"customer"
)
public
Customer
oneCustomer
(
@WebParam
(
name
=
"email"
)
String
email
)
throws
DBException
,
RecordNotFound
{
try
(
DBConnection
db
=
DBConnection
.
open
())
{
CustomerDAO
customerDAO
=
db
.
customerDAO
();
return
customerDAO
.
findByEmail
(
email
);
}
}
@WebResult
(
name
=
"order"
)
public
Order
oneOrder
(
@WebParam
(
name
=
"id"
)
int
orderId
)
throws
DBException
,
RecordNotFound
{
try
(
DBConnection
db
=
DBConnection
.
open
())
{
OrderDAO
orderDAO
=
db
.
orderDAO
();
return
orderDAO
.
findById
(
orderId
);
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment