diff --git a/build.gradle b/build.gradle index d754d53..54ff09b 100644 --- a/build.gradle +++ b/build.gradle @@ -23,7 +23,7 @@ repositories { dependencies { providedCompile 'javax.servlet:javax.servlet-api:3.1.0' compile 'org.slf4j:slf4j-api:1.7.21' - compile 'com.twilio.sdk:twilio:7.0.0-rc-29' + compile 'com.twilio.sdk:twilio:7.17.0' compile 'org.json:json:20160810' compile 'org.apache.commons:commons-lang3:3.0' diff --git a/classes/production/taskrouter-servlets/workspace.json b/classes/production/taskrouter-servlets/workspace.json index 674f244..a69c29d 100644 --- a/classes/production/taskrouter-servlets/workspace.json +++ b/classes/production/taskrouter-servlets/workspace.json @@ -56,7 +56,7 @@ "workflow": { "name": "Sales", "callback": "%(host)s/assignment", - "timeout": "60", + "timeout": "15", "routingConfiguration": [ { "expression": "selected_product==\"ProgrammableSMS\"", diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index ca78035..deedc7f 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index c1ff248..17d1da4 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Tue Jun 21 14:46:10 ECT 2016 +#Tue Oct 19 16:18:59 ECT 2021 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-2.3-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-3.0-bin.zip diff --git a/gradlew b/gradlew index 27309d9..9aa616c 100755 --- a/gradlew +++ b/gradlew @@ -161,4 +161,9 @@ function splitJvmOpts() { eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" +# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong +if [[ "$(uname)" == "Darwin" ]] && [[ "$HOME" == "$PWD" ]]; then + cd "$(dirname "$0")" +fi + exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" diff --git a/gradlew.bat b/gradlew.bat index f6d5974..e95643d 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -49,7 +49,6 @@ goto fail @rem Get command-line arguments, handling Windows variants if not "%OS%" == "Windows_NT" goto win9xME_args -if "%@eval[2+2]" == "4" goto 4NT_args :win9xME_args @rem Slurp the command line arguments. @@ -60,11 +59,6 @@ set _SKIP=2 if "x%~1" == "x" goto execute set CMD_LINE_ARGS=%* -goto execute - -:4NT_args -@rem Get arguments from the 4NT Shell from JP Software -set CMD_LINE_ARGS=%$ :execute @rem Setup the command line diff --git a/src/main/java/com/twilio/taskrouter/application/servlet/EnqueueServlet.java b/src/main/java/com/twilio/taskrouter/application/servlet/EnqueueServlet.java index c139270..d4b0f0a 100644 --- a/src/main/java/com/twilio/taskrouter/application/servlet/EnqueueServlet.java +++ b/src/main/java/com/twilio/taskrouter/application/servlet/EnqueueServlet.java @@ -1,10 +1,10 @@ package com.twilio.taskrouter.application.servlet; import com.twilio.taskrouter.domain.common.TwilioAppSettings; -import com.twilio.twiml.EnqueueTask; -import com.twilio.twiml.Task; import com.twilio.twiml.TwiMLException; import com.twilio.twiml.VoiceResponse; +import com.twilio.twiml.voice.Enqueue; +import com.twilio.twiml.voice.Task; import javax.inject.Inject; import javax.inject.Singleton; @@ -39,13 +39,13 @@ public void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String selectedProduct = getSelectedProduct(req); - Task task = new Task.Builder() - .data(format("{\"selected_product\": \"%s\"}", selectedProduct)) + Task task = new Task + .Builder(format("{\"selected_product\": \"%s\"}", selectedProduct)) .build(); - EnqueueTask enqueueTask = new EnqueueTask.Builder(task).workflowSid(workflowSid).build(); + Enqueue enqueue = new Enqueue.Builder().task(task).workflowSid(workflowSid).build(); - VoiceResponse voiceResponse = new VoiceResponse.Builder().enqueue(enqueueTask).build(); + VoiceResponse voiceResponse = new VoiceResponse.Builder().enqueue(enqueue).build(); resp.setContentType("application/xml"); try { resp.getWriter().print(voiceResponse.toXml()); diff --git a/src/main/java/com/twilio/taskrouter/application/servlet/IncomingCallServlet.java b/src/main/java/com/twilio/taskrouter/application/servlet/IncomingCallServlet.java index ce28a88..9e6e272 100644 --- a/src/main/java/com/twilio/taskrouter/application/servlet/IncomingCallServlet.java +++ b/src/main/java/com/twilio/taskrouter/application/servlet/IncomingCallServlet.java @@ -1,11 +1,11 @@ package com.twilio.taskrouter.application.servlet; -import com.twilio.twiml.Gather; -import com.twilio.twiml.Method; -import com.twilio.twiml.Say; +import com.twilio.http.HttpMethod; import com.twilio.twiml.TwiMLException; import com.twilio.twiml.VoiceResponse; +import com.twilio.twiml.voice.Gather; +import com.twilio.twiml.voice.Say; import javax.inject.Singleton; import javax.servlet.ServletException; @@ -33,7 +33,7 @@ public void doPost(HttpServletRequest req, HttpServletResponse resp) throws Serv .action("/call/enqueue") .numDigits(1) .timeout(10) - .method(Method.POST) + .method(HttpMethod.POST) .say(new Say .Builder("For Programmable SMS, press one. For Voice, press any other key.") .build() diff --git a/src/main/java/com/twilio/taskrouter/application/servlet/MessageServlet.java b/src/main/java/com/twilio/taskrouter/application/servlet/MessageServlet.java index 6b05a08..872f546 100644 --- a/src/main/java/com/twilio/taskrouter/application/servlet/MessageServlet.java +++ b/src/main/java/com/twilio/taskrouter/application/servlet/MessageServlet.java @@ -2,9 +2,9 @@ import com.google.inject.Singleton; import com.twilio.taskrouter.domain.model.WorkspaceFacade; -import com.twilio.twiml.Sms; import com.twilio.twiml.TwiMLException; import com.twilio.twiml.VoiceResponse; +import com.twilio.twiml.voice.Sms; import javax.inject.Inject; import javax.servlet.ServletException; diff --git a/src/test/java/com/twilio/taskrouter/application/servlet/MessageServletTest.java b/src/test/java/com/twilio/taskrouter/application/servlet/MessageServletTest.java index e303477..3d137ff 100644 --- a/src/test/java/com/twilio/taskrouter/application/servlet/MessageServletTest.java +++ b/src/test/java/com/twilio/taskrouter/application/servlet/MessageServletTest.java @@ -13,6 +13,7 @@ import javax.servlet.http.HttpServletResponse; import java.io.PrintWriter; import java.lang.reflect.Constructor; +import java.net.URI; import java.util.HashMap; import java.util.Map; import java.util.Optional; @@ -54,11 +55,12 @@ public void setUp() throws Exception { Constructor idleConstructor = Activity.class.getDeclaredConstructor( String.class, Boolean.class, String.class, String.class, - String.class, String.class, String.class + String.class, String.class, String.class, URI.class ); idleConstructor.setAccessible(true); Activity idleActivity = idleConstructor.newInstance( - "WACIDLEXXXX", true, "2010-01-01", "2010-01-01", "idle", "WACIDLEXXXX", "WACIDLEXXXX" + "WACIDLEXXXX", true, "2010-01-01", "2010-01-01", "idle", "WACIDLEXXXX", "WACIDLEXXXX", + new URI("http://fake.com") ); when(workspaceFacadeMock.findActivityByName("Idle")) @@ -66,11 +68,12 @@ public void setUp() throws Exception { Constructor offlineActivityConstructor = Activity.class.getDeclaredConstructor( String.class, Boolean.class, String.class, String.class, - String.class, String.class, String.class + String.class, String.class, String.class, URI.class ); offlineActivityConstructor.setAccessible(true); Activity offlineActivity = offlineActivityConstructor.newInstance( - "WACOFFLINEXXXX", true, "2010-01-01", "2010-01-01", "off", "WACOFFLINEXXXX", "WACOFFLINEXXXX" + "WACOFFLINEXXXX", true, "2010-01-01", "2010-01-01", "off", "WACOFFLINEXXXX", "WACOFFLINEXXXX", + new URI("http://fake.com") ); when(workspaceFacadeMock.findActivityByName("Offline")) @@ -98,7 +101,8 @@ public void testNoValidWorker() throws Exception { verify(responseMock, times(1)).setContentType("application/xml"); verify(responseMock.getWriter(), times(1)) - .print("You are not a valid worker"); + .print("" + + "You are not a valid worker"); } }