This is an automated email from the ASF dual-hosted git repository.

doebele pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/empire-db.git


The following commit(s) were added to refs/heads/master by this push:
     new c1f726c6 EMPIREDB-431 junit: replace deprecated functions
c1f726c6 is described below

commit c1f726c67d67c84d0913d2ebf74743a4762271ad
Author: Rainer Döbele <[email protected]>
AuthorDate: Thu Nov 14 22:11:05 2024 +0100

    EMPIREDB-431
    junit: replace deprecated functions
---
 .../org/apache/empire/db/AliasExpressionTest.java  | 80 ++++++++++----------
 .../apache/empire/db/CoalesceExpressionTest.java   | 48 ++++++------
 .../apache/empire/db/FunctionExpressionTest.java   | 88 +++++++++++-----------
 3 files changed, 108 insertions(+), 108 deletions(-)

diff --git 
a/empire-db/src/test/java/org/apache/empire/db/AliasExpressionTest.java 
b/empire-db/src/test/java/org/apache/empire/db/AliasExpressionTest.java
index 3fbb84ce..d8ab29bc 100644
--- a/empire-db/src/test/java/org/apache/empire/db/AliasExpressionTest.java
+++ b/empire-db/src/test/java/org/apache/empire/db/AliasExpressionTest.java
@@ -19,6 +19,8 @@
 
 package org.apache.empire.db;
 
+import static org.junit.Assert.assertEquals;
+
 import java.util.List;
 
 import org.apache.empire.commons.DateUtils;
@@ -30,8 +32,6 @@ import org.apache.empire.db.context.DBContextStatic;
 import org.apache.empire.db.expr.compare.DBCompareExpr;
 import org.junit.Test;
 
