├── .gitattributes ├── .gitignore ├── README.md ├── Validation └── HTML5 Validation Task List.xlsx └── sdk ├── build.xml ├── buildDocs.sh ├── client └── att-api-client.js ├── doc_src ├── README.md ├── README.txt ├── class-categories.json ├── custom-tags │ └── beta.rb ├── guides.json ├── guides │ ├── getting_started │ │ ├── README.md │ │ ├── icon-lg.png │ │ └── icon.png │ ├── sample_app │ │ ├── README.md │ │ └── icon-lg.png │ ├── sample_app_test │ │ ├── README.md │ │ └── icon-lg.png │ ├── sdk_server_api │ │ ├── README.md │ │ └── icon-lg.png │ ├── server_java │ │ ├── README.md │ │ └── icon-lg.png │ ├── server_java_env │ │ ├── README.md │ │ └── icon-lg.png │ ├── server_php │ │ ├── README.md │ │ └── icon-lg.png │ ├── server_php_env │ │ ├── README.md │ │ └── icon-lg.png │ ├── server_ruby │ │ ├── README.md │ │ └── icon-lg.png │ ├── server_ruby_env │ │ ├── README.md │ │ └── icon-lg.png │ ├── techtip_mobo │ │ ├── README.md │ │ └── icon-lg.png │ └── techtip_sms │ │ ├── README.md │ │ └── icon-lg.png ├── inline-eg.html ├── resources │ ├── css │ │ └── styles.css │ └── images │ │ ├── att-overview.png │ │ ├── att.png │ │ ├── eclipse-new.png │ │ ├── examples-sms.png │ │ ├── examples-speech.png │ │ ├── logo.png │ │ └── sample_apps_screens │ │ ├── mim-home.png │ │ ├── mobo-home.png │ │ ├── oauth-close.png │ │ ├── oauth-one.png │ │ ├── sample-app-folder.png │ │ ├── sms-home-1.png │ │ ├── sms-home-2.png │ │ ├── sms-send-message.png │ │ ├── sms-votes.png │ │ ├── speech-home.png │ │ └── speech-submit.png └── welcome.html ├── notices ├── LICENSE.txt └── README.txt ├── package.properties ├── package.sh ├── server ├── java │ ├── .classpath │ ├── .gitignore │ ├── .project │ ├── build.sh │ ├── build.xml │ ├── buildDocs.sh │ ├── certs │ │ ├── .gitattributes │ │ ├── .keystore │ │ └── readme.txt │ ├── codekit │ │ ├── .gitignore │ │ ├── pom.xml │ │ ├── readme.md │ │ └── src │ │ │ ├── main │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── att │ │ │ │ │ └── api │ │ │ │ │ ├── config │ │ │ │ │ └── AppConfig.java │ │ │ │ │ ├── controller │ │ │ │ │ └── APIController.java │ │ │ │ │ ├── immn │ │ │ │ │ └── service │ │ │ │ │ │ ├── CacheStatus.java │ │ │ │ │ │ ├── Delta.java │ │ │ │ │ │ ├── DeltaChange.java │ │ │ │ │ │ ├── DeltaResponse.java │ │ │ │ │ │ ├── IMMNService.java │ │ │ │ │ │ ├── Message.java │ │ │ │ │ │ ├── MessageContent.java │ │ │ │ │ │ ├── MessageContentType.java │ │ │ │ │ │ ├── MessageIndexInfo.java │ │ │ │ │ │ ├── MessageList.java │ │ │ │ │ │ ├── MessageListArgs.java │ │ │ │ │ │ ├── MessageType.java │ │ │ │ │ │ ├── MmsContent.java │ │ │ │ │ │ ├── NotificationConnectionDetails.java │ │ │ │ │ │ ├── SegmentationDetails.java │ │ │ │ │ │ ├── SendResponse.java │ │ │ │ │ │ ├── TypeMetaData.java │ │ │ │ │ │ └── package-info.java │ │ │ │ │ ├── oauth │ │ │ │ │ ├── OAuthService.java │ │ │ │ │ ├── OAuthToken.java │ │ │ │ │ └── package-info.java │ │ │ │ │ ├── payment │ │ │ │ │ ├── model │ │ │ │ │ │ ├── AppCategory.java │ │ │ │ │ │ ├── Notary.java │ │ │ │ │ │ ├── Notification.java │ │ │ │ │ │ ├── NotificationPool.java │ │ │ │ │ │ ├── RefundReason.java │ │ │ │ │ │ ├── Subscription.java │ │ │ │ │ │ ├── Transaction.java │ │ │ │ │ │ └── TransactionStatus.java │ │ │ │ │ └── service │ │ │ │ │ │ ├── NotaryService.java │ │ │ │ │ │ └── PaymentService.java │ │ │ │ │ ├── rest │ │ │ │ │ ├── APIRequestError.java │ │ │ │ │ ├── APIResponse.java │ │ │ │ │ ├── HttpHeader.java │ │ │ │ │ ├── HttpPatch.java │ │ │ │ │ ├── RESTClient.java │ │ │ │ │ ├── RESTConfig.java │ │ │ │ │ ├── RESTException.java │ │ │ │ │ └── package-info.java │ │ │ │ │ ├── service │ │ │ │ │ ├── APIService.java │ │ │ │ │ └── package-info.java │ │ │ │ │ ├── sms │ │ │ │ │ ├── model │ │ │ │ │ │ ├── SMSDeliveryInfo.java │ │ │ │ │ │ ├── SMSGetResponse.java │ │ │ │ │ │ ├── SMSMessage.java │ │ │ │ │ │ ├── SMSReceiveMessage.java │ │ │ │ │ │ ├── SMSReceiveStatus.java │ │ │ │ │ │ ├── SMSSendResponse.java │ │ │ │ │ │ ├── SMSStatus.java │ │ │ │ │ │ └── package-info.java │ │ │ │ │ └── service │ │ │ │ │ │ ├── SMSService.java │ │ │ │ │ │ └── package-info.java │ │ │ │ │ ├── util │ │ │ │ │ ├── DateUtil.java │ │ │ │ │ └── package-info.java │ │ │ │ │ ├── webhooks │ │ │ │ │ └── service │ │ │ │ │ │ ├── CreateChannelArgs.java │ │ │ │ │ │ ├── CreateChannelResponse.java │ │ │ │ │ │ ├── CreateSubscriptionArgs.java │ │ │ │ │ │ ├── CreateSubscriptionResponse.java │ │ │ │ │ │ ├── GetChannelResponse.java │ │ │ │ │ │ ├── GetSubscriptionResponse.java │ │ │ │ │ │ ├── UpdateSubscriptionArgs.java │ │ │ │ │ │ ├── UpdateSubscriptionResponse.java │ │ │ │ │ │ └── WebhooksService.java │ │ │ │ │ └── webrtc │ │ │ │ │ └── service │ │ │ │ │ └── WebRTCService.java │ │ │ └── resources │ │ │ │ └── checkstyle.xml │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── att │ │ │ └── api │ │ │ ├── oauth │ │ │ ├── OAuthServiceITCase.java │ │ │ └── OAuthTokenTest.java │ │ │ ├── rest │ │ │ ├── APIResponseTest.java │ │ │ └── HttpHeaderTest.java │ │ │ └── sms │ │ │ ├── model │ │ │ ├── SMSGetResponseTest.java │ │ │ ├── SMSSendResponseTest.java │ │ │ └── SMSStatusTest.java │ │ │ └── service │ │ │ └── SMSServiceITCase.java │ ├── conf │ │ └── att-api.properties │ ├── doc_src │ │ ├── class-categories.json │ │ ├── resources │ │ │ └── images │ │ │ │ ├── att-overview.png │ │ │ │ ├── att.png │ │ │ │ └── logo.png │ │ ├── welcome.css │ │ └── welcome.html │ ├── lib │ │ ├── codekit-1.0.jar │ │ ├── commons-cli-1.2.jar │ │ ├── commons-lang3-3.3.2.jar │ │ ├── jetty-continuation-8.0.4.v20111024.jar │ │ ├── jetty-http-8.0.4.v20111024.jar │ │ ├── jetty-io-8.0.4.v20111024.jar │ │ ├── jetty-security-8.0.4.v20111024.jar │ │ ├── jetty-server-8.0.4.v20111024.jar │ │ ├── jetty-servlet-8.0.4.v20111024.jar │ │ ├── jetty-servlets-8.0.4.v20111024.jar │ │ ├── jetty-util-8.0.4.v20111024.jar │ │ ├── jetty-webapp-8.0.4.v20111024.jar │ │ ├── jetty-xml-8.0.4.v20111024.jar │ │ ├── servlet-api-3.0.jar │ │ └── tika-core-1.4.jar │ ├── readme.md │ ├── resources │ │ ├── Bananas.amr │ │ ├── Bananas.wav │ │ ├── META-INF │ │ │ └── mime.types │ │ ├── Starbucks.amr │ │ ├── Starbucks.wav │ │ ├── Test.wav │ │ ├── att-logo-developer.png │ │ ├── coupon.jpg │ │ ├── dictionary.pls │ │ ├── grammar.grxml │ │ ├── hello.jpg │ │ ├── messageQiang.wav │ │ ├── qt_16khz_awb.awb │ │ ├── spanish.wav │ │ ├── test-16khz peexwb-16.spx │ │ ├── test-16khz-linear-pcm.wav │ │ ├── test-16khz.awb │ │ ├── test-8khz-amrnb-MR475.amr │ │ ├── test-8khz-linear-pcm.wav │ │ ├── test1_8khz_speex.spx │ │ └── textDavid.wav │ ├── run.cmd │ ├── run.sh │ ├── src │ │ └── com │ │ │ └── html5sdk │ │ │ ├── att │ │ │ ├── AttConstants.java │ │ │ ├── provider │ │ │ │ ├── ApiRequestException.java │ │ │ │ ├── ApiRequestManager.java │ │ │ │ ├── ApiResponse.java │ │ │ │ ├── ClientCredentialsManager.java │ │ │ │ ├── FileMapper.java │ │ │ │ └── TokenResponse.java │ │ │ ├── servlet │ │ │ │ ├── Action.java │ │ │ │ ├── ActionConfigurationException.java │ │ │ │ ├── AttAuthCallbackServlet.java │ │ │ │ ├── AttAuthCheckServlet.java │ │ │ │ ├── AttAuthorizationException.java │ │ │ │ ├── AttClearSessionTokenServlet.java │ │ │ │ ├── AttShowTokensServlet.java │ │ │ │ ├── CreateIndexServlet.java │ │ │ │ ├── ErrorHandler.java │ │ │ │ ├── GetDeltaServlet.java │ │ │ │ ├── IndexInfoServlet.java │ │ │ │ ├── MessageServlet.java │ │ │ │ ├── MimNotificationEvent.java │ │ │ │ ├── NotificationChannelServlet.java │ │ │ │ ├── ServiceServletBase.java │ │ │ │ ├── SessionUtils.java │ │ │ │ ├── SharedCredentials.java │ │ │ │ ├── SmsGenericListener.java │ │ │ │ ├── SmsInboxServlet.java │ │ │ │ ├── SmsOutboxServlet.java │ │ │ │ ├── UserAuthUrlServlet.java │ │ │ │ └── votes │ │ │ │ │ ├── Counter.java │ │ │ │ │ ├── Votes.java │ │ │ │ │ └── VotingListener.java │ │ │ └── util │ │ │ │ ├── AddressUtil.java │ │ │ │ ├── FileUtil.java │ │ │ │ ├── TokenUtil.java │ │ │ │ └── XMLUtils.java │ │ │ └── jetty │ │ │ └── EmbeddedServer.java │ ├── votes.json │ └── webapp │ │ └── WEB-INF │ │ ├── lib │ │ ├── codekit-1.0.jar │ │ ├── commons-cli-1.2.jar │ │ ├── commons-codec-1.5.jar │ │ ├── commons-io-2.1.jar │ │ ├── commons-lang3-3.3.2.jar │ │ ├── commons-logging-1.1.1.jar │ │ ├── httpclient-4.1.2.jar │ │ ├── httpclient-cache-4.1.2.jar │ │ ├── httpcore-4.1.2.jar │ │ ├── httpmime-4.1.2.jar │ │ ├── json-20090211.jar │ │ └── tika-core-1.4.jar │ │ └── web.xml ├── php │ ├── Readme.md │ ├── buildDocs.bat │ ├── buildDocs.sh │ ├── doc_src │ │ ├── class-categories.json │ │ ├── guides.json │ │ ├── inline-eg.html │ │ ├── resources │ │ │ └── images │ │ │ │ ├── att-overview.png │ │ │ │ ├── att.png │ │ │ │ └── logo.png │ │ ├── welcome.css │ │ └── welcome.html │ └── public_html │ │ └── att │ │ ├── callback.php │ │ ├── check.php │ │ ├── codekit.lib │ │ ├── Controller │ │ │ └── APIController.php │ │ ├── IMMN │ │ │ ├── Delta.php │ │ │ ├── DeltaChange.php │ │ │ ├── DeltaResponse.php │ │ │ ├── IMMNService.php │ │ │ ├── Message.php │ │ │ ├── MessageContent.php │ │ │ ├── MessageIndexInfo.php │ │ │ ├── MessageList.php │ │ │ ├── MmsContent.php │ │ │ ├── NotificationCD.php │ │ │ ├── SegmentationDetails.php │ │ │ └── TypeMetaData.php │ │ ├── Notary │ │ │ ├── Notary.php │ │ │ ├── NotaryArguments.php │ │ │ └── NotaryService.php │ │ ├── OAuth │ │ │ ├── OAuthCode.php │ │ │ ├── OAuthCodeRequest.php │ │ │ ├── OAuthException.php │ │ │ ├── OAuthToken.php │ │ │ └── OAuthTokenService.php │ │ ├── Payment │ │ │ ├── NotificationDetails.php │ │ │ ├── PaymentFileHandler.php │ │ │ └── PaymentService.php │ │ ├── Restful │ │ │ ├── HttpGet.php │ │ │ ├── HttpMultipart.php │ │ │ ├── HttpPatch.php │ │ │ ├── HttpPost.php │ │ │ ├── HttpPut.php │ │ │ ├── RestfulEnvironment.php │ │ │ ├── RestfulRequest.php │ │ │ └── RestfulResponse.php │ │ ├── SMS │ │ │ ├── DeliveryInfo.php │ │ │ ├── DeliveryStatus.php │ │ │ ├── GetSMSResponse.php │ │ │ ├── SMSMessage.php │ │ │ ├── SMSService.php │ │ │ └── SendSMSResponse.php │ │ ├── Srvc │ │ │ ├── APIService.php │ │ │ ├── Service.php │ │ │ └── ServiceException.php │ │ ├── Util │ │ │ ├── FileUtil.php │ │ │ └── Util.php │ │ ├── WebRTC │ │ │ └── WebRTCService.php │ │ └── Webhooks │ │ │ ├── Channel.php │ │ │ ├── CreateNotificationResponse.php │ │ │ ├── CreateSubscriptionArgs.php │ │ │ ├── CreateSubscriptionResponse.php │ │ │ ├── GetNotificationResponse.php │ │ │ ├── GetSubscriptionResponse.php │ │ │ ├── Subscription.php │ │ │ ├── SubscriptionResponse.php │ │ │ ├── UpdateSubscriptionArgs.php │ │ │ ├── UpdateSubscriptionResponse.php │ │ │ └── WebhooksService.php │ │ ├── config.php │ │ ├── content.php │ │ ├── logout.php │ │ ├── media │ │ ├── Bananas.amr │ │ ├── Bananas.wav │ │ ├── Starbucks.amr │ │ ├── Starbucks.wav │ │ ├── Test.wav │ │ ├── att-logo-developer.png │ │ ├── coupon.jpg │ │ ├── dictionary.pls │ │ ├── grammar.srgs │ │ ├── hello.jpg │ │ ├── messageQiang.wav │ │ ├── qt_16khz_awb.awb │ │ ├── spanish.wav │ │ ├── test-16khz peexwb-16.spx │ │ ├── test-16khz-linear-pcm.wav │ │ ├── test-16khz.awb │ │ ├── test-8khz-amrnb-MR475.amr │ │ ├── test-8khz-linear-pcm.wav │ │ ├── test1_8khz_speex.spx │ │ └── textDavid.wav │ │ ├── myMessages.php │ │ ├── notification.php │ │ ├── notifications.php │ │ ├── oauth.php │ │ ├── service_provider │ │ ├── Base.php │ │ ├── Debug.php │ │ ├── Html5_ServiceProvider_Base_Att.php │ │ ├── IMMN_ServiceProvider.php │ │ ├── Notification_ServiceProvider.php │ │ └── SMS_ServiceProvider.php │ │ ├── showTokens.php │ │ ├── sms.php │ │ ├── votegetter.php │ │ ├── votelistener.php │ │ └── votes.json └── ruby │ ├── att │ ├── app.rb │ ├── check.rb │ ├── init.rb │ ├── listener.rb │ ├── services │ │ ├── iam.rb │ │ ├── notification_channel.rb │ │ ├── oauth.rb │ │ └── sms.rb │ └── views │ │ └── showTokens.erb │ ├── buildDocs.sh │ ├── certs │ ├── .gitattributes │ ├── readme.txt │ ├── www.example.com.cert │ └── www.example.com.key │ ├── conf │ └── att-api.properties │ ├── doc_src │ └── doc_support.rb │ ├── lib │ ├── codekit.rb │ └── codekit │ │ ├── auth.rb │ │ ├── auth │ │ ├── auth_code.rb │ │ ├── client.rb │ │ ├── client_cred.rb │ │ ├── oauth_service.rb │ │ └── oauth_token.rb │ │ ├── model.rb │ │ ├── model │ │ ├── immn.rb │ │ ├── mim.rb │ │ ├── notification_channel.rb │ │ ├── notification_subscription.rb │ │ ├── payment.rb │ │ ├── payment_notification.rb │ │ ├── simple_responses.rb │ │ └── sms.rb │ │ ├── service.rb │ │ ├── service │ │ ├── immn.rb │ │ ├── mim.rb │ │ ├── payment.rb │ │ ├── sms.rb │ │ └── webhooks.rb │ │ ├── transport.rb │ │ ├── util.rb │ │ └── version.rb │ ├── media │ ├── Bananas.amr │ ├── Bananas.wav │ ├── Starbucks.amr │ ├── Starbucks.wav │ ├── Test.wav │ ├── att-logo-developer.png │ ├── coupon.jpg │ ├── dictionary.pls │ ├── grammar.srgs │ ├── hello.jpg │ ├── messageQiang.wav │ ├── qt_16khz_awb.awb │ ├── spanish.wav │ ├── test-16khz peexwb-16.spx │ ├── test-16khz-linear-pcm.wav │ ├── test-16khz.awb │ ├── test-8khz-amrnb-MR475.amr │ ├── test-8khz-linear-pcm.wav │ ├── test1_8khz_speex.spx │ └── textDavid.wav │ ├── run.cmd │ └── run.sh └── webcontent ├── IMMN └── App1 │ ├── app │ ├── Config.js │ ├── app.js │ ├── controller │ │ └── iam │ │ │ └── iamExample.js │ ├── model │ │ ├── Message.js │ │ └── MessageContent.js │ ├── store │ │ └── Messages.js │ └── view │ │ ├── Footer.js │ │ ├── Header.js │ │ └── iam │ │ └── iamExample.js │ ├── attlib │ ├── ApiResults.js │ └── AuthorizationSheet.js │ └── index.html ├── SMS ├── App1 │ ├── app │ │ ├── Config.js │ │ ├── app.js │ │ ├── controller │ │ │ └── sms │ │ │ │ └── Basic.js │ │ └── view │ │ │ ├── Footer.js │ │ │ ├── Header.js │ │ │ └── sms │ │ │ └── Basic.js │ ├── attlib │ │ ├── ApiResults.js │ │ ├── AuthorizationSheet.js │ │ └── Provider.js │ └── index.html └── App2 │ ├── app │ ├── Config.js │ ├── app.js │ ├── controller │ │ └── sms │ │ │ └── Voting.js │ ├── model │ │ └── Vote.js │ ├── store │ │ └── Votes.js │ └── view │ │ ├── Footer.js │ │ ├── Header.js │ │ └── sms │ │ └── Voting.js │ ├── attlib │ ├── ApiResults.js │ ├── AuthorizationSheet.js │ └── Provider.js │ └── index.html ├── images ├── ajax-loader.gif ├── arrows.png ├── class-m.png ├── comment-bubble.png ├── comment.png ├── component-m.png ├── default-guide.png ├── doc-m.png ├── down-arr.png ├── elbow-end.gif ├── example-icons.png ├── expandcollapse.png ├── group-expand-sprite.gif ├── header.png ├── hero-extjs4-alt.png ├── icons.png ├── link-green-standard-over.png ├── link-green-standard.png ├── loading.gif ├── logo-screen-noglow.png ├── logo.png ├── member-collapsed.gif ├── member-expanded.gif ├── member-hover.gif ├── more.png ├── phone-l.jpg ├── phone-p.jpg ├── phone-small-l.jpg ├── phone-small-p.jpg ├── print.png ├── sample-over.gif ├── search-box.png ├── singleton-m.png ├── tablet-l.jpg ├── tablet-p.jpg ├── tabs.png ├── text-bg.gif ├── vote-arrows.png ├── welcome-bg-js4.gif ├── x.png └── x12.png ├── index.html ├── lib ├── att.css ├── dependencies.js └── docs.css ├── qUnit ├── .settings │ ├── .jsdtscope │ ├── org.eclipse.wst.jsdt.ui.superType.container │ └── org.eclipse.wst.jsdt.ui.superType.name ├── IAM.html ├── SMS.html ├── app.json ├── app │ ├── app.js │ ├── controller │ │ └── Main.js │ ├── lib │ │ ├── ApiResults.js │ │ ├── AuthorizationSheet.js │ │ └── Provider.js │ ├── profile │ │ └── Phone.js │ └── view │ │ ├── ApiResults.js │ │ ├── AttApiClientTestConfig.js │ │ ├── ClientTest.js │ │ ├── Main.js │ │ ├── NavigationList.js │ │ ├── SMS.js │ │ ├── WAP.js │ │ ├── config.js │ │ ├── config.js.original │ │ ├── phone │ │ └── Main.js │ │ ├── testBasiconly.js │ │ ├── testDConly.js │ │ ├── testIsolatedonly.js │ │ ├── testMIMonly.js │ │ ├── testMMSonly.js │ │ ├── testMixedonly.js │ │ ├── testMoboonly.js │ │ ├── testNegativeonly.js │ │ ├── testPairwiseonly.js │ │ ├── testPositiveonly.js │ │ ├── testSMSonly.js │ │ ├── testTLonly.js │ │ └── testWAPonly.js ├── docs │ ├── Automatic Client Authorization App (to speed up testing).docx │ ├── JTF2 Instructions.doc │ └── Launch and deploy ATT Sencha SDK Java Sample Applications.pdf ├── examples │ └── sms │ │ └── app │ │ ├── app.js │ │ ├── controller │ │ └── Sms.js │ │ └── view │ │ └── Sms.js ├── images │ └── att-logo-developer.png ├── index.html ├── lib │ └── jquery-latest │ │ └── jquery-2.1.0.js ├── qunit.js ├── resources │ ├── css │ │ └── app.css │ ├── icons │ │ ├── Icon.png │ │ ├── Icon@2x.png │ │ ├── Icon~ipad.png │ │ ├── Icon~ipad@2x.png │ │ ├── iTunesArtwork.png │ │ └── icon-spot~ipad.png │ ├── loading │ │ ├── Default-LandscapeLeft~ipad.png │ │ ├── Default-LandscapeRight~ipad.png │ │ ├── Default-Landscape~ipad.png │ │ ├── Default-PortraitUpsideDown~ipad.png │ │ ├── Default-Portrait~ipad.png │ │ ├── Default.png │ │ ├── Default@2x.png │ │ ├── Default~ipad.png │ │ ├── Homescreen.jpg │ │ └── Homescreen~ipad.jpg │ └── sass │ │ ├── app.scss │ │ └── config.rb ├── start.html ├── test │ └── notify.html └── tests │ ├── GUI.js │ ├── IAM │ ├── Basic.js │ ├── Negative.js │ ├── Pairwise.js │ ├── Positive.js │ └── Validate.js │ ├── Isolated │ ├── Negative.js │ └── Validate.js │ ├── MIM │ ├── Basic.js │ ├── Negative.js │ ├── Pairwise.js │ ├── Positive.js │ └── Validate.js │ ├── Mixed │ └── Basic.js │ ├── Mobo │ ├── Basic.js │ ├── Negative.js │ ├── Pairwise.js │ ├── Positive.js │ └── Validate.js │ ├── OAuth │ └── Basic.js │ └── SMS │ ├── Basic.js │ ├── Negative.js │ ├── Pairwise.js │ ├── Positive.js │ └── Validate.js ├── selenium ├── pom.xml ├── readme.md └── src │ └── main │ ├── java │ └── com │ │ └── att │ │ └── html5sdk │ │ ├── App.java │ │ ├── DCApp1.java │ │ ├── Global.java │ │ ├── IMMNApp1Positive.java │ │ ├── Log.java │ │ ├── MMSApp1positive.java │ │ ├── MMS_Variables.java │ │ ├── SMSApp1positive.java │ │ ├── SMSApp2positive.java │ │ ├── Sample app launching .rtf │ │ ├── TestDC.java │ │ ├── TestGalleryMms.java │ │ ├── TestIMMN.java │ │ ├── TestMMS.java │ │ ├── TestMMSRecursive.java │ │ ├── TestResult.java │ │ ├── TestSMS.java │ │ ├── runtests.ps1 │ │ └── scheduletests.cmd │ └── resources │ ├── chromedriver.exe │ ├── images │ └── image1.jpg │ └── log4j2.xml └── sub.html /.gitattributes: -------------------------------------------------------------------------------- 1 | *.txt text eol=crlf 2 | *.cmd text eol=crlf 3 | *.md text eol=crlf 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.zip 2 | packaged 3 | packaged.docs 4 | sdk/docs 5 | version_unknown 6 | webcontentxx 7 | WebWorkbench.mswwsettings 8 | .sass-cache 9 | sdk/server/java/dist/ 10 | sdk/server/java/codekit/target/ 11 | *.*~ 12 | ~$* 13 | test/samples/target/ 14 | *.log 15 | *.prefs 16 | .metadata/ 17 | sdk/server/php/public_html/att/att-php.txt 18 | *.tmp 19 | sdk/webcontent/selenium/target/ 20 | sdk/server/ruby/.yardoc/** 21 | .classpath 22 | .project 23 | sdk/webcontent/lib/sencha-touch.css 24 | sdk/webcontent/lib/sencha-touch-all.js 25 | sdk/webcontent/lib/att-api-client.js 26 | !sdk/server/java/.classpath 27 | !sdk/server/java/.project 28 | -------------------------------------------------------------------------------- /Validation/HTML5 Validation Task List.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/Validation/HTML5 Validation Task List.xlsx -------------------------------------------------------------------------------- /sdk/buildDocs.sh: -------------------------------------------------------------------------------- 1 | mkdir -p ../packaged.docs/docs/resources 2 | jsduck \ 3 | client/att-api-client.js\ 4 | -o ../packaged.docs/docs \ 5 | --eg-iframe=doc_src/inline-eg.html \ 6 | --guides=doc_src/guides.json \ 7 | --categories=doc_src/class-categories.json \ 8 | --images=doc_src/resources/images \ 9 | --title="AT&T API Platform SDK for HTML5" \ 10 | --warnings=+all,-image_unused,-link_auto \ 11 | --welcome=doc_src/welcome.html \ 12 | --head-html='' \ 13 | --meta-tags=doc_src/custom-tags/beta.rb 14 | 15 | #copy the images to output dir (maybe JSDuck can do this automatically?) 16 | cp -R doc_src/resources/* ../packaged.docs/docs/resources/ 17 | cp doc_src/README.txt ../packaged.docs/docs/. 18 | -------------------------------------------------------------------------------- /sdk/doc_src/README.md: -------------------------------------------------------------------------------- 1 | HTML5 SDK Documentation Source. 2 | === 3 | 4 | NOTE: To view the documentation you will need to download a documentation 5 | archive, which is separate from the SDK archive (ZIP file). After extracting the 6 | documentation ZIP file simply open index.html in your web browser. 7 | 8 | This directory contains the Source files to generate the SDK documentation. 9 | 10 | You must have JSDuck version 3 (an older version) installed to build the 11 | documentation. JSDuck can be downloaded from: 12 | 13 | https://github.com/senchalabs/jsduck 14 | 15 | Or it can be installed from a Ruby environment using 16 | 17 | gem install -v 3.11.2 jsduck 18 | -------------------------------------------------------------------------------- /sdk/doc_src/README.txt: -------------------------------------------------------------------------------- 1 | This ZIP file contains the documentation for the AT&T API Platform SDK for HTML5. This SDK provides an HTML5 framework for accessing the AT&T API Platform. 2 | ---------------------------------------------------------------- 3 | Current Version: 4 | 4.4 5 | ---------------------------------------------------------------- 6 | Release Notes: 7 | This HTML5 SDK release includes the following changes: 8 | 9 | Removes MMS and Device Context (DC) APIs 10 | 11 | ---------------------------------------------------------------- 12 | Link to Github: 13 | https://github.com/attdevsupport/att-html5-sdk 14 | ---------------------------------------------------------------- 15 | For information regarding the usage of this SDK, please refer to docs/guides in this ZIP file. 16 | -------------------------------------------------------------------------------- /sdk/doc_src/class-categories.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "name": "AT&T HTML5 SDK JavaScript API", 4 | "groups": [ 5 | { 6 | "name": "Namespaces", 7 | "classes": [ 8 | "AttApiClient", 9 | "AttApiClient.InAppMessaging", 10 | "AttApiClient.Notification", 11 | "AttApiClient.OAuth", 12 | "AttApiClient.SMS", 13 | "AttApiClient.util" 14 | ] 15 | } 16 | ] 17 | } 18 | 19 | ] 20 | -------------------------------------------------------------------------------- /sdk/doc_src/custom-tags/beta.rb: -------------------------------------------------------------------------------- 1 | require "jsduck/meta_tag" 2 | 3 | class BetaTag < JsDuck::MetaTag 4 | def initialize 5 | # This defines the name of the @tag 6 | @name = "beta" 7 | @key = :beta 8 | @signature = {:long => "beta", :short => "BETA"} 9 | @boolean = true 10 | end 11 | end 12 | -------------------------------------------------------------------------------- /sdk/doc_src/guides/getting_started/icon-lg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/doc_src/guides/getting_started/icon-lg.png -------------------------------------------------------------------------------- /sdk/doc_src/guides/getting_started/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/doc_src/guides/getting_started/icon.png -------------------------------------------------------------------------------- /sdk/doc_src/guides/sample_app/README.md: -------------------------------------------------------------------------------- 1 | #Sample Apps 2 | 3 | Sample Apps included in this SDK are standalone HTML5 web applications that demonstrate the use of AT&T APIs. 4 | 5 | ##Code Organization 6 | 7 | The Sample Apps are located in the **webcontent** folder, organized by the APIs used. The **index.html** file lists each sample app and its corresponding documentation link. The server side code is located in the **server** folders, and each app statically serves the client code. 8 | 9 | ###Sample App feature folder 10 | Each feature folder (for example, **SMS**) has subfolders for sample implementations (for example, _App1_, _App2_). Subfolders have a structure like the MVC implementation of the sample. The code that most directly illustrates the relevant AT&T API calls is located in the **controller** folder. 11 | 12 | -------------------------------------------------------------------------------- /sdk/doc_src/guides/sample_app/icon-lg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/doc_src/guides/sample_app/icon-lg.png -------------------------------------------------------------------------------- /sdk/doc_src/guides/sample_app_test/icon-lg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/doc_src/guides/sample_app_test/icon-lg.png -------------------------------------------------------------------------------- /sdk/doc_src/guides/sdk_server_api/README.md: -------------------------------------------------------------------------------- 1 | SDK Server API Protocol 2 | ======= 3 | 4 | The SDK server uses standard RESTful requests between the client that runs on the browser and the SDK server. 5 | Once the SDK server has received and validated the request, it will make the appropriate call to the AT&T API Platform and return the results. 6 | 7 | The methods in the JavaScript library (att-api-client.js) call service-specific endpoints on the SDK server. The type of RESTful call and the parameters that are passed varies, depending on the API method. Examine the library source code or the SDK server source code to determine the exact format for the request or response for a particular API call. 8 | -------------------------------------------------------------------------------- /sdk/doc_src/guides/sdk_server_api/icon-lg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/doc_src/guides/sdk_server_api/icon-lg.png -------------------------------------------------------------------------------- /sdk/doc_src/guides/server_java/icon-lg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/doc_src/guides/server_java/icon-lg.png -------------------------------------------------------------------------------- /sdk/doc_src/guides/server_java_env/README.md: -------------------------------------------------------------------------------- 1 | Java Environment Setup 2 | === 3 | 4 | A version of the Java Development Kit (JDK) needs to be installed on the computer running the sample application. 5 | 6 | **Note** Ant is required to build and run the application from the command line. Use the Eclipse IDE for Java Developers if you are not going to use the command line, or if you do not have cigwin set up on windows to execute shell scripts. 7 | 8 | 9 | To Install JDK 10 | --- 11 | 12 | - Download and install Java for your platform: 13 | 14 | You can use the base JDK in any Oracle distribution to run the samples. 15 | To Install Ant 16 | --- 17 | 18 | - Download and install Ant, if necessary: 19 | 20 | 21 | Apache has a complete set of install instructions for all platforms. 22 | 23 | 24 | To run your application from Eclipse 25 | --- 26 | 27 | Download and install Eclipse: Any of the Java development versions will work. 28 | 29 | - 30 | 31 | -------------------------------------------------------------------------------- /sdk/doc_src/guides/server_java_env/icon-lg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/doc_src/guides/server_java_env/icon-lg.png -------------------------------------------------------------------------------- /sdk/doc_src/guides/server_php/icon-lg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/doc_src/guides/server_php/icon-lg.png -------------------------------------------------------------------------------- /sdk/doc_src/guides/server_php_env/icon-lg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/doc_src/guides/server_php_env/icon-lg.png -------------------------------------------------------------------------------- /sdk/doc_src/guides/server_ruby/icon-lg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/doc_src/guides/server_ruby/icon-lg.png -------------------------------------------------------------------------------- /sdk/doc_src/guides/server_ruby_env/icon-lg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/doc_src/guides/server_ruby_env/icon-lg.png -------------------------------------------------------------------------------- /sdk/doc_src/guides/techtip_mobo/icon-lg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/doc_src/guides/techtip_mobo/icon-lg.png -------------------------------------------------------------------------------- /sdk/doc_src/guides/techtip_sms/icon-lg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/doc_src/guides/techtip_sms/icon-lg.png -------------------------------------------------------------------------------- /sdk/doc_src/inline-eg.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | AT&T HTML5 SDK Examples 6 | 7 | 8 | 9 | 10 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /sdk/doc_src/resources/css/styles.css: -------------------------------------------------------------------------------- 1 | /* 2 | - Setting a smaller size for the logo and giving it a border. 3 | */ 4 | 5 | .whats-new img { 6 | width: 150px; 7 | height: 150px; 8 | border: 1px solid #aaa; 9 | } 10 | 11 | /* 12 | 1. Cleared float for better distribution of "document sections" rather than the default layout. 13 | 2. Added some padding and margins to make it look pretty. 14 | */ 15 | 16 | .content-list { 17 | clear: both; 18 | padding-left: 20px; 19 | margin-bottom: 10px; 20 | } 21 | 22 | /* 23 | This makes sure all of the doc icons play nice and dont clip their containers. 24 | */ 25 | 26 | .sample-apps img { 27 | height: 72px; 28 | } 29 | 30 | #touch-welcome .content-list .item img { 31 | margin:0px; 32 | } 33 | 34 | #touch-welcome .content-list { 35 | display: flex; 36 | } 37 | 38 | #touch-welcome .content-list a { 39 | display: flex; 40 | flex-direction: column; 41 | margin-right: 20px; 42 | text-align: center; 43 | } 44 | 45 | -------------------------------------------------------------------------------- /sdk/doc_src/resources/images/att-overview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/doc_src/resources/images/att-overview.png -------------------------------------------------------------------------------- /sdk/doc_src/resources/images/att.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/doc_src/resources/images/att.png -------------------------------------------------------------------------------- /sdk/doc_src/resources/images/eclipse-new.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/doc_src/resources/images/eclipse-new.png -------------------------------------------------------------------------------- /sdk/doc_src/resources/images/examples-sms.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/doc_src/resources/images/examples-sms.png -------------------------------------------------------------------------------- /sdk/doc_src/resources/images/examples-speech.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/doc_src/resources/images/examples-speech.png -------------------------------------------------------------------------------- /sdk/doc_src/resources/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/doc_src/resources/images/logo.png -------------------------------------------------------------------------------- /sdk/doc_src/resources/images/sample_apps_screens/mim-home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/doc_src/resources/images/sample_apps_screens/mim-home.png -------------------------------------------------------------------------------- /sdk/doc_src/resources/images/sample_apps_screens/mobo-home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/doc_src/resources/images/sample_apps_screens/mobo-home.png -------------------------------------------------------------------------------- /sdk/doc_src/resources/images/sample_apps_screens/oauth-close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/doc_src/resources/images/sample_apps_screens/oauth-close.png -------------------------------------------------------------------------------- /sdk/doc_src/resources/images/sample_apps_screens/oauth-one.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/doc_src/resources/images/sample_apps_screens/oauth-one.png -------------------------------------------------------------------------------- /sdk/doc_src/resources/images/sample_apps_screens/sample-app-folder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/doc_src/resources/images/sample_apps_screens/sample-app-folder.png -------------------------------------------------------------------------------- /sdk/doc_src/resources/images/sample_apps_screens/sms-home-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/doc_src/resources/images/sample_apps_screens/sms-home-1.png -------------------------------------------------------------------------------- /sdk/doc_src/resources/images/sample_apps_screens/sms-home-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/doc_src/resources/images/sample_apps_screens/sms-home-2.png -------------------------------------------------------------------------------- /sdk/doc_src/resources/images/sample_apps_screens/sms-send-message.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/doc_src/resources/images/sample_apps_screens/sms-send-message.png -------------------------------------------------------------------------------- /sdk/doc_src/resources/images/sample_apps_screens/sms-votes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/doc_src/resources/images/sample_apps_screens/sms-votes.png -------------------------------------------------------------------------------- /sdk/doc_src/resources/images/sample_apps_screens/speech-home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/doc_src/resources/images/sample_apps_screens/speech-home.png -------------------------------------------------------------------------------- /sdk/doc_src/resources/images/sample_apps_screens/speech-submit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/doc_src/resources/images/sample_apps_screens/speech-submit.png -------------------------------------------------------------------------------- /sdk/notices/LICENSE.txt: -------------------------------------------------------------------------------- 1 | AT&T Platform SDK for HTML5 2 | 3 | All works distributed in this package are covered by the Apache 2.0 License unless otherwise stated. 4 | 5 | Copyright 2014 AT&T Intellectual Property 6 | 7 | Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at 8 | 9 | http://www.apache.org/licenses/LICENSE-2.0 10 | 11 | Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 12 | -------------------------------------------------------------------------------- /sdk/notices/README.txt: -------------------------------------------------------------------------------- 1 | AT&T API Platform SDK for HTML5 v4.0 2 | ==== 3 | 4 | The AT&T API Platform SDK for HTML5 is designed to provide an easy way to 5 | develop web applications that can access the AT&T APIs using JavaScript. The 6 | HTML5 experience for AT&T developers focuses on an enhanced capability to 7 | leverage the AT&T RESTful APIs to create feature-rich apps. Access to services 8 | like SMS, in conjunction with the ability to enable direct 9 | carrier billing, provides a multitude of options not normally available to 10 | mobile web application developers. 11 | 12 | To get started, view the docs at: 13 | 14 | https://lprod.code-api-att.com/html5sdk/docs/ 15 | 16 | You can also retrieve the code from github at: 17 | 18 | https://github.com/attdevsupport/att-html5-sdk 19 | 20 | === 21 | 22 | Release Notes: 23 | 24 | This release upgrades to AT&T OAuth 2.0 API v4 25 | Fixes issues with refreshing OAuth tokens 26 | Implements SDK changes for AT&T RememberMe 27 | 28 | Information on the latest OAuth API can be found at: 29 | http://developer.att.com/apis/oauth-2/docs 30 | -------------------------------------------------------------------------------- /sdk/package.properties: -------------------------------------------------------------------------------- 1 | sdk.version.major=04 2 | sdk.version.minor=09 3 | 4 | -------------------------------------------------------------------------------- /sdk/package.sh: -------------------------------------------------------------------------------- 1 | #Packages the SDK for release 2 | #!/usr/bin/env bash 3 | 4 | rm -rf ../packaged 5 | 6 | echo "packaging" 7 | 8 | echo "building SDK docs" 9 | rm -rf ../packaged.docs 10 | sh buildDocs.sh 11 | 12 | echo "building Ruby docs" 13 | cd server/ruby/ 14 | sh buildDocs.sh 15 | 16 | echo "building PHP docs" 17 | cd ../php/ 18 | sh buildDocs.sh 19 | 20 | echo "building Java docs" 21 | cd ../java/ 22 | sh buildDocs.sh 23 | 24 | cd ../.. 25 | 26 | echo "building Java binaries" 27 | ant -buildfile server/java/build.xml clean package-jar 28 | 29 | echo "building SDK" 30 | ant clean package 31 | 32 | -------------------------------------------------------------------------------- /sdk/server/java/.gitignore: -------------------------------------------------------------------------------- 1 | /bin 2 | -------------------------------------------------------------------------------- /sdk/server/java/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | ATT HTML5 SDK 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.jdt.core.javanature 16 | 17 | 18 | -------------------------------------------------------------------------------- /sdk/server/java/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | echo "building server" 4 | 5 | ant clean war -------------------------------------------------------------------------------- /sdk/server/java/buildDocs.sh: -------------------------------------------------------------------------------- 1 | echo "" 2 | echo "----------------------------------------" 3 | echo "- building Java JSDuck docs for SDK ----" 4 | echo "----------------------------------------" 5 | echo "" 6 | 7 | mkdir -p ../../../packaged.docs/docs/server/java 8 | 9 | jsduck \ 10 | ./src/com/html5sdk/att/*.java \ 11 | ./src/com/html5sdk/att/provider/*.java \ 12 | ./src/com/html5sdk/att/servlet/*.java \ 13 | ./src/com/html5sdk/att/servlet/votes/*.java \ 14 | ./src/com/html5sdk/att/util/*.java \ 15 | ./src/com/html5sdk/jetty/*.java \ 16 | -o ../../../packaged.docs/docs/server/java \ 17 | --title="Java Documentation for the AT&T API Platform SDK for HTML5" \ 18 | --warnings=-all \ 19 | --categories=./doc_src/class-categories.json \ 20 | --welcome=./doc_src/welcome.html \ 21 | --head-html='' 22 | 23 | cp -R doc_src/resources/* ../../../packaged.docs/docs/server/java/resources/ 24 | 25 | -------------------------------------------------------------------------------- /sdk/server/java/certs/.gitattributes: -------------------------------------------------------------------------------- 1 | .keystore binary 2 | 3 | -------------------------------------------------------------------------------- /sdk/server/java/certs/.keystore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/java/certs/.keystore -------------------------------------------------------------------------------- /sdk/server/java/certs/readme.txt: -------------------------------------------------------------------------------- 1 | Place your SSL certificate files in this folder. 2 | 3 | If you generate separate public and private keys (for example, by using http://www.selfsignedcertificate.com), you can combine them into one pkcs12 file using the following command: 4 | 5 | openssl pkcs12 -export -inkey test.key -in test.cert -out test.pkcs12 6 | 7 | You can then generate a .keystore file usable by the SDK Java server, using the following command: 8 | 9 | keytool -importkeystore -srckeystore test.pkcs12 -srcstoretype PKCS12 -destkeystore .keystsore 10 | -------------------------------------------------------------------------------- /sdk/server/java/codekit/.gitignore: -------------------------------------------------------------------------------- 1 | /bin/ 2 | -------------------------------------------------------------------------------- /sdk/server/java/codekit/readme.md: -------------------------------------------------------------------------------- 1 | Java Codekit Snapshot 2 | === 3 | 4 | This snapshot of the Codekit source code is used to generate the Codekit .jar file, which in turn is used by the HTML5 SDK's Java server. This source code contains some changes from the original Codekit sources, to better integrate with the HTML5 SDK. 5 | 6 | Build 7 | === 8 | 9 | Use Maven to build the Codekit .jar file: 10 | 11 | mvn clean package 12 | 13 | Deploy 14 | === 15 | 16 | After building the library, you should copy it into the Java server's 'lib' and WEB-INF/lib directores: 17 | 18 | cp target/codekit-1.0.jar ../lib 19 | cp target/codekit-1.0.jar ../webapp/WEB-INF/lib 20 | -------------------------------------------------------------------------------- /sdk/server/java/codekit/src/main/java/com/att/api/immn/service/CacheStatus.java: -------------------------------------------------------------------------------- 1 | package com.att.api.immn.service; 2 | 3 | public enum CacheStatus { 4 | NOT_INITIALIZED("NOT_INITIALIZED"), 5 | INITIALIZING("INITIALIZING"), 6 | INITIALIZED("INITIALIZED"), 7 | ERROR("ERROR"); 8 | 9 | private final String str; 10 | 11 | private CacheStatus(final String str) { 12 | this.str = str; 13 | } 14 | 15 | public static CacheStatus fromString(String str) { 16 | final CacheStatus[] statuses = CacheStatus.values(); 17 | for (CacheStatus status : statuses) { 18 | if (status.getString().equals(str)) { 19 | return status; 20 | } 21 | } 22 | 23 | return null; 24 | } 25 | 26 | public String getString() { 27 | return str; 28 | } 29 | 30 | } 31 | -------------------------------------------------------------------------------- /sdk/server/java/codekit/src/main/java/com/att/api/immn/service/DeltaChange.java: -------------------------------------------------------------------------------- 1 | package com.att.api.immn.service; 2 | 3 | import org.json.JSONObject; 4 | 5 | public final class DeltaChange { 6 | private final String messageId; 7 | private final Boolean isFavorite; 8 | private final Boolean isUnread; 9 | 10 | public DeltaChange(String messageId, Boolean isFavorite, Boolean isUnread) { 11 | this.messageId = messageId; 12 | this.isFavorite = isFavorite; 13 | this.isUnread = isUnread; 14 | } 15 | 16 | public String getMessageId() { 17 | return messageId; 18 | } 19 | 20 | // alias for isFavorite 21 | public Boolean getFavorite() { 22 | return isFavorite; 23 | } 24 | 25 | public Boolean isFavorite() { 26 | return isFavorite; 27 | } 28 | 29 | // alias for isUnread 30 | public Boolean getUnread() { 31 | return isUnread; 32 | } 33 | 34 | public Boolean isUnread() { 35 | return isUnread; 36 | } 37 | 38 | public static DeltaChange valueOf(JSONObject jobj) { 39 | String msgId = jobj.getString("messageId"); 40 | Boolean isFavorite = jobj.getBoolean("isFavorite"); 41 | Boolean isUnread = jobj.getBoolean("isUnread"); 42 | 43 | return new DeltaChange(msgId, isFavorite, isUnread); 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /sdk/server/java/codekit/src/main/java/com/att/api/immn/service/DeltaResponse.java: -------------------------------------------------------------------------------- 1 | package com.att.api.immn.service; 2 | 3 | import org.json.JSONObject; 4 | import org.json.JSONArray; 5 | 6 | public final class DeltaResponse { 7 | public final String state; 8 | public final Delta[] delta; 9 | 10 | public DeltaResponse(String state, Delta[] delta) { 11 | this.state = state; 12 | this.delta = delta; 13 | } 14 | 15 | public String getState() { 16 | return state; 17 | } 18 | 19 | public Delta[] getDeltas() { 20 | return delta; 21 | } 22 | 23 | public static DeltaResponse valueOf(JSONObject jobj) { 24 | JSONObject jdeltaResponse = jobj.getJSONObject("deltaResponse"); 25 | String state = jdeltaResponse.getString("state"); 26 | 27 | JSONArray jdelta = jdeltaResponse.getJSONArray("delta"); 28 | Delta[] delta = new Delta[jdelta.length()]; 29 | for (int i = 0; i < jdelta.length(); ++i) 30 | delta[i] = Delta.valueOf(jdelta.getJSONObject(i)); 31 | 32 | return new DeltaResponse(state, delta); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /sdk/server/java/codekit/src/main/java/com/att/api/immn/service/MessageContent.java: -------------------------------------------------------------------------------- 1 | package com.att.api.immn.service; 2 | 3 | public final class MessageContent { 4 | private final String contentType; 5 | private final String contentLength; 6 | private final byte[] content; 7 | 8 | public MessageContent(String ctype, String clength, byte[] content) { 9 | this.contentType = ctype; 10 | this.contentLength = clength; 11 | this.content = content; 12 | } 13 | 14 | public String getContentType() { 15 | return contentType; 16 | } 17 | 18 | public String getContentLength() { 19 | return contentLength; 20 | } 21 | 22 | public byte[] getContent() { 23 | return content; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /sdk/server/java/codekit/src/main/java/com/att/api/immn/service/MessageContentType.java: -------------------------------------------------------------------------------- 1 | package com.att.api.immn.service; 2 | 3 | public enum MessageContentType { 4 | TEXT("TEXT"), IMAGE("IMAGE"), AUDIO("AUDIO"), VIDEO("VIDEO"); 5 | 6 | private final String str; 7 | 8 | private MessageContentType(String str) { 9 | this.str = str; 10 | } 11 | 12 | public static MessageContentType fromString(String str) { 13 | final MessageContentType[] types = MessageContentType.values(); 14 | 15 | for (int i = 0; i < types.length; ++i) { 16 | MessageContentType type = types[i]; 17 | if (type.str.equalsIgnoreCase(str)) { 18 | return types[i]; 19 | } 20 | } 21 | 22 | return null; 23 | } 24 | 25 | public String getString() { 26 | return str; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /sdk/server/java/codekit/src/main/java/com/att/api/immn/service/MessageIndexInfo.java: -------------------------------------------------------------------------------- 1 | package com.att.api.immn.service; 2 | 3 | import org.json.JSONObject; 4 | 5 | public final class MessageIndexInfo { 6 | 7 | private String contentType; 8 | private int contentLength; 9 | private CacheStatus status; 10 | private String state; 11 | private int messageCount; 12 | 13 | private MessageIndexInfo() { 14 | } 15 | 16 | public static MessageIndexInfo valueOf(JSONObject jobj) { 17 | MessageIndexInfo info = new MessageIndexInfo(); 18 | 19 | JSONObject jmsgIndexInfo = jobj.getJSONObject("messageIndexInfo"); 20 | 21 | info.status = CacheStatus.fromString(jmsgIndexInfo.getString("status")); 22 | info.state = jmsgIndexInfo.getString("state"); 23 | info.messageCount = jmsgIndexInfo.getInt("messageCount"); 24 | 25 | return info; 26 | } 27 | 28 | public String getContentType() { 29 | return contentType; 30 | } 31 | 32 | public int getContentLength() { 33 | return contentLength; 34 | } 35 | 36 | public CacheStatus getStatus() { 37 | return status; 38 | } 39 | 40 | public String getState() { 41 | return state; 42 | } 43 | 44 | public int getMessageCount() { 45 | return messageCount; 46 | } 47 | 48 | } 49 | -------------------------------------------------------------------------------- /sdk/server/java/codekit/src/main/java/com/att/api/immn/service/MessageType.java: -------------------------------------------------------------------------------- 1 | package com.att.api.immn.service; 2 | 3 | public enum MessageType { 4 | SMS("SMS"), MMS("MMS"); 5 | 6 | private final String val; 7 | 8 | private MessageType(String val) { 9 | this.val = val; 10 | } 11 | 12 | public String getString() { 13 | return this.val; 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /sdk/server/java/codekit/src/main/java/com/att/api/immn/service/MmsContent.java: -------------------------------------------------------------------------------- 1 | package com.att.api.immn.service; 2 | 3 | import org.json.JSONObject; 4 | 5 | public final class MmsContent { 6 | private final String contentName; 7 | private final String contentType; 8 | private final String contentUrl; 9 | private final MessageContentType type; 10 | 11 | public MmsContent(String cname, String ctype, String curl, 12 | MessageContentType type) { 13 | 14 | this.contentName = cname; 15 | this.contentType = ctype; 16 | this.contentUrl = curl; 17 | this.type = type; 18 | } 19 | 20 | public String getContentName() { 21 | return contentName; 22 | } 23 | 24 | public String getContentType() { 25 | return contentType; 26 | } 27 | 28 | public String getContentUrl() { 29 | return contentUrl; 30 | } 31 | 32 | public MessageContentType getType() { 33 | return type; 34 | } 35 | 36 | public static MmsContent valueOf(JSONObject jobj) { 37 | final String cname = jobj.getString("contentName"); 38 | final String ctype = jobj.getString("contentType"); 39 | final String curl = jobj.getString("contentUrl"); 40 | 41 | final String typestr = jobj.getString("type"); 42 | final MessageContentType type = MessageContentType.fromString(typestr); 43 | 44 | return new MmsContent(cname, ctype, curl, type); 45 | } 46 | 47 | } 48 | -------------------------------------------------------------------------------- /sdk/server/java/codekit/src/main/java/com/att/api/immn/service/SegmentationDetails.java: -------------------------------------------------------------------------------- 1 | package com.att.api.immn.service; 2 | 3 | import org.json.JSONObject; 4 | 5 | public final class SegmentationDetails { 6 | private final int segmentationMsgRefNumber; 7 | private final int totalNumberOfParts; 8 | private final int thisPartNumber; 9 | 10 | public SegmentationDetails(int refNumb, int numbParts, int partNumb) { 11 | this.segmentationMsgRefNumber = refNumb; 12 | this.totalNumberOfParts = numbParts; 13 | this.thisPartNumber = partNumb; 14 | } 15 | 16 | public int getSegmentationMsgRefNumber() { 17 | return segmentationMsgRefNumber; 18 | } 19 | 20 | public int getTotalNumberOfParts() { 21 | return totalNumberOfParts; 22 | } 23 | 24 | public int getThisPartNumber() { 25 | return thisPartNumber; 26 | } 27 | 28 | public static SegmentationDetails valueOf(JSONObject jobj) { 29 | int refNumb = jobj.getInt("segmentationMsgRefNumber"); 30 | int numbParts = jobj.getInt("totalNumberOfParts"); 31 | int partNumb = jobj.getInt("thisPartNumber"); 32 | 33 | return new SegmentationDetails(refNumb, numbParts, partNumb); 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /sdk/server/java/codekit/src/main/java/com/att/api/immn/service/SendResponse.java: -------------------------------------------------------------------------------- 1 | package com.att.api.immn.service; 2 | 3 | import org.json.JSONObject; 4 | 5 | public final class SendResponse { 6 | private String id; 7 | 8 | public SendResponse(String id) { 9 | this.id = id; 10 | } 11 | 12 | public String getId() { 13 | return this.id; 14 | } 15 | 16 | public static SendResponse valueOf(JSONObject jobj) { 17 | String id = jobj.getString("id"); 18 | 19 | return new SendResponse(id); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /sdk/server/java/codekit/src/main/java/com/att/api/immn/service/TypeMetaData.java: -------------------------------------------------------------------------------- 1 | package com.att.api.immn.service; 2 | 3 | import org.json.JSONObject; 4 | 5 | public final class TypeMetaData { 6 | 7 | private final Boolean isSegmented; 8 | private final SegmentationDetails details; 9 | private final String subject; 10 | 11 | public TypeMetaData(Boolean isSegmented, SegmentationDetails details, 12 | String subject) { 13 | 14 | this.isSegmented = isSegmented; 15 | this.details = details; 16 | this.subject = subject; 17 | } 18 | 19 | public Boolean getIsSegmented() { 20 | return isSegmented; 21 | } 22 | 23 | public SegmentationDetails getSegmentationDetails() { 24 | return details; 25 | } 26 | 27 | public String getSubject() { 28 | return subject; 29 | } 30 | 31 | public static TypeMetaData valueOf(JSONObject jobj) { 32 | Boolean isSegmented = null; 33 | SegmentationDetails details = null; 34 | String subject = null; 35 | 36 | if (jobj.has("isSegmented")) 37 | isSegmented = jobj.getBoolean("isSegmented"); 38 | 39 | if (jobj.has("segmentationDetails")) { 40 | JSONObject jdetails = jobj.getJSONObject("segmentationDetails"); 41 | details = SegmentationDetails.valueOf(jdetails); 42 | } 43 | 44 | if (jobj.has("subject")) 45 | subject = jobj.getString("subject"); 46 | 47 | return new TypeMetaData(isSegmented, details, subject); 48 | } 49 | 50 | } 51 | -------------------------------------------------------------------------------- /sdk/server/java/codekit/src/main/java/com/att/api/immn/service/package-info.java: -------------------------------------------------------------------------------- 1 | 2 | /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4 foldmethod=marker */ 3 | 4 | /* 5 | * Copyright 2014 AT&T 6 | * 7 | * Licensed under the Apache License, Version 2.0 (the "License"); 8 | * you may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, software 14 | * distributed under the License is distributed on an "AS IS" BASIS, 15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | * See the License for the specific language governing permissions and 17 | * limitations under the License. 18 | */ 19 | 20 | /** 21 | * Provides classes for working with version 1 of AT&T In-app Messaging 22 | * from Mobile Number(IMMN) API. 23 | * 24 | *

25 | * For more information, refer to the documenation at 26 | * IMMN. 27 | *

28 | * 29 | * @author pk9069 30 | * @author kh455g 31 | * @since 1.0 32 | * @see com.att.api.immn.service.IMMNService 33 | */ 34 | 35 | package com.att.api.immn.service; 36 | -------------------------------------------------------------------------------- /sdk/server/java/codekit/src/main/java/com/att/api/oauth/package-info.java: -------------------------------------------------------------------------------- 1 | /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4 */ 2 | 3 | /* 4 | * Copyright 2014 AT&T 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | /** 20 | * Provides classes for working with the OAuth 2.0 Authorization Framework. 21 | * 22 | *

23 | * For more information, refer to the documenation at 24 | * OAuth. 25 | *

26 | * 27 | * @author pk9069 28 | * @since 1.0 29 | * @see com.att.api.oauth.OAuthService 30 | * @see com.att.api.oauth.OAuthToken 31 | */ 32 | package com.att.api.oauth; 33 | -------------------------------------------------------------------------------- /sdk/server/java/codekit/src/main/java/com/att/api/payment/model/AppCategory.java: -------------------------------------------------------------------------------- 1 | package com.att.api.payment.model; 2 | 3 | public enum AppCategory { 4 | INAPP_GAMES(1), 5 | INAPP_OTHER(3), 6 | APP_GAME(4), 7 | APP_OTHER(5); 8 | 9 | private int value; 10 | 11 | private AppCategory(int value){ 12 | this.value = value; 13 | } 14 | 15 | public int getValue(){ 16 | return this.value; 17 | } 18 | } 19 | 20 | -------------------------------------------------------------------------------- /sdk/server/java/codekit/src/main/java/com/att/api/payment/model/Notary.java: -------------------------------------------------------------------------------- 1 | package com.att.api.payment.model; 2 | 3 | public class Notary { 4 | private String signature; 5 | private String signedDocument; 6 | private String payload; 7 | 8 | public Notary(String payload, String signedDoc, String signature) { 9 | this.signedDocument = signedDoc; 10 | this.signature = signature; 11 | this.payload = payload; 12 | } 13 | 14 | public String getSignedDocument() { 15 | return this.signedDocument; 16 | } 17 | 18 | public String getSignature() { 19 | return this.signature; 20 | } 21 | 22 | public String getPayload(){ 23 | return this.payload; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /sdk/server/java/codekit/src/main/java/com/att/api/payment/model/RefundReason.java: -------------------------------------------------------------------------------- 1 | package com.att.api.payment.model; 2 | 3 | public enum RefundReason { 4 | CP_NONE(1), 5 | CP_LOSS_OF_ELIGIBILITY(2), 6 | CP_PRODUCT_TERMINATION(3), 7 | CP_ABUSE_OF_PRIVILEGES(4), 8 | CP_CONVERSION_TO_NEW_PRODUCT(5), 9 | CP_NONRENEWABLE_PRODUCT(6), 10 | CP_DUPLICATE_SUBSCRIPTION(7), 11 | CP_OTHER(8), 12 | SUBSCRIBER_nONE(9), 13 | SUBSCRIBER_DID_NOT_USE(10), 14 | SUBSCRIBER_TOO_EXPENSIVE(11), 15 | SUBSCRIBER_DID_NOT_LIKE(12), 16 | SUBSCRIBER_REPLACED_BY_SAME_COMPANY(13), 17 | SUBSCRIBER_REPLACED_BY_DIFFERENT_COMPANY(14), 18 | SUBSCRIBER_DUPLICATE_SUBSCRIPTION(15), 19 | SUBSCRIBER_OTHER(16); 20 | 21 | private int value; 22 | 23 | private RefundReason(int value){ 24 | this.value = value; 25 | } 26 | 27 | public int getValue(){ 28 | return this.value; 29 | } 30 | } 31 | 32 | -------------------------------------------------------------------------------- /sdk/server/java/codekit/src/main/java/com/att/api/rest/HttpPatch.java: -------------------------------------------------------------------------------- 1 | /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */ 2 | 3 | /* 4 | * Copyright 2014 AT&T 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package com.att.api.rest; 20 | 21 | import java.net.URI; 22 | import org.apache.http.client.methods.HttpEntityEnclosingRequestBase; 23 | 24 | // http://tools.ietf.org/html/rfc5789 25 | public class HttpPatch extends HttpEntityEnclosingRequestBase { 26 | public HttpPatch(final String uri) { 27 | super(); 28 | setURI(URI.create(uri)); 29 | } 30 | 31 | @Override 32 | public String getMethod() { 33 | return "PATCH"; 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /sdk/server/java/codekit/src/main/java/com/att/api/rest/package-info.java: -------------------------------------------------------------------------------- 1 | /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4 */ 2 | 3 | /* 4 | * Copyright 2014 AT&T 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | /** 20 | * Provides classes for sending RESTFul requests and handling responses. 21 | * 22 | *

23 | * This class follows the dependency inversion principle by applying a varation 24 | * of the adapter pattern. That is, this class is essentially a wrapper with a 25 | * simplified interface to a full http client. 26 | *

27 | * 28 | * @author pk9069 29 | * @since 1.0 30 | * @see com.att.api.rest.RESTClient 31 | */ 32 | 33 | package com.att.api.rest; 34 | -------------------------------------------------------------------------------- /sdk/server/java/codekit/src/main/java/com/att/api/service/package-info.java: -------------------------------------------------------------------------------- 1 | /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4 */ 2 | 3 | /* 4 | * Copyright 2014 AT&T 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | /** 20 | * Provides common code for service classes. 21 | * 22 | * @author pk9069 23 | * @author kh455g 24 | * @since 1.0 25 | */ 26 | 27 | package com.att.api.service; 28 | -------------------------------------------------------------------------------- /sdk/server/java/codekit/src/main/java/com/att/api/sms/model/package-info.java: -------------------------------------------------------------------------------- 1 | /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4 */ 2 | 3 | /* 4 | * Copyright 2014 AT&T 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | /** 20 | * Provides classes for holding SMS API responses. 21 | * 22 | * @author pk9069 23 | * @since 1.0 24 | */ 25 | 26 | package com.att.api.sms.model; 27 | -------------------------------------------------------------------------------- /sdk/server/java/codekit/src/main/java/com/att/api/sms/service/package-info.java: -------------------------------------------------------------------------------- 1 | /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4 */ 2 | 3 | /* 4 | * Copyright 2014 AT&T 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | /** 20 | * Provides classes for working with version 3 of AT&T SMS API. 21 | * 22 | * @author pk9069 23 | * @since 1.0 24 | */ 25 | 26 | package com.att.api.sms.service; 27 | -------------------------------------------------------------------------------- /sdk/server/java/codekit/src/main/java/com/att/api/util/package-info.java: -------------------------------------------------------------------------------- 1 | /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4 */ 2 | 3 | /* 4 | * Copyright 2014 AT&T 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | /** 20 | * Provides utility classes with helper methods. 21 | * 22 | * @since 1.0 23 | */ 24 | 25 | package com.att.api.util; 26 | -------------------------------------------------------------------------------- /sdk/server/java/codekit/src/main/java/com/att/api/webhooks/service/CreateChannelArgs.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2015 AT&T 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.att.api.webhooks.service; 18 | 19 | public final class CreateChannelArgs { 20 | private final String serviceName; 21 | private final String contentType; 22 | private final Double version; 23 | 24 | public CreateChannelArgs(final String serviceName, 25 | final String contentType, final Double version 26 | ) { 27 | this.serviceName = serviceName; 28 | this.contentType = contentType; 29 | this.version = version; 30 | } 31 | 32 | public String getServiceName() { 33 | return this.serviceName; 34 | } 35 | 36 | public String getContentType() { 37 | return this.contentType; 38 | } 39 | 40 | public Double getVersion() { 41 | return this.version; 42 | } 43 | } 44 | 45 | /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */ 46 | -------------------------------------------------------------------------------- /sdk/server/java/codekit/src/test/java/com/att/api/oauth/OAuthServiceITCase.java: -------------------------------------------------------------------------------- 1 | package com.att.api.oauth; 2 | 3 | import org.junit.Test; 4 | 5 | import com.att.api.rest.RESTException; 6 | 7 | import static org.junit.Assert.assertTrue; 8 | 9 | public class OAuthServiceITCase { 10 | 11 | @Test 12 | public void testGetToken() throws RESTException { 13 | // set these settings to use this integration test 14 | // TODO: move to config file 15 | final String fqdn = ""; 16 | final String clientId = ""; 17 | final String clientSecret = ""; 18 | // RESTClient.setDefaultProxy("proxy.host", 8080); 19 | 20 | if (fqdn == null || fqdn.equals("")) { 21 | final String msg = "OAuth integration test settings not set; skipping."; 22 | System.out.println(msg); 23 | return; 24 | } 25 | 26 | OAuthService osrvc = new OAuthService(fqdn, clientId, clientSecret); 27 | OAuthToken token = osrvc.getToken("SMS"); 28 | 29 | assertTrue(token.getAccessToken() != null); 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /sdk/server/java/codekit/src/test/java/com/att/api/rest/APIResponseTest.java: -------------------------------------------------------------------------------- 1 | package com.att.api.rest; 2 | 3 | import org.junit.Rule; 4 | import org.junit.Test; 5 | import org.junit.rules.TemporaryFolder; 6 | 7 | import static org.junit.Assert.assertTrue; 8 | import static org.junit.Assert.assertFalse; 9 | import static org.junit.Assert.assertEquals; 10 | 11 | public class APIResponseTest { 12 | 13 | public void testConstructor() { 14 | // TODO: Finish 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /sdk/server/java/codekit/src/test/java/com/att/api/rest/HttpHeaderTest.java: -------------------------------------------------------------------------------- 1 | package com.att.api.rest; 2 | 3 | import org.junit.BeforeClass; 4 | import org.junit.Test; 5 | 6 | import static org.junit.Assert.assertEquals; 7 | 8 | public class HttpHeaderTest { 9 | private static HttpHeader header; 10 | private static final String NAME = "name"; 11 | private static final String VALUE = "value"; 12 | 13 | @BeforeClass 14 | public static void createHeader() { 15 | HttpHeaderTest.header = new HttpHeader(NAME, VALUE); 16 | } 17 | 18 | @Test 19 | public void testGetName() { 20 | assertEquals(header.getName(), NAME); 21 | } 22 | 23 | @Test 24 | public void testGetValue() { 25 | assertEquals(header.getValue(), VALUE); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /sdk/server/java/codekit/src/test/java/com/att/api/sms/model/SMSSendResponseTest.java: -------------------------------------------------------------------------------- 1 | package com.att.api.sms.model; 2 | 3 | import java.text.ParseException; 4 | 5 | import org.json.JSONObject; 6 | import org.junit.Test; 7 | 8 | import static org.junit.Assert.assertEquals; 9 | 10 | public class SMSSendResponseTest { 11 | 12 | @Test 13 | public void constructor() { 14 | final String msgid = "1"; 15 | final String url = "https://api.att.com"; 16 | SMSSendResponse response = new SMSSendResponse(msgid, url); 17 | 18 | assertEquals(response.getMessageId(), msgid); 19 | assertEquals(response.getResourceUrl(), url); 20 | } 21 | 22 | @Test 23 | public void valueOf() throws ParseException { 24 | final String jstr = new StringBuilder() 25 | .append("{") 26 | .append(" \"outboundSMSResponse\": {") 27 | .append(" \"messageId\":\"1\",") 28 | .append(" \"resourceReference\": {") 29 | .append(" \"resourceURL\":\"https://api.att.com\"") 30 | .append(" }") 31 | .append(" }") 32 | .append("} ") 33 | .toString(); 34 | 35 | JSONObject jobj = new JSONObject(jstr); 36 | 37 | SMSSendResponse response = SMSSendResponse.valueOf(jobj); 38 | 39 | assertEquals(response.getMessageId(), "1"); 40 | assertEquals(response.getResourceUrl(), "https://api.att.com"); 41 | } 42 | 43 | } 44 | -------------------------------------------------------------------------------- /sdk/server/java/conf/att-api.properties: -------------------------------------------------------------------------------- 1 | AppKey=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 2 | Secret=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 3 | apiHost=https://api.att.com 4 | 5 | authCallbackUrl=https://localhost:4568/att/callback 6 | 7 | # The API scopes this app uses. 8 | clientModelScope=SMS 9 | #NOTIFICATIONCHANNEL 10 | 11 | # Overrides the service's OAuth expires_in value (in seconds), 0 is ignored. 12 | tokenExpireSeconds=0 13 | 14 | # Allow unsafe operations from the client for testing only: 15 | # 1) Client credential token revocation 16 | # 2) Show Notification Channels, Subscriptions, and Notifications without Identifier 17 | enableUnsafeOperations=false 18 | 19 | #set to false to disable SSL Verification 20 | enableSSLCheck=true 21 | 22 | # these files must exist in the MEDIA_DIR 23 | defaultGrammarFile=grammar.srgs 24 | defaultDictionaryFile=dictionary.pls 25 | -------------------------------------------------------------------------------- /sdk/server/java/doc_src/resources/images/att-overview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/java/doc_src/resources/images/att-overview.png -------------------------------------------------------------------------------- /sdk/server/java/doc_src/resources/images/att.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/java/doc_src/resources/images/att.png -------------------------------------------------------------------------------- /sdk/server/java/doc_src/resources/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/java/doc_src/resources/images/logo.png -------------------------------------------------------------------------------- /sdk/server/java/doc_src/welcome.css: -------------------------------------------------------------------------------- 1 | /* 2 | - Setting a smaller size for the logo and giving it a border. 3 | */ 4 | 5 | .whats-new img { 6 | width: 150px; 7 | height: 150px; 8 | border: 1px solid #aaa; 9 | } 10 | 11 | /* 12 | 1. Cleared float for better distribution of "document sections" rather than the default layout. 13 | 2. Added some padding and margins to make it look pretty. 14 | */ 15 | 16 | .content-list { 17 | clear: both; 18 | padding-left: 20px; 19 | margin-bottom: 10px; 20 | } 21 | 22 | /* 23 | 1. Hard set width to properly align footer (quick and dirty). 24 | 2. Set a border so "View all" doesn't look like it's doing it's own thing. 25 | 3. Rounded to make it look pretty. 26 | */ 27 | 28 | .sample-apps { 29 | width: 900px !important; 30 | border: 1px solid #ddd; 31 | border-radius: 5px; 32 | } 33 | 34 | /* 35 | This makes sure all of the doc icons play nice and dont clip their containers. 36 | */ 37 | 38 | .sample-apps img { 39 | height: 72px; 40 | } -------------------------------------------------------------------------------- /sdk/server/java/doc_src/welcome.html: -------------------------------------------------------------------------------- 1 |
2 | 3 |

4 |

AT&T HTML5 SDK Java Server

5 | 6 | View API Documentation 7 | 8 |
9 |
10 |

What is the HTML5 SDK Java Server?

11 |

The HTML5 SDK Java Server provides reusable and extend-able server code written in Java. The SDK server takes requests from AttApiClient and sends them to the AT&T API Platform. 12 |

13 |
14 |
15 |
-------------------------------------------------------------------------------- /sdk/server/java/lib/codekit-1.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/java/lib/codekit-1.0.jar -------------------------------------------------------------------------------- /sdk/server/java/lib/commons-cli-1.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/java/lib/commons-cli-1.2.jar -------------------------------------------------------------------------------- /sdk/server/java/lib/commons-lang3-3.3.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/java/lib/commons-lang3-3.3.2.jar -------------------------------------------------------------------------------- /sdk/server/java/lib/jetty-continuation-8.0.4.v20111024.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/java/lib/jetty-continuation-8.0.4.v20111024.jar -------------------------------------------------------------------------------- /sdk/server/java/lib/jetty-http-8.0.4.v20111024.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/java/lib/jetty-http-8.0.4.v20111024.jar -------------------------------------------------------------------------------- /sdk/server/java/lib/jetty-io-8.0.4.v20111024.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/java/lib/jetty-io-8.0.4.v20111024.jar -------------------------------------------------------------------------------- /sdk/server/java/lib/jetty-security-8.0.4.v20111024.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/java/lib/jetty-security-8.0.4.v20111024.jar -------------------------------------------------------------------------------- /sdk/server/java/lib/jetty-server-8.0.4.v20111024.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/java/lib/jetty-server-8.0.4.v20111024.jar -------------------------------------------------------------------------------- /sdk/server/java/lib/jetty-servlet-8.0.4.v20111024.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/java/lib/jetty-servlet-8.0.4.v20111024.jar -------------------------------------------------------------------------------- /sdk/server/java/lib/jetty-servlets-8.0.4.v20111024.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/java/lib/jetty-servlets-8.0.4.v20111024.jar -------------------------------------------------------------------------------- /sdk/server/java/lib/jetty-util-8.0.4.v20111024.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/java/lib/jetty-util-8.0.4.v20111024.jar -------------------------------------------------------------------------------- /sdk/server/java/lib/jetty-webapp-8.0.4.v20111024.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/java/lib/jetty-webapp-8.0.4.v20111024.jar -------------------------------------------------------------------------------- /sdk/server/java/lib/jetty-xml-8.0.4.v20111024.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/java/lib/jetty-xml-8.0.4.v20111024.jar -------------------------------------------------------------------------------- /sdk/server/java/lib/servlet-api-3.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/java/lib/servlet-api-3.0.jar -------------------------------------------------------------------------------- /sdk/server/java/lib/tika-core-1.4.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/java/lib/tika-core-1.4.jar -------------------------------------------------------------------------------- /sdk/server/java/readme.md: -------------------------------------------------------------------------------- 1 | You must have ANT installed to build the Java server. To build it, run the following command. 2 | ant clean war 3 | To run the server, use the following command: 4 | java -classpath lib\*;webapp\WEB-INF\lib\*;dist\att.jar -Datt.api.conf=conf\att-api.properties com.html5sdk.jetty.EmbeddedServer war 4567 5 | The shell scripts build.sh and run.sh are provided for your convenience. 6 | Access the server by navigating your browser to http://localhost:4567 7 | -------------------------------------------------------------------------------- /sdk/server/java/resources/Bananas.amr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/java/resources/Bananas.amr -------------------------------------------------------------------------------- /sdk/server/java/resources/Bananas.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/java/resources/Bananas.wav -------------------------------------------------------------------------------- /sdk/server/java/resources/Starbucks.amr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/java/resources/Starbucks.amr -------------------------------------------------------------------------------- /sdk/server/java/resources/Starbucks.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/java/resources/Starbucks.wav -------------------------------------------------------------------------------- /sdk/server/java/resources/Test.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/java/resources/Test.wav -------------------------------------------------------------------------------- /sdk/server/java/resources/att-logo-developer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/java/resources/att-logo-developer.png -------------------------------------------------------------------------------- /sdk/server/java/resources/coupon.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/java/resources/coupon.jpg -------------------------------------------------------------------------------- /sdk/server/java/resources/dictionary.pls: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Qiang 5 | tS { n 6 | 7 | -------------------------------------------------------------------------------- /sdk/server/java/resources/grammar.grxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Qiang 5 | David 6 | 7 | 8 | 9 | 10 | 11 | text 12 | send message to 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /sdk/server/java/resources/hello.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/java/resources/hello.jpg -------------------------------------------------------------------------------- /sdk/server/java/resources/messageQiang.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/java/resources/messageQiang.wav -------------------------------------------------------------------------------- /sdk/server/java/resources/qt_16khz_awb.awb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/java/resources/qt_16khz_awb.awb -------------------------------------------------------------------------------- /sdk/server/java/resources/spanish.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/java/resources/spanish.wav -------------------------------------------------------------------------------- /sdk/server/java/resources/test-16khz peexwb-16.spx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/java/resources/test-16khz peexwb-16.spx -------------------------------------------------------------------------------- /sdk/server/java/resources/test-16khz-linear-pcm.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/java/resources/test-16khz-linear-pcm.wav -------------------------------------------------------------------------------- /sdk/server/java/resources/test-16khz.awb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/java/resources/test-16khz.awb -------------------------------------------------------------------------------- /sdk/server/java/resources/test-8khz-amrnb-MR475.amr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/java/resources/test-8khz-amrnb-MR475.amr -------------------------------------------------------------------------------- /sdk/server/java/resources/test-8khz-linear-pcm.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/java/resources/test-8khz-linear-pcm.wav -------------------------------------------------------------------------------- /sdk/server/java/resources/test1_8khz_speex.spx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/java/resources/test1_8khz_speex.spx -------------------------------------------------------------------------------- /sdk/server/java/resources/textDavid.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/java/resources/textDavid.wav -------------------------------------------------------------------------------- /sdk/server/java/run.cmd: -------------------------------------------------------------------------------- 1 | java -classpath lib\*;webapp\WEB-INF\lib\*;dist\att.jar -Datt.api.conf=conf\att-api.properties com.html5sdk.jetty.EmbeddedServer -war -keystorePath=certs\.keystore -keystorePassword=password 2 | -------------------------------------------------------------------------------- /sdk/server/java/run.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | echo "starting server" 4 | 5 | java -classpath lib/*:webapp/WEB-INF/lib/*:dist/att.jar: -Datt.api.conf=conf/att-api.properties com.html5sdk.jetty.EmbeddedServer -war -keystorePath=certs/.keystore -keystorePassword=password 6 | -------------------------------------------------------------------------------- /sdk/server/java/src/com/html5sdk/att/servlet/Action.java: -------------------------------------------------------------------------------- 1 | package com.html5sdk.att.servlet; 2 | 3 | import javax.servlet.http.HttpServletRequest; 4 | import javax.servlet.http.HttpServletResponse; 5 | 6 | public interface Action { 7 | 8 | boolean match(HttpServletRequest request); 9 | 10 | void handleException(Exception e, HttpServletResponse response); 11 | 12 | void execute(HttpServletRequest request, HttpServletResponse response) 13 | throws Exception; 14 | } 15 | -------------------------------------------------------------------------------- /sdk/server/java/src/com/html5sdk/att/servlet/ActionConfigurationException.java: -------------------------------------------------------------------------------- 1 | package com.html5sdk.att.servlet; 2 | 3 | public class ActionConfigurationException extends RuntimeException { 4 | private static final long serialVersionUID = 1L; 5 | 6 | public ActionConfigurationException(String errorMessage) { 7 | super(errorMessage); 8 | } 9 | 10 | } 11 | -------------------------------------------------------------------------------- /sdk/server/java/src/com/html5sdk/att/servlet/AttAuthorizationException.java: -------------------------------------------------------------------------------- 1 | package com.html5sdk.att.servlet; 2 | 3 | public class AttAuthorizationException extends RuntimeException { 4 | private static final long serialVersionUID = 1L; 5 | 6 | public AttAuthorizationException(String errorMessage) { 7 | super(errorMessage); 8 | } 9 | 10 | } 11 | -------------------------------------------------------------------------------- /sdk/server/java/src/com/html5sdk/att/servlet/ErrorHandler.java: -------------------------------------------------------------------------------- 1 | package com.html5sdk.att.servlet; 2 | 3 | public interface ErrorHandler { 4 | 5 | } 6 | -------------------------------------------------------------------------------- /sdk/server/java/src/com/html5sdk/att/servlet/SharedCredentials.java: -------------------------------------------------------------------------------- 1 | package com.html5sdk.att.servlet; 2 | 3 | import com.html5sdk.att.AttConstants; 4 | import com.html5sdk.att.provider.ClientCredentialsManager; 5 | 6 | 7 | /** 8 | * 9 | * A singleton form of ClientCredentialsManager using the AttConstants values. 10 | * 11 | * @singleton 12 | * @class com.html5sdk.att.servlet.SharedCredentials 13 | * 14 | */ 15 | public class SharedCredentials { 16 | 17 | private static ClientCredentialsManager manager; 18 | 19 | static{ 20 | init(); 21 | } 22 | 23 | /** 24 | * @method getInstance 25 | * @return {ClientCredentialsManager} manager 26 | */ 27 | public static ClientCredentialsManager getInstance() { 28 | return manager; 29 | } 30 | 31 | 32 | private static void init() { 33 | 34 | manager = new ClientCredentialsManager( 35 | AttConstants.HOST, 36 | AttConstants.CLIENTIDSTRING, 37 | AttConstants.CLIENTSECRETSTRING, 38 | AttConstants.CLIENTMODELSCOPE, 39 | AttConstants.TOKEN_EXPIRES_SECONDS); 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /sdk/server/java/src/com/html5sdk/att/servlet/SmsGenericListener.java: -------------------------------------------------------------------------------- 1 | package com.html5sdk.att.servlet; 2 | 3 | import java.io.IOException; 4 | 5 | import javax.servlet.ServletException; 6 | import javax.servlet.http.HttpServlet; 7 | import javax.servlet.http.HttpServletRequest; 8 | import javax.servlet.http.HttpServletResponse; 9 | 10 | import org.apache.commons.io.IOUtils; 11 | import org.json.JSONException; 12 | import org.json.JSONObject; 13 | 14 | /** 15 | * 16 | * @class com.html5sdk.att.servlet.SmsGenericListener 17 | */ 18 | public class SmsGenericListener extends HttpServlet { 19 | 20 | private static final long serialVersionUID = 1L; 21 | 22 | @Override 23 | public void doPost(HttpServletRequest req, HttpServletResponse resp) 24 | throws ServletException, IOException { 25 | 26 | String body = IOUtils.toString(req.getInputStream(), "UTF-8"); 27 | try { 28 | JSONObject smsJson = new JSONObject(body); 29 | this.processSmsMessage(smsJson); 30 | } catch (JSONException e) { 31 | e.printStackTrace(); 32 | } 33 | } 34 | 35 | /** 36 | * @method processSmsMessage This method should be override on child class 37 | * of this generic listener. 38 | * @param message 39 | */ 40 | public void processSmsMessage(JSONObject message) { 41 | // NO OP 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /sdk/server/java/src/com/html5sdk/att/servlet/votes/Counter.java: -------------------------------------------------------------------------------- 1 | package com.html5sdk.att.servlet.votes; 2 | 3 | import java.io.IOException; 4 | import java.io.PrintWriter; 5 | 6 | import javax.servlet.ServletException; 7 | import javax.servlet.http.HttpServlet; 8 | import javax.servlet.http.HttpServletRequest; 9 | import javax.servlet.http.HttpServletResponse; 10 | 11 | import org.json.JSONArray; 12 | import org.json.JSONException; 13 | import org.json.JSONObject; 14 | 15 | @SuppressWarnings("serial") 16 | public class Counter extends HttpServlet { 17 | 18 | @Override 19 | protected void doGet(HttpServletRequest req, HttpServletResponse resp) 20 | throws ServletException, IOException { 21 | 22 | PrintWriter writer = resp.getWriter(); 23 | JSONObject jsonResponse = new JSONObject(); 24 | 25 | try { 26 | 27 | JSONArray data = Votes.getVotes(); 28 | jsonResponse.put("total", this.calculateTotal(data)); 29 | jsonResponse.put("data", data); 30 | 31 | jsonResponse.put("success", true); 32 | 33 | } catch (JSONException e) { 34 | e.printStackTrace(); 35 | } 36 | 37 | writer.write(jsonResponse.toString()); 38 | writer.flush(); 39 | writer.close(); 40 | 41 | } 42 | 43 | private int calculateTotal(JSONArray votes) throws JSONException { 44 | int total = 0; 45 | int l = votes.length(); 46 | 47 | for(int i =0; i" 14 | -------------------------------------------------------------------------------- /sdk/server/php/buildDocs.sh: -------------------------------------------------------------------------------- 1 | echo "" 2 | echo "---------------------------------------" 3 | echo "- building PHP server docs for SDK ----" 4 | echo "---------------------------------------" 5 | echo "" 6 | 7 | mkdir -p ../../../packaged.docs/docs/server/php 8 | 9 | jsduck \ 10 | public_html/att/service_provider/*.php \ 11 | -o ../../../packaged.docs/docs/server/php \ 12 | --warnings=-all \ 13 | --eg-iframe=doc_src/inline-eg.html \ 14 | --guides=doc_src/guides.json \ 15 | --categories=doc_src/class-categories.json \ 16 | --images=doc_src/resources/images \ 17 | --title="AT&T API Platform SDK for HTML5 - PHP Server" \ 18 | --head-html="" 19 | 20 | -------------------------------------------------------------------------------- /sdk/server/php/doc_src/class-categories.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "name": "PHP SDK Classes", 4 | "groups": [ 5 | { 6 | "classes": [ 7 | "Base", 8 | "Debug", 9 | "Html5_ServiceProvider_Base_Att", 10 | "IMMN_ServiceProvider", 11 | "SMS_ServiceProvider" 12 | ] 13 | } 14 | ] 15 | } 16 | ] -------------------------------------------------------------------------------- /sdk/server/php/doc_src/inline-eg.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | AT&T HTML5 SDK Examples 6 | 7 | 8 | 9 | 10 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /sdk/server/php/doc_src/resources/images/att-overview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/php/doc_src/resources/images/att-overview.png -------------------------------------------------------------------------------- /sdk/server/php/doc_src/resources/images/att.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/php/doc_src/resources/images/att.png -------------------------------------------------------------------------------- /sdk/server/php/doc_src/resources/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/php/doc_src/resources/images/logo.png -------------------------------------------------------------------------------- /sdk/server/php/doc_src/welcome.css: -------------------------------------------------------------------------------- 1 | /* 2 | - Setting a smaller size for the logo and giving it a border. 3 | */ 4 | 5 | .whats-new img { 6 | width: 150px; 7 | height: 150px; 8 | border: 1px solid #aaa; 9 | } 10 | 11 | /* 12 | 1. Cleared float for better distribution of "document sections" rather than the default layout. 13 | 2. Added some padding and margins to make it look pretty. 14 | */ 15 | 16 | .content-list { 17 | clear: both; 18 | padding-left: 20px; 19 | margin-bottom: 10px; 20 | } 21 | 22 | /* 23 | 1. Hard set width to properly align footer (quick and dirty). 24 | 2. Set a border so "View all" doesn't look like it's doing it's own thing. 25 | 3. Rounded to make it look pretty. 26 | */ 27 | 28 | .sample-apps { 29 | width: 900px !important; 30 | border: 1px solid #ddd; 31 | border-radius: 5px; 32 | } 33 | 34 | /* 35 | This makes sure all of the doc icons play nice and dont clip their containers. 36 | */ 37 | 38 | .sample-apps img { 39 | height: 72px; 40 | } -------------------------------------------------------------------------------- /sdk/server/php/doc_src/welcome.html: -------------------------------------------------------------------------------- 1 |
2 | 3 |

4 |

AT&T HTML5 SDK PHP Server

5 | 6 | View API Documentation 7 | 8 |
9 |
10 |

What is the HTML5 SDK PHP Server?

11 |

The HTML5 SDK PHP Server provides reusable and extend-able server code written in PHP. The SDK server takes requests from AttApiClient and sends them to the AT&T API Platform. 12 |

13 |
14 |
15 |
-------------------------------------------------------------------------------- /sdk/server/php/public_html/att/codekit.lib/IMMN/MessageContent.php: -------------------------------------------------------------------------------- 1 | _contentType; 33 | } 34 | 35 | public function getContentLength() 36 | { 37 | return $this->_contentLength; 38 | } 39 | 40 | public function getContent() 41 | { 42 | return $this->_content; 43 | } 44 | 45 | public static function fromArray($arr) 46 | { 47 | $immnMsgContent = new IMMNMessageContent(); 48 | 49 | $immnMsgContent->_contentType = $arr['contentType']; 50 | $immnMsgContent->_contentLength = $arr['contentLength']; 51 | $immnMsgContent->_content = $arr['content']; 52 | 53 | return $immnMsgContent; 54 | } 55 | } 56 | 57 | /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */ 58 | ?> 59 | -------------------------------------------------------------------------------- /sdk/server/php/public_html/att/codekit.lib/Restful/HttpPatch.php: -------------------------------------------------------------------------------- 1 | _body = $body; 31 | } 32 | 33 | public function getBody() 34 | { 35 | return $this->_body; 36 | } 37 | } 38 | 39 | /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */ 40 | ?> 41 | -------------------------------------------------------------------------------- /sdk/server/php/public_html/att/codekit.lib/Restful/HttpPut.php: -------------------------------------------------------------------------------- 1 | _putData = $putData; 27 | } 28 | 29 | public function getPutData() 30 | { 31 | return $this->_putData; 32 | } 33 | 34 | } 35 | 36 | /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */ 37 | ?> 38 | -------------------------------------------------------------------------------- /sdk/server/php/public_html/att/codekit.lib/Webhooks/Subscription.php: -------------------------------------------------------------------------------- 1 | 38 | -------------------------------------------------------------------------------- /sdk/server/php/public_html/att/codekit.lib/Webhooks/SubscriptionResponse.php: -------------------------------------------------------------------------------- 1 | _subscriptionId = $subscriptionId; 36 | $this->_expiresIn = $expiresIn; 37 | } 38 | 39 | public function getSubscriptionId() 40 | { 41 | return $this->_subscriptionId; 42 | } 43 | 44 | public function getExpiresIn() 45 | { 46 | return $this->_expiresIn; 47 | } 48 | } 49 | 50 | /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */ 51 | ?> 52 | -------------------------------------------------------------------------------- /sdk/server/php/public_html/att/logout.php: -------------------------------------------------------------------------------- 1 | revokeConsentToken($scope); 27 | //unset($_SESSION['consent_tokens'][$scope]); 28 | } 29 | } else { 30 | if (DEBUG) { 31 | Debug::init(); 32 | $a = $_SESSION['consent_refresh_tokens']['MIM']; 33 | Debug::write("Revoke Old Refresh token: $a.\n"); 34 | Debug::end(); 35 | } 36 | $html5_serviceprovider_base->revokeConsentToken('MIM'); 37 | $html5_serviceprovider_base->revokeConsentToken('IMMN'); 38 | } 39 | 40 | echo "{\"authorized\": false }"; 41 | } 42 | catch(ServiceException $se) { 43 | return_json_error($se->getErrorCode(), $se->getErrorResponse()); 44 | } 45 | catch(Exception $e) { 46 | return_json_error(400, $e->getMessage()); 47 | } 48 | 49 | ?> 50 | -------------------------------------------------------------------------------- /sdk/server/php/public_html/att/media/Bananas.amr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/php/public_html/att/media/Bananas.amr -------------------------------------------------------------------------------- /sdk/server/php/public_html/att/media/Bananas.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/php/public_html/att/media/Bananas.wav -------------------------------------------------------------------------------- /sdk/server/php/public_html/att/media/Starbucks.amr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/php/public_html/att/media/Starbucks.amr -------------------------------------------------------------------------------- /sdk/server/php/public_html/att/media/Starbucks.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/php/public_html/att/media/Starbucks.wav -------------------------------------------------------------------------------- /sdk/server/php/public_html/att/media/Test.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/php/public_html/att/media/Test.wav -------------------------------------------------------------------------------- /sdk/server/php/public_html/att/media/att-logo-developer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/php/public_html/att/media/att-logo-developer.png -------------------------------------------------------------------------------- /sdk/server/php/public_html/att/media/coupon.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/php/public_html/att/media/coupon.jpg -------------------------------------------------------------------------------- /sdk/server/php/public_html/att/media/dictionary.pls: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Qiang 5 | tS { n 6 | 7 | -------------------------------------------------------------------------------- /sdk/server/php/public_html/att/media/grammar.srgs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Qiang 5 | David 6 | 7 | 8 | 9 | 10 | 11 | text 12 | send message to 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /sdk/server/php/public_html/att/media/hello.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/php/public_html/att/media/hello.jpg -------------------------------------------------------------------------------- /sdk/server/php/public_html/att/media/messageQiang.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/php/public_html/att/media/messageQiang.wav -------------------------------------------------------------------------------- /sdk/server/php/public_html/att/media/qt_16khz_awb.awb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/php/public_html/att/media/qt_16khz_awb.awb -------------------------------------------------------------------------------- /sdk/server/php/public_html/att/media/spanish.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/php/public_html/att/media/spanish.wav -------------------------------------------------------------------------------- /sdk/server/php/public_html/att/media/test-16khz peexwb-16.spx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/php/public_html/att/media/test-16khz peexwb-16.spx -------------------------------------------------------------------------------- /sdk/server/php/public_html/att/media/test-16khz-linear-pcm.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/php/public_html/att/media/test-16khz-linear-pcm.wav -------------------------------------------------------------------------------- /sdk/server/php/public_html/att/media/test-16khz.awb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/php/public_html/att/media/test-16khz.awb -------------------------------------------------------------------------------- /sdk/server/php/public_html/att/media/test-8khz-amrnb-MR475.amr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/php/public_html/att/media/test-8khz-amrnb-MR475.amr -------------------------------------------------------------------------------- /sdk/server/php/public_html/att/media/test-8khz-linear-pcm.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/php/public_html/att/media/test-8khz-linear-pcm.wav -------------------------------------------------------------------------------- /sdk/server/php/public_html/att/media/test1_8khz_speex.spx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/php/public_html/att/media/test1_8khz_speex.spx -------------------------------------------------------------------------------- /sdk/server/php/public_html/att/media/textDavid.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/php/public_html/att/media/textDavid.wav -------------------------------------------------------------------------------- /sdk/server/php/public_html/att/notifications.php: -------------------------------------------------------------------------------- 1 | 13 | # a234abcd-92e0-4c1a-9c1f-356b6ddf610b 14 | # 1122222a-92e0-4c1a-9c1f-356b6ddf610b 15 | # 16 | 17 | # Get the raw data 18 | $data = file_get_contents("php://input"); 19 | 20 | # Convert this xml to an object 21 | $xml = simplexml_load_string($data); 22 | 23 | # Loop through all of the children (in the 'http://hub.amdocs.com' namespace) 24 | foreach($xml->children('http://hub.amdocs.com') as $child) { 25 | // error_log("notificationId=".$child); 26 | $token = $provider->getCurrentClientToken(); 27 | $data = array($token, $child); 28 | $provider->getNotification($data); 29 | $provider->acknowledgeNotification($data); 30 | } 31 | 32 | # Echo the xml back 33 | echo $data; 34 | 35 | ?> 36 | -------------------------------------------------------------------------------- /sdk/server/php/public_html/att/oauth.php: -------------------------------------------------------------------------------- 1 | oauthUrl($scope, $return_url, $custom_param); 26 | echo "{\"url\":\"" . $user_auth_url . "\"}"; 27 | } else { 28 | http_response_code(400); // Set response code to 400 - Bad Request in case of all exceptions 29 | echo "{\"error\": \"scope and returnUrl querystring parameters must be specified\"}"; 30 | } 31 | ?> -------------------------------------------------------------------------------- /sdk/server/php/public_html/att/votegetter.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /sdk/server/php/public_html/att/votes.json: -------------------------------------------------------------------------------- 1 | {"success":true,"total":10,"data":[{"sport":"Football","votes":4},{"sport":"Baseball","votes":3},{"sport":"Basketball","votes":3}]} -------------------------------------------------------------------------------- /sdk/server/ruby/att/services/oauth.rb: -------------------------------------------------------------------------------- 1 | class Html5SdkApp < Sinatra::Base 2 | 3 | # @!group Authorization 4 | 5 | # @method get_att_oauth_userauthurl 6 | # @overload get '/att/oauth/userAuthUrl' 7 | # @param scope [querystring parameter] The web services the app wants to access. 8 | # @param returnUrl [querystring parameter] The page to redirect to, after authorization is complete. 9 | # @return [JSON] Authorization URL 10 | # 11 | # Return a URL that can be used to authorize the app to 12 | # access the specified AT&T web services on behalf of the 13 | # authorizing user. 14 | # 15 | get '/att/oauth/userAuthUrl' do 16 | content_type :json # set response type 17 | scope = request.GET['scope'] 18 | return_url = request.GET['returnUrl'] 19 | custom_param = request.GET['custom_param'] 20 | if scope.nil? or return_url.nil? 21 | return [400, { :error => "'scope' and 'returnUrl' querystring parameters must be specified" }.to_json] 22 | end 23 | encoded_scope = CGI.escape scope 24 | encoded_return_url = CGI.escape return_url 25 | callback_handler = "#{$config['localAuthServer']}/att/callback?scope=#{encoded_scope}&returnUrl=#{encoded_return_url}" 26 | 27 | auther = Auth::AuthCode.new($config['apiHost'], $config['appKey'], $config['Secret']) 28 | user_auth_url = auther.generateConsentFlowUrl(:scope => [scope], :redirect => callback_handler) 29 | if !custom_param.nil? && !custom_param.to_s.empty? 30 | user_auth_url = "#{user_auth_url}&custom_param=#{custom_param}" 31 | end 32 | {:url => user_auth_url}.to_json 33 | end 34 | end 35 | -------------------------------------------------------------------------------- /sdk/server/ruby/buildDocs.sh: -------------------------------------------------------------------------------- 1 | echo "" 2 | echo "----------------------------------------" 3 | echo "- building Ruby server docs for SDK ----" 4 | echo "----------------------------------------" 5 | echo "" 6 | 7 | mkdir -p ../../../packaged.docs/docs/server/ruby 8 | 9 | yardoc \ 10 | --verbose \ 11 | --no-private \ 12 | --title "AT&T HTML5 SDK (Ruby Server)" \ 13 | -o ../../../packaged.docs/docs/server/ruby \ 14 | att/*.rb \ 15 | att/services/*.rb 16 | 17 | -------------------------------------------------------------------------------- /sdk/server/ruby/certs/.gitattributes: -------------------------------------------------------------------------------- 1 | *.key binary 2 | *.cert binary -------------------------------------------------------------------------------- /sdk/server/ruby/certs/readme.txt: -------------------------------------------------------------------------------- 1 | Place your SSL certificate files in this folder. 2 | -------------------------------------------------------------------------------- /sdk/server/ruby/certs/www.example.com.cert: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIDBzCCAe+gAwIBAgIJAN/NLJ34RnSbMA0GCSqGSIb3DQEBBQUAMBoxGDAWBgNV 3 | BAMMD3d3dy5leGFtcGxlLmNvbTAeFw0xNDA0MTMyMDM5MTlaFw0yNDA0MTAyMDM5 4 | MTlaMBoxGDAWBgNVBAMMD3d3dy5leGFtcGxlLmNvbTCCASIwDQYJKoZIhvcNAQEB 5 | BQADggEPADCCAQoCggEBANRTCoSwePchvy9SnCspMg0eJoVGz6Ln3apqDzGgT7J2 6 | pIAY1mXQXGK9jG9S49BNttnZnd6uZle0ASwJQZYtTgv3cGBpVrpw1oRz10vEGAqr 7 | LDaqbQgC5hXVcofaxSTT4miGpLaiSUi0cyhbpDltXmtqsskH3IVR+oFScO90P213 8 | q4NbbPfQewfCdspi9ffZ0VDqk+jZ2T25MAoUyOebdgAF84SjIsUlm0FhFBtAZ/5M 9 | MyUw7d1OnUWr09y8s2xR8UQn2AH7YLC4Zr7y+8NpFvg5ohjcDAbNucea7ndUhZTs 10 | q5UaFYDyn9Cg+fe8pOA/3nx9UTajgKYVgNS4prBuQO8CAwEAAaNQME4wHQYDVR0O 11 | BBYEFBLA28kF2GjNfFZgpzb2gy8RywUgMB8GA1UdIwQYMBaAFBLA28kF2GjNfFZg 12 | pzb2gy8RywUgMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAIlYLdEn 13 | j7sPwNUZ/pJ64jJXA9kVJiQMrkWxKGvh7xbXhhODGdD1xHg4KHTOLyJD9am8O/nY 14 | +JDtOwTWR9Anrf7A+tfKQk0gfqFYDyimj1Krsp3UytKpMeLgJeJub/OGDCm+svnX 15 | WmSXhcfojD7sfehknZ2ahlTHU56jxh4rXY/PCI0BGlIWmXOpe+RBtNgEW7mftqqx 16 | o6I/MUbJE5AgtD7jjq1yDX2t0wIUPT0KwZDq0UiRi7BJvv0fvRbII2e42nFLp0W2 17 | rEr5uYdWDiQJLKm+dLvSYgaFZbURnRs3SLDJRRmyqQC9PlLdbdhZFC5eVDZSa0xC 18 | qapfpzA4F2bOZfY= 19 | -----END CERTIFICATE----- 20 | -------------------------------------------------------------------------------- /sdk/server/ruby/conf/att-api.properties: -------------------------------------------------------------------------------- 1 | appKey : aasmnhdcynkp3iqqiwxos3qko2xuganq 2 | Secret : npidaeds5kauel2yfqdjgtcnla52wmo5 3 | apiHost : https://api.att.com 4 | 5 | localServer : http://localhost:4567 6 | localAuthServer: https://localhost:4568 7 | 8 | clientModelScope : SMS 9 | # clientModelScope : 10 | clientModelRefreshSeconds : 0 11 | ReduceTokenExpiryInSeconds_Debug : 0 12 | 13 | # allow users to revoke the app's client credential from the att/showTokens 14 | # debug page. Do not enable on your production site! 15 | enableUnsafeClientTokenRevocation : false 16 | 17 | # these files must exist in the MEDIA_DIR 18 | defaultGrammarFile : grammar.srgs 19 | defaultDictionaryFile : dictionary.pls 20 | -------------------------------------------------------------------------------- /sdk/server/ruby/doc_src/doc_support.rb: -------------------------------------------------------------------------------- 1 | # @macro [attach] sinatra.get 2 | # @overload get "$1" 3 | # @macro [attach] sinatra.post 4 | # @overload post "$1" 5 | # @macro [attach] sinatra.put 6 | # @overload put "$1" 7 | # @macro [attach] sinatra.delete 8 | # @overload delete "$1" 9 | 10 | -------------------------------------------------------------------------------- /sdk/server/ruby/lib/codekit.rb: -------------------------------------------------------------------------------- 1 | # Monkey patch in require relative for versions of ruby that do not support it 2 | unless Kernel.respond_to?(:require_relative) 3 | module Kernel 4 | def require_relative(path) 5 | require File.join(File.dirname(caller[0]), path.to_str) 6 | end 7 | end 8 | end 9 | 10 | require_relative "codekit/version" 11 | 12 | module Att 13 | # @author kh455g 14 | module Codekit 15 | module Auth 16 | require_relative "codekit/auth" 17 | end 18 | 19 | module Model 20 | require_relative "codekit/model" 21 | end 22 | 23 | module Service 24 | require_relative "codekit/service" 25 | end 26 | 27 | module Util 28 | require_relative "codekit/util" 29 | end 30 | end 31 | end 32 | -------------------------------------------------------------------------------- /sdk/server/ruby/lib/codekit/auth.rb: -------------------------------------------------------------------------------- 1 | 2 | module Att 3 | module Codekit 4 | # @author kh455g 5 | module Auth 6 | require_relative "auth/oauth_service" 7 | require_relative "auth/oauth_token" 8 | require_relative "auth/auth_code" 9 | require_relative "auth/client_cred" 10 | require_relative "auth/client" 11 | end 12 | end 13 | end 14 | -------------------------------------------------------------------------------- /sdk/server/ruby/lib/codekit/auth/client.rb: -------------------------------------------------------------------------------- 1 | require 'immutable_struct' 2 | 3 | module Att 4 | module Codekit 5 | module Auth 6 | 7 | class Client < ImmutableStruct.new(:id, :secret) 8 | # @!attribute [r] id 9 | # @return [String] the client id 10 | # @!attribute [r] secret 11 | # @return [String] the client secret 12 | end 13 | 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /sdk/server/ruby/lib/codekit/auth/client_cred.rb: -------------------------------------------------------------------------------- 1 | # Copyright 2014 AT&T 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | module Att 16 | module Codekit 17 | module Auth 18 | 19 | class ClientCred < OAuthService 20 | 21 | # Creates a new oauth token 22 | # 23 | # @param scope [String, Array] The scope to create a token for, can be omitted if set in constructor 24 | # 25 | # @return [OAuthToken] a new oauth token 26 | def createToken(scope=nil) 27 | scope = Array(scope || @scope).join(",") 28 | makeToken(:client_credentials, :scope => scope) 29 | end 30 | 31 | end 32 | 33 | end 34 | end 35 | end 36 | -------------------------------------------------------------------------------- /sdk/server/ruby/lib/codekit/model.rb: -------------------------------------------------------------------------------- 1 | # Copyright 2015 AT&T 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | #@author kh455g 16 | module Att 17 | module Codekit 18 | module Model 19 | 20 | require_relative "model/immn" 21 | require_relative "model/payment" 22 | require_relative "model/payment_notification" 23 | require_relative "model/simple_responses" 24 | require_relative "model/mim" 25 | require_relative "model/notification_channel" 26 | require_relative "model/notification_subscription" 27 | require_relative "model/sms" 28 | 29 | end 30 | end 31 | end 32 | -------------------------------------------------------------------------------- /sdk/server/ruby/lib/codekit/model/immn.rb: -------------------------------------------------------------------------------- 1 | # Copyright 2014 AT&T 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | require 'json' 16 | require 'immutable_struct' 17 | 18 | module Att 19 | module Codekit 20 | module Model 21 | 22 | class IMMNResponse < ImmutableStruct.new(:id) 23 | # IMMN request response 24 | # 25 | # @!attribute [r] id 26 | # @return [String] the id of the sent message 27 | 28 | # Factory method to create an object from a json string 29 | # 30 | # @param json [String] a json encoded string 31 | # 32 | # @return [IMMNResponse] a parsed object 33 | def self.createFromJson(json) 34 | self.createFromParsedJson(JSON.parse(json)) 35 | end 36 | 37 | # Factory method to create an object from a json string 38 | # 39 | # @param json [Object] a json encoded string 40 | # 41 | # @return [IMMNResponse] a parsed object 42 | def self.createFromParsedJson(json) 43 | new(json["id"]) 44 | end 45 | end 46 | 47 | end 48 | end 49 | end 50 | -------------------------------------------------------------------------------- /sdk/server/ruby/lib/codekit/model/simple_responses.rb: -------------------------------------------------------------------------------- 1 | # Copyright 2014 AT&T 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | require 'immutable_struct' 16 | 17 | 18 | module Att 19 | module Codekit 20 | module Model 21 | 22 | class SuccessCreated < ImmutableStruct.new(:location) 23 | def self.from_response(response) 24 | headers = response.headers unless response.nil? 25 | 26 | new(headers[:location]) if headers 27 | end 28 | end 29 | 30 | class SuccessNoContent < ImmutableStruct.new(:last_modified) 31 | def self.from_response(response) 32 | headers = response.headers unless response.nil? 33 | 34 | new(headers[:last_modified]) if headers 35 | end 36 | end 37 | 38 | class SuccessDeleted < ImmutableStruct.new(:id) 39 | def self.from_response(response) 40 | id = response.headers[:x_systemTransactionId] unless response.nil? 41 | 42 | new(id) 43 | end 44 | end 45 | 46 | end 47 | end 48 | end 49 | -------------------------------------------------------------------------------- /sdk/server/ruby/lib/codekit/util.rb: -------------------------------------------------------------------------------- 1 | # Copyright 2015 AT&T 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | #@author kh455g 16 | module Att 17 | module Codekit 18 | module Util 19 | class << self 20 | def serverTime 21 | Time.now.utc.strftime("%a, %B %d, %Y %H:%M:%S UTC") 22 | end 23 | end 24 | end 25 | end 26 | end 27 | -------------------------------------------------------------------------------- /sdk/server/ruby/lib/codekit/version.rb: -------------------------------------------------------------------------------- 1 | module Att 2 | module Codekit 3 | VERSION = "6.0.0" 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /sdk/server/ruby/media/Bananas.amr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/ruby/media/Bananas.amr -------------------------------------------------------------------------------- /sdk/server/ruby/media/Bananas.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/ruby/media/Bananas.wav -------------------------------------------------------------------------------- /sdk/server/ruby/media/Starbucks.amr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/ruby/media/Starbucks.amr -------------------------------------------------------------------------------- /sdk/server/ruby/media/Starbucks.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/ruby/media/Starbucks.wav -------------------------------------------------------------------------------- /sdk/server/ruby/media/Test.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/ruby/media/Test.wav -------------------------------------------------------------------------------- /sdk/server/ruby/media/att-logo-developer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/ruby/media/att-logo-developer.png -------------------------------------------------------------------------------- /sdk/server/ruby/media/coupon.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/ruby/media/coupon.jpg -------------------------------------------------------------------------------- /sdk/server/ruby/media/dictionary.pls: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Qiang 5 | tS { n 6 | 7 | -------------------------------------------------------------------------------- /sdk/server/ruby/media/grammar.srgs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Qiang 5 | David 6 | 7 | 8 | 9 | 10 | 11 | text 12 | send message to 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /sdk/server/ruby/media/hello.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/ruby/media/hello.jpg -------------------------------------------------------------------------------- /sdk/server/ruby/media/messageQiang.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/ruby/media/messageQiang.wav -------------------------------------------------------------------------------- /sdk/server/ruby/media/qt_16khz_awb.awb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/ruby/media/qt_16khz_awb.awb -------------------------------------------------------------------------------- /sdk/server/ruby/media/spanish.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/ruby/media/spanish.wav -------------------------------------------------------------------------------- /sdk/server/ruby/media/test-16khz peexwb-16.spx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/ruby/media/test-16khz peexwb-16.spx -------------------------------------------------------------------------------- /sdk/server/ruby/media/test-16khz-linear-pcm.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/ruby/media/test-16khz-linear-pcm.wav -------------------------------------------------------------------------------- /sdk/server/ruby/media/test-16khz.awb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/ruby/media/test-16khz.awb -------------------------------------------------------------------------------- /sdk/server/ruby/media/test-8khz-amrnb-MR475.amr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/ruby/media/test-8khz-amrnb-MR475.amr -------------------------------------------------------------------------------- /sdk/server/ruby/media/test-8khz-linear-pcm.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/ruby/media/test-8khz-linear-pcm.wav -------------------------------------------------------------------------------- /sdk/server/ruby/media/test1_8khz_speex.spx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/ruby/media/test1_8khz_speex.spx -------------------------------------------------------------------------------- /sdk/server/ruby/media/textDavid.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/server/ruby/media/textDavid.wav -------------------------------------------------------------------------------- /sdk/server/ruby/run.cmd: -------------------------------------------------------------------------------- 1 | pushd att 2 | start "HTML5 SDK Ruby HTTP Server" ruby app.rb 3 | start "HTML5 SDK Ruby HTTPS Server" ruby listener.rb 4 | popd 5 | -------------------------------------------------------------------------------- /sdk/server/ruby/run.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | nohup ruby ./att/app.rb > app.log & 4 | nohup ruby ./att/listener.rb > listener.log & 5 | 6 | -------------------------------------------------------------------------------- /sdk/webcontent/IMMN/App1/app/Config.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Sample App Configuration 3 | * @class SampleApp.Config 4 | * @singleton 5 | */ 6 | Ext.define('SampleApp.Config', { 7 | singleton: true, 8 | 9 | 10 | /** 11 | * apiBasePath is used as the root path to make the SenchProvider api calls 12 | * so this path can be blank, relative, or absolute. 13 | */ 14 | apiBasePath : '/att', 15 | 16 | /** 17 | * url of where to get the json data 18 | */ 19 | imageDataUri : '/att/mms/gallerygetter', 20 | 21 | /** 22 | * gallery images folder uri 23 | */ 24 | galleryImagesFolder : '/att/mms/gallery/', 25 | 26 | /** 27 | * coupon folder, relative to where the app is installed 28 | */ 29 | couponImagesBaseUri : 'assets/data/coupons/', 30 | 31 | /** 32 | * short code or Registration ID used on Sample Apps 33 | */ 34 | shortCode : '44629062', 35 | 36 | /** 37 | * short code or Registration ID used on Sample app to receive messages from on the second button 38 | */ 39 | anotherShortCode : '44629062', 40 | 41 | defaultPhoneNbr : '', 42 | headerCount : 1, 43 | alertTitle : 'Message', 44 | errorTitle : 'ERROR', 45 | successTitle : 'SUCCESS', 46 | invalidPhoneMsg : 'Phone number is not valid. Please re-enter.
Example: 1XXXXXXXXXX, XXX-XXX-XXXX, XXXXXXXXXX', 47 | defaultMessage : 'Simple message to myself.', 48 | maxTotalFileSize : 1000 * 1024 49 | }); 50 | -------------------------------------------------------------------------------- /sdk/webcontent/IMMN/App1/app/app.js: -------------------------------------------------------------------------------- 1 | Ext.Loader.setConfig({ 2 | enabled: true 3 | }); 4 | 5 | Ext.Loader.setPath({ 6 | 'Att': 'attlib' 7 | }); 8 | 9 | /** 10 | * Sample In App Messaging Basic application 11 | * @class SampleApp 12 | */ 13 | Ext.application({ 14 | name: 'SampleApp', 15 | controllers: ['iam.iamExample'], 16 | stores: ['Messages'], 17 | models: ['Message', 'MessageContent'], 18 | views: ['iam.iamExample'], 19 | 20 | launch: function(){ 21 | Ext.Viewport.add({ 22 | xtype: 'container', 23 | fullscreen: true, 24 | layout: 'card', 25 | items:[{ 26 | xtype: 'toolbar', 27 | title: 'In App Messaging Application', 28 | docked: 'top', 29 | ui: 'att', 30 | items:[{ 31 | xtype: 'button', 32 | text: 'Log out', 33 | verticalAlign: 'center', 34 | id: 'btnLogout', 35 | cls: 'logout-button', 36 | action: 'logout', 37 | docked: 'right', 38 | style: { fontSize: '114%' }, 39 | ui: 'att' 40 | }] 41 | },{ 42 | xtype: 'att-iam-iamExample' 43 | }] 44 | }); 45 | } 46 | }); -------------------------------------------------------------------------------- /sdk/webcontent/IMMN/App1/app/model/Message.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * 4 | * Model used in the IAM app for Messages 5 | * 6 | */ 7 | Ext.define('SampleApp.model.Message', { 8 | extend: 'Ext.data.Model', 9 | 10 | config: { 11 | /** 12 | * The fields that make up this Model 13 | */ 14 | idProperty: 'messageId', 15 | fields: [ 16 | { name: 'isUnread' }, 17 | { name: 'selected' , defaultValue: false}, 18 | { name: 'messageId' }, 19 | { name: 'from' }, 20 | { name: 'recipients' }, 21 | { 22 | name: 'timeStamp', 23 | sortType: Ext.data.SortTypes.asDate 24 | }, 25 | { name: 'type' }, 26 | { name: 'typeMetaData' }, 27 | { name: 'isIncoming' }, 28 | { name: 'mmsContent', model: 'SampleApp.model.MessageContent' }, 29 | { name: 'text' }, 30 | { name: 'isUpdated', defaultValue: false} 31 | ] 32 | } 33 | }); 34 | 35 | 36 | -------------------------------------------------------------------------------- /sdk/webcontent/IMMN/App1/app/model/MessageContent.js: -------------------------------------------------------------------------------- 1 | /** 2 | * 3 | * Model used in the IAM app for MessageContent 4 | * 5 | */ 6 | Ext.define('SampleApp.model.MessageContent', { 7 | extend: 'Ext.data.Model', 8 | config: { 9 | /** 10 | * The fields that make up this Model 11 | */ 12 | fields: [ 13 | { name: 'contentType' }, 14 | { name: 'isTextType' }, 15 | { name: 'contentName' }, 16 | { name: 'contentUrl' }, 17 | { name: 'type' }, 18 | { name: 'content' }, 19 | { name: 'hasContent' } 20 | ] 21 | } 22 | }); 23 | -------------------------------------------------------------------------------- /sdk/webcontent/IMMN/App1/app/store/Messages.js: -------------------------------------------------------------------------------- 1 | (function () { 2 | 3 | function addLoad(store, records, successful, operation, eOpts) { 4 | store.each(function (record, index) { 5 | var mmsContent = record.get('mmsContent'); 6 | if (mmsContent != null) { 7 | mmsContent.forEach(function (contentItem, contentIndex) { 8 | contentItem.hasContent = (typeof contentItem.content != "undefined"); 9 | contentItem.partNum = contentIndex; 10 | contentItem.isTextType = false; 11 | switch (contentItem.type) { 12 | case "SMIL": 13 | case "TEXT": 14 | contentItem.isTextType = true; 15 | break; 16 | } 17 | }); 18 | record.set("mmsContent", mmsContent); 19 | } 20 | }, 21 | store 22 | ); 23 | } 24 | 25 | try { 26 | /** 27 | * 28 | * Store used to hold IAM Message model instances. 29 | * 30 | */ 31 | Ext.define('SampleApp.store.Messages', { 32 | extend: 'Ext.data.Store', 33 | config: { 34 | autoLoad: false, 35 | model: 'SampleApp.model.Message', 36 | listeners: { 37 | load: addLoad, 38 | addrecords: addLoad 39 | } 40 | } 41 | }); 42 | 43 | } catch (e) { 44 | // if we get here it is usually due to private browsing 45 | // turned on in iOS and local/session storage doesn't like that 46 | } 47 | })(); -------------------------------------------------------------------------------- /sdk/webcontent/IMMN/App1/app/view/Footer.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @class SampleApp.view.Footer 3 | * A class to show the legal message as a footer on each Sample Application. 4 | */ 5 | Ext.define('SampleApp.view.Footer', { 6 | extend: 'Ext.Container', 7 | xtype: 'att-footer', 8 | 9 | config : { 10 | cls: 'legal-message', 11 | html: ' \ 12 |
\ 13 | Powered by AT&T Virtual Mobile\ 14 |
\ 15 |

© 2013 AT&T Intellectual Property. All rights reserved. http://developer.att.com

\ 17 |

The Application hosted on this site are working examples intended to be used for \ 18 | reference in creating products to consume AT&T Services and not meant to be \ 19 | used as part of your product. The data in these pages is for test purposes only \ 20 | and intended only for use as a reference in how the services perform.

\ 21 |

For download of tools and documentation, please go to https://developer.att.com

\ 23 |

For more information contact developer.support@att.com

' 24 | 25 | } 26 | }); -------------------------------------------------------------------------------- /sdk/webcontent/IMMN/App1/app/view/Header.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @class SampleApp.view.Header 3 | * A class to show the header on each Sample Application. 4 | */ 5 | Ext.define('SampleApp.view.Header', { 6 | extend: 'Ext.Container', 7 | xtype: 'att-header', 8 | 9 | config : { 10 | cls: 'legal-message', 11 | tpl: [ 12 | '

Local Time: {localTime}

', 13 | '

User Agent: {userAgent}

' 14 | ], 15 | data:{ 16 | localTime: new Date(), 17 | userAgent: Ext.browser.userAgent 18 | } 19 | } 20 | }); -------------------------------------------------------------------------------- /sdk/webcontent/IMMN/App1/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | AT&T Sample Code 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /sdk/webcontent/SMS/App1/app/Config.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Sample App Configuration 3 | * @class SampleApp.Config 4 | * @singleton 5 | */ 6 | Ext.define('SampleApp.Config', { 7 | singleton: true, 8 | 9 | 10 | /** 11 | * apiBasePath is used as the root path to make the SenchProvider api calls 12 | * so this path can be blank, relative, or absolute. 13 | */ 14 | apiBasePath : '/att', 15 | 16 | /** 17 | * url of where to get the json data 18 | */ 19 | imageDataUri : '/att/mms/gallerygetter', 20 | 21 | /** 22 | * gallery images folder uri 23 | */ 24 | galleryImagesFolder : '/att/mms/gallery/', 25 | 26 | /** 27 | * coupon folder, relative to where the app is installed 28 | */ 29 | couponImagesBaseUri : 'assets/data/coupons/', 30 | 31 | /** 32 | * short code or Registration ID used on Sample Apps 33 | */ 34 | shortCode : '44629062', 35 | 36 | /** 37 | * short code or Registration ID used on Sample app to receive messages from on the second button 38 | */ 39 | anotherShortCode : '44629062', 40 | 41 | defaultPhoneNbr : '', 42 | headerCount : 1, 43 | alertTitle : 'Message', 44 | errorTitle : 'ERROR', 45 | successTitle : 'SUCCESS', 46 | invalidPhoneMsg : 'Phone number is not valid. Please re-enter.
Example: 1XXXXXXXXXX, XXX-XXX-XXXX, XXXXXXXXXX', 47 | defaultMessage : 'AT&T Sample Message', 48 | maxTotalFileSize : 1000 * 1024 49 | }); 50 | -------------------------------------------------------------------------------- /sdk/webcontent/SMS/App1/app/app.js: -------------------------------------------------------------------------------- 1 | Ext.Loader.setConfig({ 2 | enabled: true 3 | }); 4 | 5 | Ext.Loader.setPath({ 6 | 'Att': 'attlib' 7 | }); 8 | 9 | /** 10 | * Sample App SMS Basic application 11 | * @class SampleApp 12 | */ 13 | Ext.application({ 14 | name: 'SampleApp', 15 | 16 | controllers: ['sms.Basic'], 17 | 18 | views: ['sms.Basic'], 19 | 20 | launch: function(){ 21 | Ext.Viewport.add({ 22 | xtype: 'container', 23 | fullscreen: true, 24 | layout: 'card', 25 | items:[{ 26 | xtype: 'toolbar', 27 | title: 'Basic SMS', 28 | docked: 'top', 29 | ui: 'att' 30 | },{ 31 | xtype: 'att-sms-basic' 32 | }] 33 | }); 34 | } 35 | }); -------------------------------------------------------------------------------- /sdk/webcontent/SMS/App1/app/view/Footer.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @class SampleApp.view.Footer 3 | * A class to show the legal message as a footer on each Sample Application. 4 | */ 5 | Ext.define('SampleApp.view.Footer', { 6 | extend: 'Ext.Container', 7 | xtype: 'att-footer', 8 | 9 | config : { 10 | cls: 'legal-message', 11 | html: ' \ 12 |
\ 13 | Powered by AT&T Virtual Mobile\ 14 |
\ 15 |

© 2013 AT&T Intellectual Property. All rights reserved. http://developer.att.com

\ 17 |

The Application hosted on this site are working examples intended to be used for \ 18 | reference in creating products to consume AT&T Services and not meant to be \ 19 | used as part of your product. The data in these pages is for test purposes only \ 20 | and intended only for use as a reference in how the services perform.

\ 21 |

For download of tools and documentation, please go to https://developer.att.com

\ 23 |

For more information contact developer.support@att.com

' 24 | 25 | } 26 | }); -------------------------------------------------------------------------------- /sdk/webcontent/SMS/App1/app/view/Header.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @class SampleApp.view.Header 3 | * A class to show the header on each Sample Application. 4 | */ 5 | Ext.define('SampleApp.view.Header', { 6 | extend: 'Ext.Container', 7 | xtype: 'att-header', 8 | 9 | config : { 10 | cls: 'legal-message', 11 | tpl: [ 12 | '

Local Time: {localTime}

', 13 | '

User Agent: {userAgent}

' 14 | ], 15 | data:{ 16 | localTime: new Date(), 17 | userAgent: Ext.browser.userAgent 18 | } 19 | } 20 | }); -------------------------------------------------------------------------------- /sdk/webcontent/SMS/App1/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | AT&T Sample Code 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /sdk/webcontent/SMS/App2/app/Config.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Sample App Configuration 3 | * @class SampleApp.Config 4 | * @singleton 5 | */ 6 | Ext.define('SampleApp.Config', { 7 | singleton: true, 8 | 9 | 10 | /** 11 | * apiBasePath is used as the root path to make the SenchProvider api calls 12 | * so this path can be blank, relative, or absolute. 13 | */ 14 | apiBasePath : '/att', 15 | 16 | /** 17 | * url of where to get the json data 18 | */ 19 | imageDataUri : '/att/mms/gallerygetter', 20 | 21 | /** 22 | * gallery images folder uri 23 | */ 24 | galleryImagesFolder : '/att/mms/gallery/', 25 | 26 | /** 27 | * coupon folder, relative to where the app is installed 28 | */ 29 | couponImagesBaseUri : 'assets/data/coupons/', 30 | 31 | /** 32 | * short code or Registration ID used on Sample Apps 33 | */ 34 | shortCode : '', 35 | 36 | /** 37 | * short code or Registration ID used on Sample app to receive messages from on the second button 38 | */ 39 | anotherShortCode : '', 40 | 41 | defaultPhoneNbr : '', 42 | headerCount : 1, 43 | alertTitle : 'Message', 44 | errorTitle : 'ERROR', 45 | successTitle : 'SUCCESS', 46 | invalidPhoneMsg : 'Phone number is not valid. Please re-enter.
Example: 1XXXXXXXXXX, XXX-XXX-XXXX, XXXXXXXXXX', 47 | defaultMessage : 'AT&T Sample Message', 48 | maxTotalFileSize : 1000 * 1024 49 | }); 50 | -------------------------------------------------------------------------------- /sdk/webcontent/SMS/App2/app/app.js: -------------------------------------------------------------------------------- 1 | Ext.Loader.setConfig({ 2 | enabled: true 3 | }); 4 | 5 | Ext.Loader.setPath({ 6 | 'Att': 'attlib' 7 | }); 8 | 9 | /** 10 | * Sample App SMS Voting application 11 | * @class SampleApp 12 | */ 13 | Ext.application({ 14 | name: 'SampleApp', 15 | 16 | models: ['Vote'], 17 | 18 | stores: ['Votes'], 19 | 20 | controllers: ['sms.Voting'], 21 | 22 | views: ['sms.Voting'], 23 | 24 | launch: function(){ 25 | Ext.Viewport.add({ 26 | xtype: 'container', 27 | fullscreen: true, 28 | layout: 'card', 29 | items:[{ 30 | xtype: 'toolbar', 31 | title: 'SMS Voting', 32 | docked: 'top', 33 | ui: 'att' 34 | },{ 35 | xtype: 'att-sms-voting' 36 | }] 37 | }); 38 | } 39 | }); -------------------------------------------------------------------------------- /sdk/webcontent/SMS/App2/app/model/Vote.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Model used in SMS Voting app. 3 | */ 4 | Ext.define('SampleApp.model.Vote', { 5 | extend: 'Ext.data.Model', 6 | 7 | config:{ 8 | fields : [ 9 | { name : 'sport' }, 10 | { name : 'votes' } 11 | ] 12 | } 13 | }); -------------------------------------------------------------------------------- /sdk/webcontent/SMS/App2/app/store/Votes.js: -------------------------------------------------------------------------------- 1 | Ext.define('SampleApp.store.Votes', { 2 | extend: 'Ext.data.Store', 3 | 4 | requires: [ 'SampleApp.Config' ], 5 | 6 | config:{ 7 | model: 'SampleApp.model.Vote', 8 | 9 | proxy : { 10 | type : 'ajax', 11 | url : '/att/sms/votegetter', 12 | reader : { 13 | type : 'json', 14 | rootProperty : 'data', 15 | totalProperty : 'total' 16 | } 17 | } 18 | } 19 | 20 | }); 21 | -------------------------------------------------------------------------------- /sdk/webcontent/SMS/App2/app/view/Footer.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @class SampleApp.view.Footer 3 | * A class to show the legal message as a footer on each Sample Application. 4 | */ 5 | Ext.define('SampleApp.view.Footer', { 6 | extend: 'Ext.Container', 7 | xtype: 'att-footer', 8 | 9 | config : { 10 | cls: 'legal-message', 11 | html: ' \ 12 |
\ 13 | Powered by AT&T Virtual Mobile\ 14 |
\ 15 |

© 2013 AT&T Intellectual Property. All rights reserved. http://developer.att.com

\ 17 |

The Application hosted on this site are working examples intended to be used for \ 18 | reference in creating products to consume AT&T Services and not meant to be \ 19 | used as part of your product. The data in these pages is for test purposes only \ 20 | and intended only for use as a reference in how the services perform.

\ 21 |

For download of tools and documentation, please go to https://developer.att.com

\ 23 |

For more information contact developer.support@att.com

' 24 | 25 | } 26 | }); -------------------------------------------------------------------------------- /sdk/webcontent/SMS/App2/app/view/Header.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @class SampleApp.view.Header 3 | * A class to show the header on each Sample Application. 4 | */ 5 | Ext.define('SampleApp.view.Header', { 6 | extend: 'Ext.Container', 7 | xtype: 'att-header', 8 | 9 | config : { 10 | cls: 'legal-message', 11 | tpl: [ 12 | '

Local Time: {localTime}

', 13 | '

User Agent: {userAgent}

' 14 | ], 15 | data:{ 16 | localTime: new Date(), 17 | userAgent: Ext.browser.userAgent 18 | } 19 | } 20 | }); -------------------------------------------------------------------------------- /sdk/webcontent/SMS/App2/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | AT&T Sample Code 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /sdk/webcontent/images/ajax-loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/webcontent/images/ajax-loader.gif -------------------------------------------------------------------------------- /sdk/webcontent/images/arrows.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/webcontent/images/arrows.png -------------------------------------------------------------------------------- /sdk/webcontent/images/class-m.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/webcontent/images/class-m.png -------------------------------------------------------------------------------- /sdk/webcontent/images/comment-bubble.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/webcontent/images/comment-bubble.png -------------------------------------------------------------------------------- /sdk/webcontent/images/comment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/webcontent/images/comment.png -------------------------------------------------------------------------------- /sdk/webcontent/images/component-m.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/webcontent/images/component-m.png -------------------------------------------------------------------------------- /sdk/webcontent/images/default-guide.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/webcontent/images/default-guide.png -------------------------------------------------------------------------------- /sdk/webcontent/images/doc-m.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/webcontent/images/doc-m.png -------------------------------------------------------------------------------- /sdk/webcontent/images/down-arr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/webcontent/images/down-arr.png -------------------------------------------------------------------------------- /sdk/webcontent/images/elbow-end.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/webcontent/images/elbow-end.gif -------------------------------------------------------------------------------- /sdk/webcontent/images/example-icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/webcontent/images/example-icons.png -------------------------------------------------------------------------------- /sdk/webcontent/images/expandcollapse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/webcontent/images/expandcollapse.png -------------------------------------------------------------------------------- /sdk/webcontent/images/group-expand-sprite.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/webcontent/images/group-expand-sprite.gif -------------------------------------------------------------------------------- /sdk/webcontent/images/header.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/webcontent/images/header.png -------------------------------------------------------------------------------- /sdk/webcontent/images/hero-extjs4-alt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/webcontent/images/hero-extjs4-alt.png -------------------------------------------------------------------------------- /sdk/webcontent/images/icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/webcontent/images/icons.png -------------------------------------------------------------------------------- /sdk/webcontent/images/link-green-standard-over.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/webcontent/images/link-green-standard-over.png -------------------------------------------------------------------------------- /sdk/webcontent/images/link-green-standard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/webcontent/images/link-green-standard.png -------------------------------------------------------------------------------- /sdk/webcontent/images/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/webcontent/images/loading.gif -------------------------------------------------------------------------------- /sdk/webcontent/images/logo-screen-noglow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/webcontent/images/logo-screen-noglow.png -------------------------------------------------------------------------------- /sdk/webcontent/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/webcontent/images/logo.png -------------------------------------------------------------------------------- /sdk/webcontent/images/member-collapsed.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/webcontent/images/member-collapsed.gif -------------------------------------------------------------------------------- /sdk/webcontent/images/member-expanded.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/webcontent/images/member-expanded.gif -------------------------------------------------------------------------------- /sdk/webcontent/images/member-hover.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/webcontent/images/member-hover.gif -------------------------------------------------------------------------------- /sdk/webcontent/images/more.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/webcontent/images/more.png -------------------------------------------------------------------------------- /sdk/webcontent/images/phone-l.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/webcontent/images/phone-l.jpg -------------------------------------------------------------------------------- /sdk/webcontent/images/phone-p.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/webcontent/images/phone-p.jpg -------------------------------------------------------------------------------- /sdk/webcontent/images/phone-small-l.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/webcontent/images/phone-small-l.jpg -------------------------------------------------------------------------------- /sdk/webcontent/images/phone-small-p.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/webcontent/images/phone-small-p.jpg -------------------------------------------------------------------------------- /sdk/webcontent/images/print.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/webcontent/images/print.png -------------------------------------------------------------------------------- /sdk/webcontent/images/sample-over.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/webcontent/images/sample-over.gif -------------------------------------------------------------------------------- /sdk/webcontent/images/search-box.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/webcontent/images/search-box.png -------------------------------------------------------------------------------- /sdk/webcontent/images/singleton-m.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/webcontent/images/singleton-m.png -------------------------------------------------------------------------------- /sdk/webcontent/images/tablet-l.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/webcontent/images/tablet-l.jpg -------------------------------------------------------------------------------- /sdk/webcontent/images/tablet-p.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/webcontent/images/tablet-p.jpg -------------------------------------------------------------------------------- /sdk/webcontent/images/tabs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/webcontent/images/tabs.png -------------------------------------------------------------------------------- /sdk/webcontent/images/text-bg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/webcontent/images/text-bg.gif -------------------------------------------------------------------------------- /sdk/webcontent/images/vote-arrows.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/webcontent/images/vote-arrows.png -------------------------------------------------------------------------------- /sdk/webcontent/images/welcome-bg-js4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/webcontent/images/welcome-bg-js4.gif -------------------------------------------------------------------------------- /sdk/webcontent/images/x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/webcontent/images/x.png -------------------------------------------------------------------------------- /sdk/webcontent/images/x12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/webcontent/images/x12.png -------------------------------------------------------------------------------- /sdk/webcontent/lib/dependencies.js: -------------------------------------------------------------------------------- 1 | var TO = setTimeout( 2 | function () { 3 | if (typeof jQuery == "undefined" || typeof Ext == "undefined" || typeof AttApiClient == "undefined") { 4 | document.write('

Dependencies not loaded

'); 5 | if (typeof Ext == "undefined") { 6 | document.write( 7 | '

This AT&T SDK sample requires Sencha Touch http://www.sencha.com/products/touch/download/ (tested with version 2.3.1)

' + 8 | '

You will need to agree to the Sencha software license, then download the code and copy the following files into the webcontent/lib folder:

    ' + 9 | '
  • sencha-touch-all.js
  • sencha-touch.css
'); 10 | } 11 | if (typeof AttApiClient == "undefined") { 12 | document.write('

This AT&T SDK sample requires the AT&T HTML5 SDK file att-api-client.js. Please copy this file from the client folder, to the webcontent/lib folder.
'); 13 | } 14 | if (typeof jQuery == "undefined") { 15 | document.write('

This AT&T SDK sample requires the jQuery library. Please download and copy this file to the webcontent/lib folder.
'); 16 | } 17 | document.write('

If you choose to run the Java variant of the included SDK server, you will need to recompile it so that the resulting .war file includes these files.

'); 18 | } 19 | clearTimeout(TO); 20 | }, 4000 21 | ); -------------------------------------------------------------------------------- /sdk/webcontent/qUnit/.settings/org.eclipse.wst.jsdt.ui.superType.container: -------------------------------------------------------------------------------- 1 | org.eclipse.wst.jsdt.launching.JRE_CONTAINER -------------------------------------------------------------------------------- /sdk/webcontent/qUnit/.settings/org.eclipse.wst.jsdt.ui.superType.name: -------------------------------------------------------------------------------- 1 | Global -------------------------------------------------------------------------------- /sdk/webcontent/qUnit/IAM.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |

IAM Tests

13 |

14 |
15 |

16 |
    17 | 18 | 19 | -------------------------------------------------------------------------------- /sdk/webcontent/qUnit/SMS.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |

    SMS Tests

    13 |

    14 |
    15 |

    16 |
      17 | 18 | 19 | -------------------------------------------------------------------------------- /sdk/webcontent/qUnit/app/app.js: -------------------------------------------------------------------------------- 1 | Ext.Loader.setConfig({ 2 | enabled: true 3 | }); 4 | 5 | Ext.Loader.setPath({ 6 | 'Att': 'app/lib' 7 | }); 8 | 9 | /** 10 | * 11 | */ 12 | Ext.application({ 13 | name: 'KitchenSink', 14 | 15 | controllers: ['Main'], 16 | views: ['Main'], 17 | profiles: ['Phone'] 18 | }); 19 | 20 | -------------------------------------------------------------------------------- /sdk/webcontent/qUnit/app/profile/Phone.js: -------------------------------------------------------------------------------- 1 | Ext.define('KitchenSink.profile.Phone', { 2 | extend: 'Ext.app.Profile', 3 | 4 | config: { 5 | views: [ 6 | 'Main' 7 | ] 8 | }, 9 | 10 | isActive: function() { 11 | return true; 12 | //return !Ext.os.is('Phone'); 13 | }, 14 | 15 | launch: function() { 16 | Ext.create('KitchenSink.view.phone.Main'); 17 | } 18 | }); -------------------------------------------------------------------------------- /sdk/webcontent/qUnit/app/view/ApiResults.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This view is intended to display the results from an API call. 3 | * 4 | */ 5 | Ext.define('KitchenSink.view.ApiResults', { 6 | extend: 'Ext.Container', 7 | xtype: 'apiresults', 8 | 9 | config: { 10 | masked: { 11 | xtype: 'loadmask', 12 | message: 'Retrieving data...' 13 | }, 14 | styleHtmlContent: true, 15 | scrollable: true, 16 | tpl: [ 17 | '

      Results ', 18 | 'Success', 19 | 'Exception', 20 | '

      ', 21 | '
      {results}
      ' 22 | ] 23 | } 24 | }); -------------------------------------------------------------------------------- /sdk/webcontent/qUnit/app/view/AttApiClientTestConfig.js: -------------------------------------------------------------------------------- 1 | /** 2 | * JavaScript code can call AT&T back-end services using the methods 3 | * on this class. 4 | * @class AttApiClientTestConfig 5 | * @singleton 6 | */ 7 | var AttApiClientTestConfig = { 8 | primaryTestPhoneNumber: '4252832032', 9 | failTestPhoneNumber: '1234567890', 10 | workingNumberMessage: 'This is a message for a number that works', 11 | invalidNumberMessage: 'This number should fail', 12 | smsStatusMessage: 'This is the first SMS status Message', 13 | smsStatusmessage2: 'This is the second SMS status Message', 14 | onlineShortcode: '44628604', 15 | offlineShortcode: '44629060' 16 | }; -------------------------------------------------------------------------------- /sdk/webcontent/qUnit/app/view/Main.js: -------------------------------------------------------------------------------- 1 | /** 2 | * List view that displays each of the APIs. 3 | * When the user taps on an API the view for that API appears 4 | */ 5 | Ext.define('KitchenSink.view.Main', { 6 | extend: 'Ext.navigation.View', 7 | 8 | requires: ['KitchenSink.view.NavigationList'], 9 | 10 | config: { 11 | fullscreen : true, 12 | items: [ 13 | { 14 | xtype: 'navigationlist', 15 | title: 'Javascript Testing Framework' 16 | } 17 | ] 18 | } 19 | }); -------------------------------------------------------------------------------- /sdk/webcontent/qUnit/app/view/NavigationList.js: -------------------------------------------------------------------------------- 1 | /** 2 | * List view that displays each of the APIs. 3 | * When the user taps on an API the view for that API appears 4 | */ 5 | Ext.define('KitchenSink.view.NavigationList', { 6 | extend: 'Ext.List', 7 | xtype: 'navigationlist', 8 | 9 | requires: [ 10 | 'KitchenSink.view.ClientTest', 11 | 'KitchenSink.view.testSMSonly', 12 | 'KitchenSink.view.testMMSonly', 13 | 'KitchenSink.view.testDConly', 14 | 'KitchenSink.view.testMoboonly', 15 | 'KitchenSink.view.testMIMonly', 16 | 'KitchenSink.view.testBasiconly', 17 | 'KitchenSink.view.testPositiveonly', 18 | 'KitchenSink.view.testNegativeonly', 19 | 'KitchenSink.view.testMixedonly', 20 | 'KitchenSink.view.testPairwiseonly' 21 | ], 22 | 23 | config: { 24 | title: 'AT&T APIs', 25 | data: [ 26 | {text: 'Test SMS', id: 'attTestSMS'}, 27 | {text: 'Test MMS', id: 'attTestMMS'}, 28 | {text: 'Test DC', id: 'attTestDC'}, 29 | {text: 'Test MIM', id: 'attTestMIM'}, 30 | {text: 'Test Mobo', id: 'attTestMobo'}, 31 | {text: 'Test Basic', id: 'attTestBasic'}, 32 | // {text: 'Test Pairwise', id: 'attTestPairwise'}, 33 | {text: 'Test Positive', id: 'attTestPositive'}, 34 | {text: 'Test Negative', id: 'attTestNegative'}, 35 | // {text: 'Test Mixed', id: 'attTestMixed'}, 36 | {text: 'Test All', id: 'attTST'}, 37 | ] 38 | } 39 | }); 40 | -------------------------------------------------------------------------------- /sdk/webcontent/qUnit/app/view/phone/Main.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This is the main view for the Phone profile 3 | */ 4 | Ext.define('KitchenSink.view.phone.Main', { 5 | extend: 'KitchenSink.view.Main' 6 | }); -------------------------------------------------------------------------------- /sdk/webcontent/qUnit/app/view/testBasiconly.js: -------------------------------------------------------------------------------- 1 | Ext.define('KitchenSink.view.testBasiconly', { 2 | extend: 'Ext.Container', 3 | xtype: 'attTestBasic', 4 | 5 | requires: [ 6 | 'Att.Provider', 7 | 'KitchenSink.view.config' 8 | ], 9 | 10 | config: { 11 | provider: undefined, 12 | title: 'Test Basic', 13 | layout: { 14 | type: 'vbox', 15 | pack: 'center', 16 | align: 'center' 17 | }, 18 | items: { 19 | xtype: 'container', 20 | width: '80%', 21 | items:[{ 22 | xtype: 'fieldset', 23 | defaults: { 24 | labelWidth: 120 25 | }, 26 | items: [ 27 | 28 | ] 29 | }, { 30 | xtype: 'button', 31 | text: 'Test Basic', 32 | action: 'attTest', 33 | style: 'margin-bottom: 10px;' 34 | }] 35 | }, 36 | control: { 37 | 'button[action=attTest]': { 38 | tap: 'onPush' 39 | } 40 | } 41 | }, 42 | 43 | onPush: function() { 44 | provider = Ext.create('Att.Provider',{ 45 | apiBasePath: '/att' 46 | }); 47 | var cfg = KitchenSink.view.config; 48 | Ext.Viewport.hide(); 49 | //oAuth(); 50 | //basicADSTests(cfg); 51 | //basicSMSTests(cfg); 52 | //basicMMSTests(cfg); 53 | //basicDCTests(cfg); 54 | //basicSpeechTests(cfg); 55 | //basicMoboTests(cfg); 56 | //basicMimTests(cfg); 57 | } 58 | }); 59 | -------------------------------------------------------------------------------- /sdk/webcontent/qUnit/app/view/testDConly.js: -------------------------------------------------------------------------------- 1 | Ext.define('KitchenSink.view.testDConly', { 2 | extend: 'Ext.Container', 3 | xtype: 'attTestDC', 4 | 5 | requires: [ 6 | 'Att.Provider', 7 | 'KitchenSink.view.config' 8 | ], 9 | 10 | config: { 11 | provider: undefined, 12 | title: 'Test DC', 13 | layout: { 14 | type: 'vbox', 15 | pack: 'center', 16 | align: 'center' 17 | }, 18 | items: { 19 | xtype: 'container', 20 | width: '80%', 21 | items:[{ 22 | xtype: 'fieldset', 23 | defaults: { 24 | labelWidth: 120 25 | }, 26 | items: [ 27 | 28 | ] 29 | }, { 30 | xtype: 'button', 31 | text: 'Test DC', 32 | action: 'attTest', 33 | style: 'margin-bottom: 10px;' 34 | }] 35 | }, 36 | control: { 37 | 'button[action=attTest]': { 38 | tap: 'onPush' 39 | } 40 | } 41 | }, 42 | 43 | onPush: function() { 44 | provider = Ext.create('Att.Provider',{ 45 | apiBasePath: '/att' 46 | }); 47 | var cfg = KitchenSink.view.config 48 | Ext.Viewport.hide(); 49 | oAuth(); 50 | basicDCTests(cfg); 51 | positiveDCTests(cfg); 52 | negativeDCTests(cfg); 53 | //pairwiseDCTests(cfg); 54 | } 55 | }); 56 | -------------------------------------------------------------------------------- /sdk/webcontent/qUnit/app/view/testIsolatedonly.js: -------------------------------------------------------------------------------- 1 | Ext.define('KitchenSink.view.testIsolatedonly', { 2 | extend: 'Ext.Container', 3 | xtype: 'attTestIsolated', 4 | 5 | requires: [ 6 | 'Att.Provider', 7 | 'KitchenSink.view.config' 8 | ], 9 | 10 | config: { 11 | provider: undefined, 12 | title: 'Test Isolated', 13 | layout: { 14 | type: 'vbox', 15 | pack: 'center', 16 | align: 'center' 17 | }, 18 | items: { 19 | xtype: 'container', 20 | width: '80%', 21 | items:[{ 22 | xtype: 'fieldset', 23 | defaults: { 24 | labelWidth: 120 25 | }, 26 | items: [ 27 | 28 | ] 29 | }, { 30 | xtype: 'button', 31 | text: 'Test Isolated', 32 | action: 'attTest', 33 | style: 'margin-bottom: 10px;' 34 | }] 35 | }, 36 | control: { 37 | 'button[action=attTest]': { 38 | tap: 'onPush' 39 | } 40 | } 41 | }, 42 | 43 | onPush: function() { 44 | provider = Ext.create('Att.Provider',{ 45 | apiBasePath: '/att' 46 | }); 47 | var cfg = KitchenSink.view.config; 48 | Ext.Viewport.hide(); 49 | basicIsolatedTests(cfg); 50 | //positiveIsolatedTests(cfg); 51 | //negativeIsolatedTests(cfg); 52 | 53 | } 54 | }); 55 | -------------------------------------------------------------------------------- /sdk/webcontent/qUnit/app/view/testMIMonly.js: -------------------------------------------------------------------------------- 1 | Ext.define('KitchenSink.view.testMIMonly', { 2 | extend: 'Ext.Container', 3 | xtype: 'attTestMIM', 4 | 5 | requires: [ 6 | 'Att.Provider', 7 | 'KitchenSink.view.config' 8 | ], 9 | 10 | config: { 11 | provider: undefined, 12 | title: 'Test MIM', 13 | layout: { 14 | type: 'vbox', 15 | pack: 'center', 16 | align: 'center' 17 | }, 18 | items: { 19 | xtype: 'container', 20 | width: '80%', 21 | items:[{ 22 | xtype: 'fieldset', 23 | defaults: { 24 | labelWidth: 120 25 | }, 26 | items: [ 27 | 28 | ] 29 | }, { 30 | xtype: 'button', 31 | text: 'Test MIM', 32 | action: 'attTest', 33 | style: 'margin-bottom: 10px;' 34 | }] 35 | }, 36 | control: { 37 | 'button[action=attTest]': { 38 | tap: 'onPush' 39 | } 40 | } 41 | }, 42 | 43 | onPush: function() { 44 | provider = Ext.create('Att.Provider',{ 45 | apiBasePath: '/att' 46 | }); 47 | var cfg = KitchenSink.view.config; 48 | Ext.Viewport.hide(); 49 | basicMimTests(cfg); 50 | positiveMimTests(cfg); 51 | negativeMimTests(cfg); 52 | //pairwiseMimTests(cfg); 53 | } 54 | }); 55 | -------------------------------------------------------------------------------- /sdk/webcontent/qUnit/app/view/testMMSonly.js: -------------------------------------------------------------------------------- 1 | Ext.define('KitchenSink.view.testMMSonly', { 2 | extend: 'Ext.Container', 3 | xtype: 'attTestMMS', 4 | 5 | requires: [ 6 | 'Att.Provider', 7 | 'KitchenSink.view.config' 8 | ], 9 | 10 | config: { 11 | provider: undefined, 12 | title: 'Test MMS', 13 | layout: { 14 | type: 'vbox', 15 | pack: 'center', 16 | align: 'center' 17 | }, 18 | items: { 19 | xtype: 'container', 20 | width: '80%', 21 | items:[{ 22 | xtype: 'fieldset', 23 | defaults: { 24 | labelWidth: 120 25 | }, 26 | items: [ 27 | 28 | ] 29 | }, { 30 | xtype: 'button', 31 | text: 'Test MMS', 32 | action: 'attTest', 33 | style: 'margin-bottom: 10px;' 34 | }] 35 | }, 36 | control: { 37 | 'button[action=attTest]': { 38 | tap: 'onPush' 39 | } 40 | } 41 | }, 42 | 43 | onPush: function() { 44 | provider = Ext.create('Att.Provider',{ 45 | apiBasePath: '/att' 46 | }); 47 | var cfg = KitchenSink.view.config; 48 | Ext.Viewport.hide(); 49 | basicMMSTests(cfg); 50 | positiveMMSTests(cfg); 51 | negativeMMSTests(cfg); 52 | //pairwiseMMSTests(cfg); 53 | } 54 | }); 55 | -------------------------------------------------------------------------------- /sdk/webcontent/qUnit/app/view/testMixedonly.js: -------------------------------------------------------------------------------- 1 | Ext.define('KitchenSink.view.testMixedonly', { 2 | extend: 'Ext.Container', 3 | xtype: 'attTestMixed', 4 | 5 | requires: [ 6 | 'Att.Provider', 7 | 'KitchenSink.view.config' 8 | ], 9 | 10 | config: { 11 | provider: undefined, 12 | title: 'Test Mixed', 13 | layout: { 14 | type: 'vbox', 15 | pack: 'center', 16 | align: 'center' 17 | }, 18 | items: { 19 | xtype: 'container', 20 | width: '80%', 21 | items:[{ 22 | xtype: 'fieldset', 23 | defaults: { 24 | labelWidth: 120 25 | }, 26 | items: [ 27 | 28 | ] 29 | }, { 30 | xtype: 'button', 31 | text: 'Test Mixed', 32 | action: 'attTest', 33 | style: 'margin-bottom: 10px;' 34 | }] 35 | }, 36 | control: { 37 | 'button[action=attTest]': { 38 | tap: 'onPush' 39 | } 40 | } 41 | }, 42 | 43 | onPush: function() { 44 | provider = Ext.create('Att.Provider',{ 45 | apiBasePath: '/att' 46 | }); 47 | var cfg = KitchenSink.view.config; 48 | Ext.Viewport.hide(); 49 | mixedTests(cfg); 50 | 51 | } 52 | }); 53 | -------------------------------------------------------------------------------- /sdk/webcontent/qUnit/app/view/testMoboonly.js: -------------------------------------------------------------------------------- 1 | Ext.define('KitchenSink.view.testMoboonly', { 2 | extend: 'Ext.Container', 3 | xtype: 'attTestMobo', 4 | 5 | requires: [ 6 | 'Att.Provider', 7 | 'KitchenSink.view.config' 8 | ], 9 | 10 | config: { 11 | provider: undefined, 12 | title: 'Test Mobo', 13 | layout: { 14 | type: 'vbox', 15 | pack: 'center', 16 | align: 'center' 17 | }, 18 | items: { 19 | xtype: 'container', 20 | width: '80%', 21 | items:[{ 22 | xtype: 'fieldset', 23 | defaults: { 24 | labelWidth: 120 25 | }, 26 | items: [ 27 | 28 | ] 29 | }, { 30 | xtype: 'button', 31 | text: 'Test Mobo', 32 | action: 'attTest', 33 | style: 'margin-bottom: 10px;' 34 | }] 35 | }, 36 | control: { 37 | 'button[action=attTest]': { 38 | tap: 'onPush' 39 | } 40 | } 41 | }, 42 | 43 | onPush: function() { 44 | provider = Ext.create('Att.Provider',{ 45 | apiBasePath: '/att' 46 | }); 47 | var cfg = KitchenSink.view.config; 48 | Ext.Viewport.hide(); 49 | oAuth(); 50 | basicMoboTests(cfg); 51 | positiveMoboTests(cfg); 52 | negativeMoboTests(cfg); 53 | //pairwiseMoboTests(cfg); 54 | } 55 | }); 56 | -------------------------------------------------------------------------------- /sdk/webcontent/qUnit/app/view/testNegativeonly.js: -------------------------------------------------------------------------------- 1 | Ext.define('KitchenSink.view.testNegativeonly', { 2 | extend: 'Ext.Container', 3 | xtype: 'attTestNegative', 4 | 5 | requires: [ 6 | 'Att.Provider', 7 | 'KitchenSink.view.config' 8 | ], 9 | 10 | config: { 11 | provider: undefined, 12 | title: 'Test Negative', 13 | layout: { 14 | type: 'vbox', 15 | pack: 'center', 16 | align: 'center' 17 | }, 18 | items: { 19 | xtype: 'container', 20 | width: '80%', 21 | items:[{ 22 | xtype: 'fieldset', 23 | defaults: { 24 | labelWidth: 120 25 | }, 26 | items: [ 27 | 28 | ] 29 | }, { 30 | xtype: 'button', 31 | text: 'Test Negative', 32 | action: 'attTest', 33 | style: 'margin-bottom: 10px;' 34 | }] 35 | }, 36 | control: { 37 | 'button[action=attTest]': { 38 | tap: 'onPush' 39 | } 40 | } 41 | }, 42 | 43 | onPush: function() { 44 | provider = Ext.create('Att.Provider',{ 45 | apiBasePath: '/att' 46 | }); 47 | var cfg = KitchenSink.view.config; 48 | Ext.Viewport.hide(); 49 | oAuth(); 50 | negativeSMSTests(cfg); 51 | negativeMMSTests(cfg); 52 | negativeWAPTests(cfg); 53 | negativeTLTests(cfg); 54 | negativeDCTests(cfg); 55 | negativeTransactionsTests(cfg); 56 | negativeSubscriptionsTests(cfg); 57 | //negativeSpeechTests(cfg); 58 | //negativeMoboTests(cfg); 59 | negativeMimTests(cfg); 60 | } 61 | }); 62 | -------------------------------------------------------------------------------- /sdk/webcontent/qUnit/app/view/testPairwiseonly.js: -------------------------------------------------------------------------------- 1 | Ext.define('KitchenSink.view.testPairwiseonly', { 2 | extend: 'Ext.Container', 3 | xtype: 'attTestPairwise', 4 | 5 | requires: [ 6 | 'Att.Provider', 7 | 'KitchenSink.view.config' 8 | ], 9 | 10 | config: { 11 | provider: undefined, 12 | title: 'Test Pairwise', 13 | layout: { 14 | type: 'vbox', 15 | pack: 'center', 16 | align: 'center' 17 | }, 18 | items: { 19 | xtype: 'container', 20 | width: '80%', 21 | items:[{ 22 | xtype: 'fieldset', 23 | defaults: { 24 | labelWidth: 120 25 | }, 26 | items: [ 27 | 28 | ] 29 | }, { 30 | xtype: 'button', 31 | text: 'Test Pairwise', 32 | action: 'attTest', 33 | style: 'margin-bottom: 10px;' 34 | }] 35 | }, 36 | control: { 37 | 'button[action=attTest]': { 38 | tap: 'onPush' 39 | } 40 | } 41 | }, 42 | 43 | onPush: function() { 44 | provider = Ext.create('Att.Provider',{ 45 | apiBasePath: '/att' 46 | }); 47 | var cfg = KitchenSink.view.config; 48 | Ext.Viewport.hide(); 49 | //pairwiseSMSTests(cfg); 50 | //pairwiseMMSTests(cfg); 51 | //pairwiseDCTests(cfg); 52 | //pairwiseSpeechTests(cfg); 53 | //pairwiseMoboTests(cfg); 54 | //pairwiseMimTests(cfg); 55 | } 56 | }); 57 | -------------------------------------------------------------------------------- /sdk/webcontent/qUnit/app/view/testPositiveonly.js: -------------------------------------------------------------------------------- 1 | Ext.define('KitchenSink.view.testPositiveonly', { 2 | extend: 'Ext.Container', 3 | xtype: 'attTestPositive', 4 | 5 | requires: [ 6 | 'Att.Provider', 7 | 'KitchenSink.view.config' 8 | ], 9 | 10 | config: { 11 | provider: undefined, 12 | title: 'Test Positive', 13 | layout: { 14 | type: 'vbox', 15 | pack: 'center', 16 | align: 'center' 17 | }, 18 | items: { 19 | xtype: 'container', 20 | width: '80%', 21 | items:[{ 22 | xtype: 'fieldset', 23 | defaults: { 24 | labelWidth: 120 25 | }, 26 | items: [ 27 | 28 | ] 29 | }, { 30 | xtype: 'button', 31 | text: 'Test Positive', 32 | action: 'attTest', 33 | style: 'margin-bottom: 10px;' 34 | }] 35 | }, 36 | control: { 37 | 'button[action=attTest]': { 38 | tap: 'onPush' 39 | } 40 | } 41 | }, 42 | 43 | onPush: function() { 44 | provider = Ext.create('Att.Provider',{ 45 | apiBasePath: '/att' 46 | }); 47 | var cfg = KitchenSink.view.config; 48 | Ext.Viewport.hide(); 49 | oAuth(); 50 | positiveSMSTests(cfg); 51 | positiveMMSTests(cfg); 52 | positiveDCTests(cfg); 53 | //positiveSpeechTests(cfg); 54 | //positiveMoboTests(cfg); 55 | //positiveMimTests(cfg); 56 | } 57 | }); 58 | -------------------------------------------------------------------------------- /sdk/webcontent/qUnit/app/view/testSMSonly.js: -------------------------------------------------------------------------------- 1 | Ext.define('KitchenSink.view.testSMSonly', { 2 | extend: 'Ext.Container', 3 | xtype: 'attTestSMS', 4 | 5 | requires: [ 6 | 'Att.Provider', 7 | 'KitchenSink.view.config' 8 | ], 9 | 10 | config: { 11 | provider: undefined, 12 | title: 'Test SMS', 13 | layout: { 14 | type: 'vbox', 15 | pack: 'center', 16 | align: 'center' 17 | }, 18 | items: { 19 | xtype: 'container', 20 | width: '80%', 21 | items:[{ 22 | xtype: 'fieldset', 23 | defaults: { 24 | labelWidth: 120 25 | }, 26 | items: [ 27 | 28 | ] 29 | }, { 30 | xtype: 'button', 31 | text: 'Test SMS', 32 | action: 'attTest', 33 | style: 'margin-bottom: 10px;' 34 | }] 35 | }, 36 | control: { 37 | 'button[action=attTest]': { 38 | tap: 'onPush' 39 | } 40 | } 41 | }, 42 | 43 | onPush: function() { 44 | provider = Ext.create('Att.Provider',{ 45 | apiBasePath: '/att' 46 | }); 47 | var cfg = KitchenSink.view.config; 48 | Ext.Viewport.hide(); 49 | basicSMSTests(cfg); 50 | positiveSMSTests(cfg); 51 | negativeSMSTests(cfg); 52 | //pairwiseSMSTests(cfg); 53 | } 54 | }); 55 | -------------------------------------------------------------------------------- /sdk/webcontent/qUnit/app/view/testTLonly.js: -------------------------------------------------------------------------------- 1 | Ext.define('KitchenSink.view.testTLonly', { 2 | extend: 'Ext.Container', 3 | xtype: 'attTestTL', 4 | 5 | requires: [ 6 | 'Att.Provider', 7 | 'KitchenSink.view.config' 8 | ], 9 | 10 | config: { 11 | provider: undefined, 12 | title: 'Test TL', 13 | layout: { 14 | type: 'vbox', 15 | pack: 'center', 16 | align: 'center' 17 | }, 18 | items: { 19 | xtype: 'container', 20 | width: '80%', 21 | items:[{ 22 | xtype: 'fieldset', 23 | defaults: { 24 | labelWidth: 120 25 | }, 26 | items: [ 27 | 28 | ] 29 | }, { 30 | xtype: 'button', 31 | text: 'Test TL', 32 | action: 'attTest', 33 | style: 'margin-bottom: 10px;' 34 | }] 35 | }, 36 | control: { 37 | 'button[action=attTest]': { 38 | tap: 'onPush' 39 | } 40 | } 41 | }, 42 | 43 | onPush: function() { 44 | provider = Ext.create('Att.Provider',{ 45 | apiBasePath: '/att' 46 | }); 47 | var cfg = KitchenSink.view.config; 48 | Ext.Viewport.hide(); 49 | oAuth(); 50 | basicTLTests(cfg); 51 | positiveTLTests(cfg); 52 | negativeTLTests(cfg); 53 | //pairwiseTLTests(cfg); 54 | } 55 | }); 56 | -------------------------------------------------------------------------------- /sdk/webcontent/qUnit/app/view/testWAPonly.js: -------------------------------------------------------------------------------- 1 | Ext.define('KitchenSink.view.testWAPonly', { 2 | extend: 'Ext.Container', 3 | xtype: 'attTestWAP', 4 | 5 | requires: [ 6 | 'Att.Provider', 7 | 'KitchenSink.view.config' 8 | ], 9 | 10 | config: { 11 | provider: undefined, 12 | title: 'Test WAP', 13 | layout: { 14 | type: 'vbox', 15 | pack: 'center', 16 | align: 'center' 17 | }, 18 | items: { 19 | xtype: 'container', 20 | width: '80%', 21 | items:[{ 22 | xtype: 'fieldset', 23 | defaults: { 24 | labelWidth: 120 25 | }, 26 | items: [ 27 | 28 | ] 29 | }, { 30 | xtype: 'button', 31 | text: 'Test WAP', 32 | action: 'attTest', 33 | style: 'margin-bottom: 10px;' 34 | }] 35 | }, 36 | control: { 37 | 'button[action=attTest]': { 38 | tap: 'onPush' 39 | } 40 | } 41 | }, 42 | 43 | onPush: function() { 44 | provider = Ext.create('Att.Provider',{ 45 | apiBasePath: '/att' 46 | }); 47 | var cfg = KitchenSink.view.config; 48 | Ext.Viewport.hide(); 49 | basicWAPTests(cfg); 50 | positiveWAPTests(cfg); 51 | negativeWAPTests(cfg); 52 | //pairwiseWAPTests(); 53 | } 54 | }); 55 | -------------------------------------------------------------------------------- /sdk/webcontent/qUnit/docs/Automatic Client Authorization App (to speed up testing).docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/webcontent/qUnit/docs/Automatic Client Authorization App (to speed up testing).docx -------------------------------------------------------------------------------- /sdk/webcontent/qUnit/docs/JTF2 Instructions.doc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/webcontent/qUnit/docs/JTF2 Instructions.doc -------------------------------------------------------------------------------- /sdk/webcontent/qUnit/docs/Launch and deploy ATT Sencha SDK Java Sample Applications.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/webcontent/qUnit/docs/Launch and deploy ATT Sencha SDK Java Sample Applications.pdf -------------------------------------------------------------------------------- /sdk/webcontent/qUnit/examples/sms/app/app.js: -------------------------------------------------------------------------------- 1 | /** 2 | * set loader configuration enabled 3 | */ 4 | Ext.Loader.setConfig({ 5 | enabled: true 6 | }); 7 | 8 | /** 9 | * configure location for the Att library 10 | */ 11 | Ext.Loader.setPath({ 12 | 'Att': '../../app/lib' 13 | }); 14 | 15 | /** 16 | * creates the application for SMS example 17 | */ 18 | Ext.application({ 19 | name: 'SmsOnly', 20 | 21 | //declare controllers 22 | controllers: ['Sms'], 23 | 24 | //declare views 25 | views: ['Sms'], 26 | 27 | //launch app 28 | launch: function() { 29 | 30 | var view = Ext.create('SmsOnly.view.Sms'); 31 | 32 | //add sms view to viewport 33 | Ext.Viewport.add(view); 34 | } 35 | }); -------------------------------------------------------------------------------- /sdk/webcontent/qUnit/images/att-logo-developer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/webcontent/qUnit/images/att-logo-developer.png -------------------------------------------------------------------------------- /sdk/webcontent/qUnit/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 7 | 8 | This page has been renamed to start.html 9 | 10 | 11 | -------------------------------------------------------------------------------- /sdk/webcontent/qUnit/qunit.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/webcontent/qUnit/qunit.js -------------------------------------------------------------------------------- /sdk/webcontent/qUnit/resources/icons/Icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/webcontent/qUnit/resources/icons/Icon.png -------------------------------------------------------------------------------- /sdk/webcontent/qUnit/resources/icons/Icon@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/webcontent/qUnit/resources/icons/Icon@2x.png -------------------------------------------------------------------------------- /sdk/webcontent/qUnit/resources/icons/Icon~ipad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/webcontent/qUnit/resources/icons/Icon~ipad.png -------------------------------------------------------------------------------- /sdk/webcontent/qUnit/resources/icons/Icon~ipad@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/webcontent/qUnit/resources/icons/Icon~ipad@2x.png -------------------------------------------------------------------------------- /sdk/webcontent/qUnit/resources/icons/iTunesArtwork.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/webcontent/qUnit/resources/icons/iTunesArtwork.png -------------------------------------------------------------------------------- /sdk/webcontent/qUnit/resources/icons/icon-spot~ipad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/webcontent/qUnit/resources/icons/icon-spot~ipad.png -------------------------------------------------------------------------------- /sdk/webcontent/qUnit/resources/loading/Default-LandscapeLeft~ipad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/webcontent/qUnit/resources/loading/Default-LandscapeLeft~ipad.png -------------------------------------------------------------------------------- /sdk/webcontent/qUnit/resources/loading/Default-LandscapeRight~ipad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/webcontent/qUnit/resources/loading/Default-LandscapeRight~ipad.png -------------------------------------------------------------------------------- /sdk/webcontent/qUnit/resources/loading/Default-Landscape~ipad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/webcontent/qUnit/resources/loading/Default-Landscape~ipad.png -------------------------------------------------------------------------------- /sdk/webcontent/qUnit/resources/loading/Default-PortraitUpsideDown~ipad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/webcontent/qUnit/resources/loading/Default-PortraitUpsideDown~ipad.png -------------------------------------------------------------------------------- /sdk/webcontent/qUnit/resources/loading/Default-Portrait~ipad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/webcontent/qUnit/resources/loading/Default-Portrait~ipad.png -------------------------------------------------------------------------------- /sdk/webcontent/qUnit/resources/loading/Default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/webcontent/qUnit/resources/loading/Default.png -------------------------------------------------------------------------------- /sdk/webcontent/qUnit/resources/loading/Default@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/webcontent/qUnit/resources/loading/Default@2x.png -------------------------------------------------------------------------------- /sdk/webcontent/qUnit/resources/loading/Default~ipad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/webcontent/qUnit/resources/loading/Default~ipad.png -------------------------------------------------------------------------------- /sdk/webcontent/qUnit/resources/loading/Homescreen.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/webcontent/qUnit/resources/loading/Homescreen.jpg -------------------------------------------------------------------------------- /sdk/webcontent/qUnit/resources/loading/Homescreen~ipad.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/webcontent/qUnit/resources/loading/Homescreen~ipad.jpg -------------------------------------------------------------------------------- /sdk/webcontent/qUnit/resources/sass/app.scss: -------------------------------------------------------------------------------- 1 | @import 'sencha-touch/default/all'; 2 | 3 | // You may remove any of the following modules that you 4 | // do not use in order to create a smaller css file. 5 | @include sencha-panel; 6 | @include sencha-buttons; 7 | @include sencha-sheet; 8 | @include sencha-picker; 9 | @include sencha-tabs; 10 | @include sencha-toolbar; 11 | @include sencha-toolbar-forms; 12 | @include sencha-indexbar; 13 | @include sencha-list; 14 | @include sencha-layout; 15 | @include sencha-carousel; 16 | @include sencha-form; 17 | @include sencha-msgbox; 18 | 19 | // Your custom code goes here... -------------------------------------------------------------------------------- /sdk/webcontent/qUnit/resources/sass/config.rb: -------------------------------------------------------------------------------- 1 | # Get the directory that this configuration file exists in 2 | dir = File.dirname(__FILE__) 3 | 4 | # Load the sencha-touch framework automatically. 5 | load File.join(dir, '..', '..', 'sdk', 'resources', 'themes') 6 | 7 | # Compass configurations 8 | sass_path = dir 9 | css_path = File.join(dir, "..", "css") 10 | 11 | # Require any additional compass plugins here. 12 | images_dir = File.join(dir, "..", "images") 13 | output_style = :compressed 14 | environment = :production 15 | -------------------------------------------------------------------------------- /sdk/webcontent/qUnit/start.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | JavaScript qUnit Tests 5 | 6 | 7 | 8 | 9 |

      JavaScript qUnit Tests for AT&T APIs

      10 |

      11 | 20 | 21 |
      22 |
      23 | 24 |
      25 |
      26 | 27 |
      28 |
      29 | 30 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /sdk/webcontent/qUnit/test/notify.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Notify Test Page 6 | 7 | 8 | 9 | 31 | 32 | 33 | 34 |

      POST a notification message to the SDK server

      35 |

      NOT for production use -- this file should be removed from any client production deploymnet

      36 | 37 | 38 |
      39 |

      40 | 46 |

      47 | 48 |
      49 | 50 | 51 | 52 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /sdk/webcontent/qUnit/tests/GUI.js: -------------------------------------------------------------------------------- 1 | JTF.views.ClientTest = Ext.extend(Ext.Panel, { 2 | 3 | layout: 'fit', 4 | 5 | // This function is run when initializing the component 6 | initComponent: function() { 7 | 8 | var self = this; // We need a reference to this instance for use in callbacks 9 | 10 | this.items = [{ 11 | dockedItems: [{ 12 | xtype: 'toolbar', 13 | dock: 'top', 14 | title: 'Client Test', 15 | items: { 16 | xtype: 'button', 17 | text: 'Back', 18 | handler: function() { 19 | Ext.dispatch({ 20 | controller: 'index', 21 | action : 'showList' 22 | }); 23 | } 24 | } 25 | }], 26 | layout: 'vbox', 27 | items: [] 28 | }]; 29 | 30 | JTF.views.ClientTest.superclass.initComponent.apply(this, arguments); 31 | 32 | $("#viewport").hide(); // hide the example app so we can see our test screen 33 | } 34 | }); 35 | 36 | Ext.reg('attTST', JTF.views.ClientTest); -------------------------------------------------------------------------------- /sdk/webcontent/qUnit/tests/IAM/Pairwise.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/webcontent/qUnit/tests/IAM/Pairwise.js -------------------------------------------------------------------------------- /sdk/webcontent/qUnit/tests/Isolated/Negative.js: -------------------------------------------------------------------------------- 1 | function NegativeIsolatedTests() { 2 | 3 | } -------------------------------------------------------------------------------- /sdk/webcontent/qUnit/tests/MIM/Pairwise.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/webcontent/qUnit/tests/MIM/Pairwise.js -------------------------------------------------------------------------------- /sdk/webcontent/qUnit/tests/Mobo/Pairwise.js: -------------------------------------------------------------------------------- 1 | function pairwiseMoboTests() { 2 | //Variable containing the phone numbers the JTF uses. 3 | var cfg = JTF.tests.config; 4 | //Tests sending Mobo twice with two calls at once 5 | slowTest("Mobo", function() { 6 | JTF.provider.sendMobo({ 7 | address : cfg.phoneNumberPrimary, 8 | message : "test Mobo message from client-side test", 9 | subject : "test Mobo subject from client-side test", 10 | success : function(response) { 11 | start(); 12 | validateMoboResponse(response); 13 | }, 14 | failure : function(response) { 15 | start(); 16 | ok(false, "Fail On Sending Mobo"); 17 | } 18 | }); 19 | JTF.provider.sendMobo({ 20 | address : cfg.phoneNumberPrimary, 21 | message : "test Mobo message from client-side test", 22 | subject : "test Mobo subject from client-side test", 23 | success : function(response) { 24 | start(); 25 | validateMoboResponse(response); 26 | }, 27 | failure : function(response) { 28 | start(); 29 | ok(false, "Fail On Sending Mobo"); 30 | } 31 | }); 32 | stop(2); 33 | }); 34 | } -------------------------------------------------------------------------------- /sdk/webcontent/qUnit/tests/OAuth/Basic.js: -------------------------------------------------------------------------------- 1 | function oAuth() { 2 | provider.isAuthorized({ 3 | authScope : 'TL,MOBO,MIM', 4 | success : function() { 5 | start(); 6 | }, 7 | failure : function() { 8 | provider.authorizeApp({ 9 | authScope: "TL,MOBO,MIM", 10 | success: function() { 11 | start(); 12 | }, 13 | failure : function() { 14 | view.setMasked(false); 15 | Ext.Msg.alert('Access denied', 'User denied authorization'); 16 | }, 17 | scope: "TL,MOBO,MIM" 18 | }); 19 | }, 20 | scope: "TL,MOBO,MIM" 21 | }); 22 | stop(); 23 | } -------------------------------------------------------------------------------- /sdk/webcontent/qUnit/tests/SMS/Pairwise.js: -------------------------------------------------------------------------------- 1 | function pairwiseSMSTests(cfg) { 2 | //Tests sending two SMS messages at the same time. Will currently fail because of the way JSON requests are being formatted. 3 | slowTest("two simultaneous sendSms calls", function() { 4 | provider.sendSms({ 5 | address : cfg.phoneNumberPrimary, 6 | message : "test two SMS messages from client-side test #1", 7 | success : function(response) { 8 | start(); 9 | validateSmsResponse(response); 10 | }, 11 | failure : function(response) { 12 | start(); 13 | ok(false, "Fail on two SMSes at once #1"); 14 | } 15 | }); 16 | provider.sendSms({ 17 | address : cfg.phoneNumberSecondary, 18 | message : "test two SMS messages from client-side test #2", 19 | success : function(response) { 20 | start(); 21 | validateSmsResponse(response); 22 | }, 23 | failure : function(response) { 24 | start(); 25 | ok(false, "Fail on two SMSes at once #2"); 26 | } 27 | }); 28 | stop(2); 29 | }); 30 | } -------------------------------------------------------------------------------- /sdk/webcontent/selenium/src/main/java/com/att/html5sdk/MMS_Variables.java: -------------------------------------------------------------------------------- 1 | package com.att.html5sdk; 2 | 3 | import java.util.ArrayList; 4 | import java.util.List; 5 | 6 | public class MMS_Variables { 7 | public List Image_List() { 8 | // define new ArrayList 9 | List imageList = new ArrayList(); 10 | 11 | // Add Images to array 12 | imageList.add("att-logo-developer.png"); 13 | imageList.add("Hello.jpg"); 14 | 15 | // return ArrayList 16 | return imageList; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /sdk/webcontent/selenium/src/main/java/com/att/html5sdk/TestDC.java: -------------------------------------------------------------------------------- 1 | package com.att.html5sdk; 2 | 3 | import java.io.IOException; 4 | import java.util.*; 5 | 6 | public class TestDC { 7 | /** 8 | * @method Execute 9 | */ 10 | public static void Execute(ArrayList results, String logFile) 11 | throws InterruptedException, IOException { 12 | 13 | ArrayList localResults = new ArrayList(); 14 | 15 | DCApp1 dcApp1 = new DCApp1(); 16 | localResults.add(dcApp1.Execute(logFile)); 17 | // localResults.add(adsApp1.Execute(Global.phoneNumber,"address", 18 | // "This is a test message", "message","btnSendMessage", 19 | // "btnCloseResponse", "smsId","btnGetStatus")); 20 | // localResults.add(adsApp1.ExecuteGetSMS("btnGetMessages", 21 | // "btnCloseResponse")); 22 | //TAR.Execute(localResults, logFile); 23 | Integer succeeded = 0; 24 | Integer i; 25 | 26 | Log.getLogger() 27 | .info("\n\nSummary -------------------------------------------------------------------------\n"); 28 | for (i = 0; i < localResults.size(); i++) { 29 | TestResult item = localResults.get(i); 30 | if (item.pass) { 31 | succeeded++; 32 | } 33 | results.add(item); 34 | // item.logShortResults(); 35 | } 36 | 37 | Log.getLogger().info( 38 | "\nSucceeded: " + succeeded + " Failed: " 39 | + (localResults.size() - succeeded) + "\n\n"); 40 | 41 | } 42 | 43 | } 44 | -------------------------------------------------------------------------------- /sdk/webcontent/selenium/src/main/java/com/att/html5sdk/TestMMS.java: -------------------------------------------------------------------------------- 1 | package com.att.html5sdk; 2 | 3 | import java.io.IOException; 4 | import java.util.ArrayList; 5 | 6 | public class TestMMS { 7 | /** 8 | * @method Execute 9 | */ 10 | public static void Execute(ArrayList results, String logFile) 11 | throws InterruptedException, IOException { 12 | 13 | ArrayList localResults = new ArrayList(); 14 | 15 | MMSApp1positive MMSApp1 = new MMSApp1positive(); 16 | localResults.add(MMSApp1.ExecuteUploadTest(Global.phoneNumber, 17 | "address", "Test Message MMS Upload", "subject", 18 | "btnMessageSend", "btnCloseResponse", "mmsId", "btnStatusGet", 19 | logFile)); 20 | 21 | TestMMSRecursive mms = new TestMMSRecursive(); 22 | mms.Execute(localResults, logFile); 23 | 24 | TestGalleryMms galleryMMS = new TestGalleryMms(); 25 | localResults.add(galleryMMS.Execute(logFile)); 26 | 27 | Integer succeeded = 0; 28 | Integer i; 29 | 30 | Log.getLogger() 31 | .info("\n\nSummary -------------------------------------------------------------------------\n"); 32 | for (i = 0; i < localResults.size(); i++) { 33 | TestResult item = localResults.get(i); 34 | if (item.pass) { 35 | succeeded++; 36 | } 37 | // item.logShortResults(); 38 | results.add(item); 39 | } 40 | 41 | Log.getLogger().info( 42 | "\nSucceeded: " + succeeded + " Failed: " 43 | + (localResults.size() - succeeded) + "\n\n"); 44 | 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /sdk/webcontent/selenium/src/main/java/com/att/html5sdk/TestSMS.java: -------------------------------------------------------------------------------- 1 | package com.att.html5sdk; 2 | 3 | import java.io.IOException; 4 | import java.util.*; 5 | 6 | public class TestSMS { 7 | /** 8 | * @method Execute 9 | */ 10 | public static void Execute(ArrayList results, String logFile) 11 | throws InterruptedException, IOException { 12 | 13 | ArrayList localResults = new ArrayList(); 14 | 15 | SMSApp1positive SMSApp1 = new SMSApp1positive(); 16 | SMSApp2positive SMSApp2 = new SMSApp2positive(); 17 | localResults.add(SMSApp1.Execute(Global.phoneNumber, "address", 18 | "This is a test message", "message", "btnSendMessage", 19 | "btnCloseResponse", "smsId", "btnGetStatus")); 20 | localResults.add(SMSApp1.ExecuteGetSMS("btnSendMessage", "btnGetMessages", 21 | "btnCloseResponse")); 22 | localResults.add(SMSApp2.Execute("btnShowVotes", "btnCloseResponse", logFile)); 23 | Integer succeeded = 0; 24 | Integer i; 25 | 26 | Log.getLogger() 27 | .info("\n\nSummary -------------------------------------------------------------------------\n"); 28 | for (i = 0; i < localResults.size(); i++) { 29 | TestResult item = localResults.get(i); 30 | if (item.pass) { 31 | succeeded++; 32 | } 33 | results.add(item); 34 | // item.logShortResults(); 35 | } 36 | 37 | Log.getLogger().info( 38 | "\nSucceeded: " + succeeded + " Failed: " 39 | + (localResults.size() - succeeded) + "\n\n"); 40 | 41 | } 42 | 43 | } 44 | -------------------------------------------------------------------------------- /sdk/webcontent/selenium/src/main/java/com/att/html5sdk/scheduletests.cmd: -------------------------------------------------------------------------------- 1 | schtasks /create /sc HOURLY /mo 3 /tn SampleAppTests /tr "powershell C:\Users\brucew\BlackFlag2\SDK\2.2.1\SampleAppAuto\HTML5\sampleApps\runtests.ps1" /f 2 | -------------------------------------------------------------------------------- /sdk/webcontent/selenium/src/main/resources/chromedriver.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/webcontent/selenium/src/main/resources/chromedriver.exe -------------------------------------------------------------------------------- /sdk/webcontent/selenium/src/main/resources/images/image1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attdevsupport/att-html5-sdk/7b644b9da043cdb5233a43ddd4994ae12988168f/sdk/webcontent/selenium/src/main/resources/images/image1.jpg -------------------------------------------------------------------------------- /sdk/webcontent/selenium/src/main/resources/log4j2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | --------------------------------------------------------------------------------