Skip to content

Commit ec00b09

Browse files
authored
Add java trigger samples (#793)
* add java trigger samples * update test-java * add SqlChangeProduct type * add rest of tests * fix polling interval test
1 parent 6e64299 commit ec00b09

23 files changed

+380
-24
lines changed

samples/samples-java/pom.xml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
<dependency>
2828
<groupId>com.microsoft.azure.functions</groupId>
2929
<artifactId>azure-functions-java-library-sql</artifactId>
30-
<version>0.1.1</version>
30+
<version>2.0.0-preview</version>
3131
</dependency>
3232

3333
<dependency>
@@ -36,6 +36,12 @@
3636
<version>2.13.4.2</version>
3737
</dependency>
3838

39+
<dependency>
40+
<groupId>com.google.code.gson</groupId>
41+
<artifactId>gson</artifactId>
42+
<version>2.10.1</version>
43+
</dependency>
44+
3945
<!-- Test -->
4046
<dependency>
4147
<groupId>org.junit.jupiter</groupId>
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
/**
2+
* Copyright (c) Microsoft Corporation. All rights reserved.
3+
* Licensed under the MIT License. See License.txt in the project root for
4+
* license information.
5+
*/
6+
7+
package com.function.Common;
8+
9+
import com.google.gson.annotations.SerializedName;
10+
11+
public enum SqlChangeOperation {
12+
@SerializedName("0")
13+
Insert,
14+
@SerializedName("1")
15+
Update,
16+
@SerializedName("2")
17+
Delete
18+
}
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
/**
2+
* Copyright (c) Microsoft Corporation. All rights reserved.
3+
* Licensed under the MIT License. See License.txt in the project root for
4+
* license information.
5+
*/
6+
7+
package com.function.Common;
8+
9+
public class SqlChangeProduct {
10+
private SqlChangeOperation Operation;
11+
private Product Item;
12+
13+
public SqlChangeProduct() {
14+
}
15+
16+
public SqlChangeProduct(SqlChangeOperation operation, Product item) {
17+
this.Operation = operation;
18+
this.Item = item;
19+
}
20+
21+
public SqlChangeOperation getOperation() {
22+
return Operation;
23+
}
24+
25+
public void setOperation(SqlChangeOperation operation) {
26+
this.Operation = operation;
27+
}
28+
29+
public Product getItem() {
30+
return Item;
31+
}
32+
33+
public void setItem(Product item) {
34+
this.Item = item;
35+
}
36+
}

samples/samples-java/src/main/java/com/function/GetAndAddProducts.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import com.microsoft.azure.functions.annotation.FunctionName;
1717
import com.microsoft.azure.functions.annotation.HttpTrigger;
1818
import com.microsoft.azure.functions.sql.annotation.SQLInput;
19+
import com.microsoft.azure.functions.sql.annotation.CommandType;
1920
import com.microsoft.azure.functions.sql.annotation.SQLOutput;
2021

2122
import java.util.Optional;
@@ -36,7 +37,7 @@ public HttpResponseMessage run(
3637
@SQLInput(
3738
name = "products",
3839
commandText = "SELECT * FROM Products WHERE Cost = @Cost",
39-
commandType = "Text",
40+
commandType = CommandType.Text,
4041
parameters = "@Cost={cost}",
4142
connectionStringSetting = "SqlConnectionString")
4243
Product[] products,

samples/samples-java/src/main/java/com/function/GetProductNamesView.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import com.microsoft.azure.functions.annotation.AuthorizationLevel;
1515
import com.microsoft.azure.functions.annotation.FunctionName;
1616
import com.microsoft.azure.functions.annotation.HttpTrigger;
17+
import com.microsoft.azure.functions.sql.annotation.CommandType;
1718
import com.microsoft.azure.functions.sql.annotation.SQLInput;
1819

1920
import java.util.Optional;
@@ -30,7 +31,7 @@ public HttpResponseMessage run(
3031
@SQLInput(
3132
name = "productNames",
3233
commandText = "SELECT * FROM ProductNames",
33-
commandType = "Text",
34+
commandType = CommandType.Text,
3435
connectionStringSetting = "SqlConnectionString")
3536
ProductName[] products) {
3637

samples/samples-java/src/main/java/com/function/GetProducts.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import com.microsoft.azure.functions.annotation.AuthorizationLevel;
1515
import com.microsoft.azure.functions.annotation.FunctionName;
1616
import com.microsoft.azure.functions.annotation.HttpTrigger;
17+
import com.microsoft.azure.functions.sql.annotation.CommandType;
1718
import com.microsoft.azure.functions.sql.annotation.SQLInput;
1819

1920
import java.util.Optional;
@@ -30,7 +31,7 @@ public HttpResponseMessage run(
3031
@SQLInput(
3132
name = "products",
3233
commandText = "SELECT * FROM Products WHERE Cost = @Cost",
33-
commandType = "Text",
34+
commandType = CommandType.Text,
3435
parameters = "@Cost={cost}",
3536
connectionStringSetting = "SqlConnectionString")
3637
Product[] products) {

samples/samples-java/src/main/java/com/function/GetProductsFromTwoTables.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import com.microsoft.azure.functions.annotation.AuthorizationLevel;
1515
import com.microsoft.azure.functions.annotation.FunctionName;
1616
import com.microsoft.azure.functions.annotation.HttpTrigger;
17+
import com.microsoft.azure.functions.sql.annotation.CommandType;
1718
import com.microsoft.azure.functions.sql.annotation.SQLInput;
1819

1920
import java.util.Optional;
@@ -34,14 +35,14 @@ public HttpResponseMessage run(
3435
@SQLInput(
3536
name = "products",
3637
commandText = "SELECT * FROM Products WHERE Cost = @Cost",
37-
commandType = "Text",
38+
commandType = CommandType.Text,
3839
parameters = "@Cost={cost}",
3940
connectionStringSetting = "SqlConnectionString")
4041
Product[] products,
4142
@SQLInput(
4243
name = "productsWithIdentity",
4344
commandText = "SELECT * FROM ProductsWithIdentity WHERE Cost = @Cost",
44-
commandType = "Text",
45+
commandType = CommandType.Text,
4546
parameters = "@Cost={cost}",
4647
connectionStringSetting = "SqlConnectionString")
4748
Product[] productsWithIdentity) {

samples/samples-java/src/main/java/com/function/GetProductsNameEmpty.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import com.microsoft.azure.functions.annotation.AuthorizationLevel;
1515
import com.microsoft.azure.functions.annotation.FunctionName;
1616
import com.microsoft.azure.functions.annotation.HttpTrigger;
17+
import com.microsoft.azure.functions.sql.annotation.CommandType;
1718
import com.microsoft.azure.functions.sql.annotation.SQLInput;
1819

1920
import java.util.Optional;
@@ -30,7 +31,7 @@ public HttpResponseMessage run(
3031
@SQLInput(
3132
name = "products",
3233
commandText = "SELECT * FROM Products WHERE Cost = @Cost and Name = @Name",
33-
commandType = "Text",
34+
commandType = CommandType.Text,
3435
parameters = "@Cost={cost},@Name=",
3536
connectionStringSetting = "SqlConnectionString")
3637
Product[] products) {

samples/samples-java/src/main/java/com/function/GetProductsStoredProcedure.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import com.microsoft.azure.functions.annotation.AuthorizationLevel;
1515
import com.microsoft.azure.functions.annotation.FunctionName;
1616
import com.microsoft.azure.functions.annotation.HttpTrigger;
17+
import com.microsoft.azure.functions.sql.annotation.CommandType;
1718
import com.microsoft.azure.functions.sql.annotation.SQLInput;
1819

1920
import java.util.Optional;
@@ -30,7 +31,7 @@ public HttpResponseMessage run(
3031
@SQLInput(
3132
name = "products",
3233
commandText = "SelectProductsCost",
33-
commandType = "StoredProcedure",
34+
commandType = CommandType.StoredProcedure,
3435
parameters = "@Cost={cost}",
3536
connectionStringSetting = "SqlConnectionString")
3637
Product[] products) {

samples/samples-java/src/main/java/com/function/GetProductsStoredProcedureFromAppSetting.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import com.microsoft.azure.functions.annotation.AuthorizationLevel;
1515
import com.microsoft.azure.functions.annotation.FunctionName;
1616
import com.microsoft.azure.functions.annotation.HttpTrigger;
17+
import com.microsoft.azure.functions.sql.annotation.CommandType;
1718
import com.microsoft.azure.functions.sql.annotation.SQLInput;
1819

1920
import java.util.Optional;
@@ -30,7 +31,7 @@ public HttpResponseMessage run(
3031
@SQLInput(
3132
name = "products",
3233
commandText = "%Sp_SelectCost%",
33-
commandType = "StoredProcedure",
34+
commandType = CommandType.StoredProcedure,
3435
parameters = "@Cost=%ProductCost%",
3536
connectionStringSetting = "SqlConnectionString")
3637
Product[] products) {

0 commit comments

Comments
 (0)