-import junit.framework.Assert;
-
 /**
  * @author rainer
  * @since 23.01.22
@@ -61,12 +61,12 @@ public class AliasExpressionTest
         // Table Record
         DBRecord record = new DBRecord(context, t);
         int textIndex = record.getFieldIndex(t.C_TEXT);
-        Assert.assertEquals(record.getFieldIndex(ALIAS_1), textIndex);
-        Assert.assertEquals(record.getFieldIndex(ALIAS_2), textIndex);
-        Assert.assertEquals(record.getFieldIndex(ALIAS_2_NEW), textIndex);
-        Assert.assertEquals(record.getFieldIndex(ALIAS_X), textIndex);
+        assertEquals(record.getFieldIndex(ALIAS_1), textIndex);
+        assertEquals(record.getFieldIndex(ALIAS_2), textIndex);
+        assertEquals(record.getFieldIndex(ALIAS_2_NEW), textIndex);
+        assertEquals(record.getFieldIndex(ALIAS_X), textIndex);
         int numberIndex = record.getFieldIndex(t.C_NUMBER);
-        Assert.assertEquals(record.getFieldIndex(AMOUNT), numberIndex);
+        assertEquals(record.getFieldIndex(AMOUNT), numberIndex);
         
         /*
          * (updated 2024-07-18 EMPIREDB-434)
@@ -80,9 +80,9 @@ public class AliasExpressionTest
         cmd.select(db.getValueExpr(DateUtils.getDateNow(), 
DataType.DATE).as(t.C_DATE)); // date as constant
         DBColumnExpr[] expr = cmd.getSelectExprList();
         // Hint: ALIAS_2_NEU is not a separate column
-        Assert.assertEquals(expr.length, 8);
+        assertEquals(expr.length, 8);
         String exprNames = StringUtils.arrayToString(expr, 
StringUtils.LIST_TEMPLATE);
-        Assert.assertEquals(exprNames, 
"[testtable_id|testtable.id|ALIAS_1|testtable.TEXT|ALIAS_2|AMOUNT|testtable.NUMBER|DATE]");
+        assertEquals(exprNames, 
"[testtable_id|testtable.id|ALIAS_1|testtable.TEXT|ALIAS_2|AMOUNT|testtable.NUMBER|DATE]");
         // where
         cmd.where(ALIAS_1.isNot("Foo1"));
         cmd.where(ALIAS_2.isNot("Foo2"));
@@ -90,35 +90,35 @@ public class AliasExpressionTest
         cmd.where(ALIAS_X.isNot("Foo4"));
         // System.out.println(cmd.getSelect());
         List<DBCompareExpr> list = cmd.getWhereConstraints();
-        Assert.assertEquals(list.size(), 1);
+        assertEquals(list.size(), 1);
 
         // Query Record
         DBQuery q = new DBQuery(cmd);
         record = new DBRecord(context, q);
-        Assert.assertEquals(record.getFieldIndex("testtable_id"), 0);
-        Assert.assertEquals(record.getFieldIndex(t.C_ID), 1);
-        Assert.assertEquals(record.getFieldIndex(ALIAS_1), 2);
-        Assert.assertEquals(record.getFieldIndex(t.C_TEXT), 3);
-        Assert.assertEquals(record.getFieldIndex(ALIAS_2), 4);
-        Assert.assertEquals(record.getFieldIndex(ALIAS_2_NEW), 4);
-        Assert.assertEquals(record.getFieldIndex(ALIAS_X), 3);
-        Assert.assertEquals(record.getFieldIndex(AMOUNT), 5);
-        Assert.assertEquals(record.getFieldIndex(t.C_NUMBER), 6);
-        Assert.assertEquals(record.getFieldIndex(t.C_DATE), 7);
+        assertEquals(record.getFieldIndex("testtable_id"), 0);
+        assertEquals(record.getFieldIndex(t.C_ID), 1);
+        assertEquals(record.getFieldIndex(ALIAS_1), 2);
+        assertEquals(record.getFieldIndex(t.C_TEXT), 3);
+        assertEquals(record.getFieldIndex(ALIAS_2), 4);
+        assertEquals(record.getFieldIndex(ALIAS_2_NEW), 4);
+        assertEquals(record.getFieldIndex(ALIAS_X), 3);
+        assertEquals(record.getFieldIndex(AMOUNT), 5);
+        assertEquals(record.getFieldIndex(t.C_NUMBER), 6);
+        assertEquals(record.getFieldIndex(t.C_DATE), 7);
 
         // Reader 
         DBReader reader = new MyReader(context);
         reader.open(cmd);
-        Assert.assertEquals(reader.getFieldIndex("testtable_id"), 0);
-        Assert.assertEquals(reader.getFieldIndex(t.C_ID), 1);
-        Assert.assertEquals(reader.getFieldIndex(ALIAS_1), 2);
-        Assert.assertEquals(reader.getFieldIndex(t.C_TEXT), 3);
-        Assert.assertEquals(reader.getFieldIndex(ALIAS_2), 4);
-        Assert.assertEquals(reader.getFieldIndex(ALIAS_2_NEW), 4);
-        Assert.assertEquals(reader.getFieldIndex(ALIAS_X), 3);
-        Assert.assertEquals(reader.getFieldIndex(AMOUNT), 5);
-        Assert.assertEquals(reader.getFieldIndex(t.C_NUMBER), 6);
-        Assert.assertEquals(reader.getFieldIndex(t.C_DATE), 7);
+        assertEquals(reader.getFieldIndex("testtable_id"), 0);
+        assertEquals(reader.getFieldIndex(t.C_ID), 1);
+        assertEquals(reader.getFieldIndex(ALIAS_1), 2);
+        assertEquals(reader.getFieldIndex(t.C_TEXT), 3);
+        assertEquals(reader.getFieldIndex(ALIAS_2), 4);
+        assertEquals(reader.getFieldIndex(ALIAS_2_NEW), 4);
+        assertEquals(reader.getFieldIndex(ALIAS_X), 3);
+        assertEquals(reader.getFieldIndex(AMOUNT), 5);
+        assertEquals(reader.getFieldIndex(t.C_NUMBER), 6);
+        assertEquals(reader.getFieldIndex(t.C_DATE), 7);
         reader.close();
         
         // DataListEntry
@@ -127,16 +127,16 @@ public class AliasExpressionTest
         for (int i=0; i<values.length; i++)
             values[i] = head.getColumns()[i].getName();
         DataListEntry dle = new DataListEntry(head, values);
-        Assert.assertEquals(dle.getFieldIndex("testtable_id"), 0);
-        Assert.assertEquals(dle.getFieldIndex(t.C_ID), 1);
-        Assert.assertEquals(dle.getFieldIndex(ALIAS_1), 2);
-        Assert.assertEquals(dle.getFieldIndex(t.C_TEXT), 3);
-        Assert.assertEquals(dle.getFieldIndex(ALIAS_2), 4);
-        Assert.assertEquals(dle.getFieldIndex(ALIAS_2_NEW), 4);
-        Assert.assertEquals(dle.getFieldIndex(ALIAS_X), 3);
-        Assert.assertEquals(dle.getFieldIndex(AMOUNT), 5);
-        Assert.assertEquals(dle.getFieldIndex(t.C_NUMBER), 6);
-        Assert.assertEquals(dle.getFieldIndex(t.C_DATE), 7);
+        assertEquals(dle.getFieldIndex("testtable_id"), 0);
+        assertEquals(dle.getFieldIndex(t.C_ID), 1);
+        assertEquals(dle.getFieldIndex(ALIAS_1), 2);
+        assertEquals(dle.getFieldIndex(t.C_TEXT), 3);
+        assertEquals(dle.getFieldIndex(ALIAS_2), 4);
+        assertEquals(dle.getFieldIndex(ALIAS_2_NEW), 4);
+        assertEquals(dle.getFieldIndex(ALIAS_X), 3);
+        assertEquals(dle.getFieldIndex(AMOUNT), 5);
+        assertEquals(dle.getFieldIndex(t.C_NUMBER), 6);
+        assertEquals(dle.getFieldIndex(t.C_DATE), 7);
 
         // done
     }
diff --git 
a/empire-db/src/test/java/org/apache/empire/db/CoalesceExpressionTest.java 
b/empire-db/src/test/java/org/apache/empire/db/CoalesceExpressionTest.java
index 6cf1cd3d..e41c7646 100644
--- a/empire-db/src/test/java/org/apache/empire/db/CoalesceExpressionTest.java
+++ b/empire-db/src/test/java/org/apache/empire/db/CoalesceExpressionTest.java
@@ -19,6 +19,8 @@
 
 package org.apache.empire.db;
 
+import static org.junit.Assert.assertEquals;
+
 import java.util.List;
 
 import org.apache.empire.data.DataType;
@@ -28,8 +30,6 @@ import org.apache.empire.db.context.DBContextStatic;
 import org.apache.empire.db.expr.compare.DBCompareExpr;
 import org.junit.Test;
 
-import junit.framework.Assert;
-
 /**
  * @author rainer
  * @since 23.01.22
@@ -54,23 +54,23 @@ public class CoalesceExpressionTest
         DBColumnExpr AMOUNT = t.C_NUMBER.coalesce(5);
         
         String propName = t.C_TEXT.getBeanPropertyName();
-        Assert.assertEquals(COALESCE_1.getBeanPropertyName(), propName);
+        assertEquals(COALESCE_1.getBeanPropertyName(), propName);
         propName = t.C_NUMBER.getBeanPropertyName();
-        Assert.assertEquals(AMOUNT.getBeanPropertyName(), propName);
+        assertEquals(AMOUNT.getBeanPropertyName(), propName);
 
         // Table Record
         DBRecord record = new DBRecord(context, t);
         int textIndex = record.getFieldIndex(t.C_TEXT);
-        Assert.assertEquals(record.getFieldIndex(COALESCE_1), textIndex);
-        Assert.assertEquals(record.getFieldIndex(COALESCE_2), textIndex);
+        assertEquals(record.getFieldIndex(COALESCE_1), textIndex);
+        assertEquals(record.getFieldIndex(COALESCE_2), textIndex);
         int numberIndex = record.getFieldIndex(t.C_NUMBER);
-        Assert.assertEquals(record.getFieldIndex(AMOUNT), numberIndex);
+        assertEquals(record.getFieldIndex(AMOUNT), numberIndex);
         
         DBCommand cmd = context.createCommand();
         cmd.select(COALESCE_1, t.C_TEXT, COALESCE_2, AMOUNT); /* Don't select 
COALESCE_2 */
         DBColumnExpr[] expr = cmd.getSelectExprList();
         // Hint: COALESCE_2_NEU is not a separate column
