Skip to content
This repository was archived by the owner on May 13, 2025. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -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'

Expand Down
2 changes: 1 addition & 1 deletion classes/production/taskrouter-servlets/workspace.json
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@
"workflow": {
"name": "Sales",
"callback": "%(host)s/assignment",
"timeout": "60",
"timeout": "15",
"routingConfiguration": [
{
"expression": "selected_product==\"ProgrammableSMS\"",
Expand Down
Binary file modified gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
4 changes: 2 additions & 2 deletions gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -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
5 changes: 5 additions & 0 deletions gradlew
Original file line number Diff line number Diff line change
Expand Up @@ -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 "$@"
6 changes: 0 additions & 6 deletions gradlew.bat
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand All @@ -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
Expand Down
Original file line number Diff line number Diff line change
@@ -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;
Expand Down Expand Up @@ -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());
Expand Down
Original file line number Diff line number Diff line change
@@ -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;
Expand Down Expand Up @@ -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()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -54,23 +55,25 @@ public void setUp() throws Exception {

Constructor<Activity> 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"))
.thenReturn(Optional.of(idleActivity));

Constructor<Activity> 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"))
Expand Down Expand Up @@ -98,7 +101,8 @@ public void testNoValidWorker() throws Exception {

verify(responseMock, times(1)).setContentType("application/xml");
verify(responseMock.getWriter(), times(1))
.print("<Response><Sms>You are not a valid worker</Sms></Response>");
.print("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
+ "<Response><Sms>You are not a valid worker</Sms></Response>");
}

}