-        Assert.assertEquals(expr.length, 3);
+        assertEquals(expr.length, 3);
         // where
         cmd.where(COALESCE_1.is("Foo1"));
         cmd.where(COALESCE_2.is("Foo2"));
@@ -79,25 +79,25 @@ public class CoalesceExpressionTest
         cmd.where(t.C_NUMBER.coalesce(7).is(3));
         // System.out.println(cmd.getSelect());
         List<DBCompareExpr> list = cmd.getWhereConstraints();
-        Assert.assertEquals(list.size(), 2);
+        assertEquals(list.size(), 2);
 
         // Query Record
         DBQuery q = new DBQuery(cmd);
         record = new DBRecord(context, q);
-        Assert.assertEquals(record.getFieldIndex(t.C_TEXT), 1);
-        Assert.assertEquals(record.getFieldIndex(COALESCE_1), 0);
-        Assert.assertEquals(record.getFieldIndex(COALESCE_2), 0);
-        Assert.assertEquals(record.getFieldIndex(AMOUNT), 2);
-        Assert.assertEquals(record.getFieldIndex(t.C_NUMBER), 2);
+        assertEquals(record.getFieldIndex(t.C_TEXT), 1);
+        assertEquals(record.getFieldIndex(COALESCE_1), 0);
+        assertEquals(record.getFieldIndex(COALESCE_2), 0);
+        assertEquals(record.getFieldIndex(AMOUNT), 2);
+        assertEquals(record.getFieldIndex(t.C_NUMBER), 2);
 
         // Reader 
         DBReader reader = new MyReader(context);
         reader.open(cmd);
-        Assert.assertEquals(reader.getFieldIndex(t.C_TEXT), 1);
-        Assert.assertEquals(reader.getFieldIndex(COALESCE_1), 0);
-        Assert.assertEquals(reader.getFieldIndex(COALESCE_2), 0);
-        Assert.assertEquals(reader.getFieldIndex(AMOUNT), 2);
-        Assert.assertEquals(reader.getFieldIndex(t.C_NUMBER), 2);
+        assertEquals(reader.getFieldIndex(t.C_TEXT), 1);
+        assertEquals(reader.getFieldIndex(COALESCE_1), 0);
+        assertEquals(reader.getFieldIndex(COALESCE_2), 0);
+        assertEquals(reader.getFieldIndex(AMOUNT), 2);
+        assertEquals(reader.getFieldIndex(t.C_NUMBER), 2);
         reader.close();
         
         // DataListEntry
@@ -106,11 +106,11 @@ public class CoalesceExpressionTest
         for (int i=0; i<values.length; i++)
             values[i] = head.getColumns()[i].getName();
         DataListEntry dle = new DataListEntry(head, values);
-        Assert.assertEquals(dle.getString(t.C_TEXT), values[1]);
-        Assert.assertEquals(dle.getString(COALESCE_1), values[0]);
-        Assert.assertEquals(dle.getString(COALESCE_2), values[0]);
-        Assert.assertEquals(dle.getString(AMOUNT), values[2]);
-        Assert.assertEquals(dle.getString(t.C_NUMBER), values[2]);
+        assertEquals(dle.getString(t.C_TEXT), values[1]);
+        assertEquals(dle.getString(COALESCE_1), values[0]);
+        assertEquals(dle.getString(COALESCE_2), values[0]);
+        assertEquals(dle.getString(AMOUNT), values[2]);
+        assertEquals(dle.getString(t.C_NUMBER), values[2]);
 
         // done
     }
diff --git 
a/empire-db/src/test/java/org/apache/empire/db/FunctionExpressionTest.java 
b/empire-db/src/test/java/org/apache/empire/db/FunctionExpressionTest.java
index b3bc2cd7..169078c3 100644
--- a/empire-db/src/test/java/org/apache/empire/db/FunctionExpressionTest.java
+++ b/empire-db/src/test/java/org/apache/empire/db/FunctionExpressionTest.java
@@ -19,6 +19,8 @@
 
 package org.apache.empire.db;
 
+import static org.junit.Assert.assertEquals;
+
 import java.util.List;
 
 import org.apache.empire.data.DataType;
@@ -28,8 +30,6 @@ import org.apache.empire.db.context.DBContextStatic;
 import org.apache.empire.db.expr.compare.DBCompareExpr;
 import org.junit.Test;
 
-import junit.framework.Assert;
-
 /**
  * @author rainer
  * @since 23.01.22
@@ -68,10 +68,10 @@ public class FunctionExpressionTest
         String name_count = NUM_COUNT_1.getName();
         String name_avg   = NUM_AVG_1.getName();
         String name_sum   = NUM_SUM_1.getName();
-        Assert.assertEquals(test_count, "TESTTABLE_COUNT");
-        Assert.assertEquals(name_count, "NUMBER_COUNT");
-        Assert.assertEquals(name_avg, "NUMBER_AVG");
-        Assert.assertEquals(name_sum, "NUMBER_SUM");
+        assertEquals(test_count, "TESTTABLE_COUNT");
+        assertEquals(name_count, "NUMBER_COUNT");
+        assertEquals(name_avg, "NUMBER_AVG");
+        assertEquals(name_sum, "NUMBER_SUM");
 
         DBCommand cmd = context.createCommand();
         cmd.select(NUMBER, TEST_COUNT, TEST_2_COUNT);
@@ -80,7 +80,7 @@ public class FunctionExpressionTest
         cmd.select(NUM_SUM_1, NUM_SUM_2, NUM_SUM_3);
         // System.out.println(cmd.getSelect());
         DBColumnExpr[] expr = cmd.getSelectExprList();
-        Assert.assertEquals(expr.length, 9);
+        assertEquals(expr.length, 9);
         // where
         cmd.where(NUM_AVG_1.isNot(0).or(NUM_SUM_1.isNot(0)).parenthesis());
         cmd.where(NUM_AVG_1.isNot(1).or(NUM_SUM_1.isNot(1)));
@@ -93,39 +93,39 @@ public class FunctionExpressionTest
         cmd.where(NUM_SUM_3.isSmallerThan(55));
         // System.out.println(cmd.getSelect());
         List<DBCompareExpr> list = cmd.getWhereConstraints();
-        Assert.assertEquals(list.size(), 6);
+        assertEquals(list.size(), 6);
 
         // Query Record
         DBQuery q = new DBQuery(cmd);
         DBRecord record = new DBRecord(context, q);
-        Assert.assertEquals(record.getFieldIndex(NUMBER), 0);
-        Assert.assertEquals(record.getFieldIndex(TEST_COUNT), 1);
-        Assert.assertEquals(record.getFieldIndex(TEST_2_COUNT), 2);
-        Assert.assertEquals(record.getFieldIndex(NUM_COUNT_1), 3);
-        Assert.assertEquals(record.getFieldIndex(NUM_COUNT_2), 3);
-        Assert.assertEquals(record.getFieldIndex(NUM_COUNT_3), 4);
-        Assert.assertEquals(record.getFieldIndex(NUM_AVG_1), 5);
-        Assert.assertEquals(record.getFieldIndex(NUM_AVG_2), 5);
-        Assert.assertEquals(record.getFieldIndex(NUM_AVG_3), 6);
-        Assert.assertEquals(record.getFieldIndex(NUM_SUM_1), 7);
-        Assert.assertEquals(record.getFieldIndex(NUM_SUM_2), 7);
-        Assert.assertEquals(record.getFieldIndex(NUM_SUM_3), 8);
+        assertEquals(record.getFieldIndex(NUMBER), 0);
+        assertEquals(record.getFieldIndex(TEST_COUNT), 1);
+        assertEquals(record.getFieldIndex(TEST_2_COUNT), 2);
+        assertEquals(record.getFieldIndex(NUM_COUNT_1), 3);
+        assertEquals(record.getFieldIndex(NUM_COUNT_2), 3);
+        assertEquals(record.getFieldIndex(NUM_COUNT_3), 4);
+        assertEquals(record.getFieldIndex(NUM_AVG_1), 5);
+        assertEquals(record.getFieldIndex(NUM_AVG_2), 5);
+        assertEquals(record.getFieldIndex(NUM_AVG_3), 6);
+        assertEquals(record.getFieldIndex(NUM_SUM_1), 7);
+        assertEquals(record.getFieldIndex(NUM_SUM_2), 7);
+        assertEquals(record.getFieldIndex(NUM_SUM_3), 8);
 
         // Reader 
         DBReader reader = new MyReader(context);
         reader.open(cmd);
-        Assert.assertEquals(reader.getFieldIndex(NUMBER), 0);
-        Assert.assertEquals(reader.getFieldIndex(TEST_COUNT), 1);
-        Assert.assertEquals(reader.getFieldIndex(TEST_2_COUNT), 2);
-        Assert.assertEquals(reader.getFieldIndex(NUM_COUNT_1), 3);
-        Assert.assertEquals(reader.getFieldIndex(NUM_COUNT_2), 3);
-        Assert.assertEquals(reader.getFieldIndex(NUM_COUNT_3), 4);
-        Assert.assertEquals(reader.getFieldIndex(NUM_AVG_1), 5);
-        Assert.assertEquals(reader.getFieldIndex(NUM_AVG_2), 5);
-        Assert.assertEquals(reader.getFieldIndex(NUM_AVG_3), 6);
-        Assert.assertEquals(reader.getFieldIndex(NUM_SUM_1), 7);
-        Assert.assertEquals(reader.getFieldIndex(NUM_SUM_2), 7);
-        Assert.assertEquals(reader.getFieldIndex(NUM_SUM_3), 8);
+        assertEquals(reader.getFieldIndex(NUMBER), 0);
+        assertEquals(reader.getFieldIndex(TEST_COUNT), 1);
+        assertEquals(reader.getFieldIndex(TEST_2_COUNT), 2);
+        assertEquals(reader.getFieldIndex(NUM_COUNT_1), 3);
+        assertEquals(reader.getFieldIndex(NUM_COUNT_2), 3);
+        assertEquals(reader.getFieldIndex(NUM_COUNT_3), 4);
+        assertEquals(reader.getFieldIndex(NUM_AVG_1), 5);
+        assertEquals(reader.getFieldIndex(NUM_AVG_2), 5);
+        assertEquals(reader.getFieldIndex(NUM_AVG_3), 6);
+        assertEquals(reader.getFieldIndex(NUM_SUM_1), 7);
+        assertEquals(reader.getFieldIndex(NUM_SUM_2), 7);
+        assertEquals(reader.getFieldIndex(NUM_SUM_3), 8);
         reader.close();
         
         // DataListEntry
@@ -134,18 +134,18 @@ public class FunctionExpressionTest
         for (int i=0; i<values.length; i++)
             values[i] = head.getColumns()[i].getName();
         DataListEntry dle = new DataListEntry(head, values);
-        Assert.assertEquals(dle.getFieldIndex(NUMBER), 0);
-        Assert.assertEquals(dle.getFieldIndex(TEST_COUNT), 1);
-        Assert.assertEquals(dle.getFieldIndex(TEST_2_COUNT), 2);
-        Assert.assertEquals(dle.getFieldIndex(NUM_COUNT_1), 3);
-        Assert.assertEquals(dle.getFieldIndex(NUM_COUNT_2), 3);
-        Assert.assertEquals(dle.getFieldIndex(NUM_COUNT_3), 4);
-        Assert.assertEquals(dle.getFieldIndex(NUM_AVG_1), 5);
-        Assert.assertEquals(dle.getFieldIndex(NUM_AVG_2), 5);
-        Assert.assertEquals(dle.getFieldIndex(NUM_AVG_3), 6);
-        Assert.assertEquals(dle.getFieldIndex(NUM_SUM_1), 7);
-        Assert.assertEquals(dle.getFieldIndex(NUM_SUM_2), 7);
-        Assert.assertEquals(dle.getFieldIndex(NUM_SUM_3), 8);
+        assertEquals(dle.getFieldIndex(NUMBER), 0);
+        assertEquals(dle.getFieldIndex(TEST_COUNT), 1);
+        assertEquals(dle.getFieldIndex(TEST_2_COUNT), 2);
+        assertEquals(dle.getFieldIndex(NUM_COUNT_1), 3);
+        assertEquals(dle.getFieldIndex(NUM_COUNT_2), 3);
+        assertEquals(dle.getFieldIndex(NUM_COUNT_3), 4);
+        assertEquals(dle.getFieldIndex(NUM_AVG_1), 5);
+        assertEquals(dle.getFieldIndex(NUM_AVG_2), 5);
+        assertEquals(dle.getFieldIndex(NUM_AVG_3), 6);
+        assertEquals(dle.getFieldIndex(NUM_SUM_1), 7);
+        assertEquals(dle.getFieldIndex(NUM_SUM_2), 7);
+        assertEquals(dle.getFieldIndex(NUM_SUM_3), 8);
 
         // done
     }

Reply via email to