Skip to content

Commit 3b25bb3

Browse files
committed
Standardised environment variables
1 parent fd37e7b commit 3b25bb3

File tree

1 file changed

+136
-25
lines changed

1 file changed

+136
-25
lines changed

src/main/java/com/vonage/quickstart/Util.java

Lines changed: 136 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -21,16 +21,27 @@
2121
*/
2222
package com.vonage.quickstart;
2323

24+
import com.vonage.client.ApiRegion;
25+
import com.vonage.client.numbers.Feature;
26+
import com.vonage.client.numbers.SearchPattern;
27+
import com.vonage.client.numbers.Type;
28+
import com.vonage.client.numbers.UpdateNumberRequest;
29+
import com.vonage.client.verify.Psd2Request;
30+
import com.vonage.client.verify.VerifyRequest;
31+
import com.vonage.client.voice.TextToSpeechLanguage;
32+
import java.time.Instant;
33+
import java.util.Arrays;
2434
import java.util.logging.ConsoleHandler;
2535
import java.util.logging.Handler;
2636
import java.util.logging.Level;
2737
import java.util.logging.Logger;
2838

2939
/**
30-
* This class contains utility methods designed to be statically imported into
31-
* the quickstart main classes.
40+
* This class contains utility methods and environment variables designed to be statically
41+
* imported into the quickstart main classes.
3242
*/
3343
public class Util {
44+
3445
/**
3546
* Configures logging if the QUICKSTART_DEBUG environment variable is set.
3647
*/
@@ -60,28 +71,128 @@ public static String envVar(String key) {
6071
return value;
6172
}
6273

63-
/**
64-
* Look up a required environment variable and throw an
65-
* IllegalArgumentException if the value is not one of "0", "1", "true", "false", "on" or "off".
66-
*
67-
* @param key the name of the environment variable
68-
* @return the value
69-
*/
70-
public static boolean booleanEnvVar(String key) {
71-
String stringValue = System.getenv(key);
72-
if (stringValue == null) {
73-
return false;
74-
} else {
75-
stringValue = stringValue.trim().toLowerCase();
76-
}
74+
public static final String
75+
VONAGE_API_KEY = envVar("VONAGE_API_KEY"),
76+
VONAGE_API_SECRET = envVar("VONAGE_API_SECRET"),
77+
VONAGE_SIGNATURE_SECRET = envVar("VONAGE_SIGNATURE_SECRET"),
78+
VONAGE_APPLICATION_ID = envVar("VONAGE_APPLICATION_ID"),
79+
VONAGE_PRIVATE_KEY_PATH = envVar("VONAGE_PRIVATE_KEY_PATH"),
80+
VONAGE_VIRTUAL_NUMBER = envVar("VONAGE_VIRTUAL_NUMBER"),
81+
ACCOUNT_ID = envVar("ACCOUNT_ID"),
82+
ACCOUNT_SECRET = envVar("ACCOUNT_SECRET"),
83+
ACCOUNT_SECRET_ID = envVar("ACCOUNT_SECRET_ID"),
84+
ACCOUNT_SMS_CALLBACK_URL = envVar("ACCOUNT_SMS_CALLBACK_URL"),
85+
APPLICATION_NAME = envVar("APPLICATION_NAME"),
86+
MESSAGES_TO_NUMBER = envVar("MESSAGES_TO_NUMBER"),
87+
MESSAGES_MESSAGE_ID = envVar("MESSAGES_MESSAGE_ID"),
88+
MESSAGES_IMAGE_URL = envVar("MESSAGES_IMAGE_URL"),
89+
MESSAGES_AUDIO_URL = envVar("MESSAGES_AUDIO_URL"),
90+
MESSAGES_VIDEO_URL = envVar("MESSAGES_VIDEO_URL"),
91+
MESSAGES_FILE_URL = envVar("MESSAGES_FILE_URL"),
92+
MESSAGES_VCARD_URL = envVar("MESSAGES_VCARD_URL"),
93+
MESSAGES_EMOJI = envVar("MESSAGES_EMOJI"),
94+
MESSAGES_CAPTION = envVar("MESSAGES_CAPTION"),
95+
SMS_SENDER_ID = envVar("SMS_SENDER_ID"),
96+
MMS_SENDER_ID = envVar("MMS_SENDER_ID"),
97+
RCS_SENDER_ID = envVar("RCS_SENDER_ID"),
98+
WHATSAPP_SENDER_ID = envVar("WHATSAPP_SENDER_ID"),
99+
VIBER_SENDER_ID = envVar("VIBER_SENDER_ID"),
100+
MESSENGER_SENDER_ID = envVar("MESSENGER_SENDER_ID"),
101+
MESSENGER_RECIPIENT_ID = envVar("MESSENGER_RECIPIENT_ID"),
102+
WHATSAPP_TEMPLATE_NAME = envVar("WHATSAPP_TEMPLATE_NAME"),
103+
WHATSAPP_OTP = envVar("WHATSAPP_OTP"),
104+
WHATSAPP_CATALOG_ID = envVar("WHATSAPP_CATALOG_ID"),
105+
WHATSAPP_PRODUCT_ID = envVar("WHATSAPP_PRODUCT_ID"),
106+
WHATSAPP_STICKER_ID = envVar("WHATSAPP_STICKER_ID"),
107+
WHATSAPP_STICKER_URL = envVar("WHATSAPP_STICKER_URL"),
108+
WHATSAPP_HEADER_IMAGE_URL = envVar("WHATSAPP_HEADER_IMAGE_URL"),
109+
WHATSAPP_TEMPLATE_NAMESPACE = envVar("WHATSAPP_TEMPLATE_NAMESPACE"),
110+
WHATSAPP_AUTH_TEMPLATE_NAME = envVar("WHATSAPP_AUTH_TEMPLATE_NAME"),
111+
WHATSAPP_TEMPLATE_REPLACEMENT_TEXT = envVar("WHATSAPP_TEMPLATE_REPLACEMENT_TEXT"),
112+
VIBER_THUMB_URL = envVar("VIBER_THUMB_URL"),
113+
MESSAGES_SANDBOX_VIBER_SERVICE_ID = envVar("MESSAGES_SANDBOX_VIBER_SERVICE_ID"),
114+
MESSAGES_SANDBOX_ALLOW_LISTED_TO_NUMBER = envVar("MESSAGES_SANDBOX_ALLOW_LISTED_TO_NUMBER"),
115+
MESSAGES_SANDBOX_FB_ID = envVar("MESSAGES_SANDBOX_FB_ID"),
116+
MESSAGES_SANDBOX_ALLOW_LISTED_FB_RECIPIENT_ID = envVar("MESSAGES_SANDBOX_ALLOW_LISTED_FB_RECIPIENT_ID"),
117+
MESSAGES_SANDBOX_WHATSAPP_NUMBER = envVar("MESSAGES_SANDBOX_WHATSAPP_NUMBER"),
118+
NV_MSISDN = envVar("NV_MSISDN"),
119+
NV_REDIRECT_URI = envVar("NV_REDIRECT_URI"),
120+
SIMSWAP_MSISDN = envVar("SIMSWAP_MSISDN"),
121+
INSIGHT_NUMBER = envVar("INSIGHT_NUMBER"),
122+
INSIGHT_CALLBACK_URL = envVar("INSIGHT_CALLBACK_URL"),
123+
NUMBER_MSISDN = envVar("NUMBER_MSISDN"),
124+
NUMBER_COUNTRY_CODE = envVar("NUMBER_COUNTRY_CODE"),
125+
NUMBER_SEARCH_CRITERIA = envVar("NUMBER_SEARCH_CRITERIA"),
126+
NUMBER_SMS_CALLBACK_URL = envVar("NUMBER_SMS_CALLBACK_URL"),
127+
NUMBER_VOICE_CALLBACK_URL = envVar("NUMBER_VOICE_CALLBACK_URL"),
128+
NUMBER_VOICE_STATUS_CALLBACK_URL = envVar("NUMBER_VOICE_STATUS_CALLBACK_URL"),
129+
PRICING_COUNTRY_CODE = envVar("PRICING_COUNTRY_CODE"),
130+
PRICING_DIAL_PREFIX = envVar("PRICING_DIAL_PREFIX"),
131+
VONAGE_REDACT_ID = envVar("VONAGE_REDACT_ID"),
132+
SMS_TO_NUMBER = envVar("SMS_TO_NUMBER"),
133+
SUBACCOUNT_KEY = envVar("SUBACCOUNT_KEY"),
134+
SUBACCOUNT_NAME = envVar("SUBACCOUNT_NAME"),
135+
SUBACCOUNT_SECRET = envVar("SUBACCOUNT_SECRET"),
136+
USER_ID = envVar("USER_ID"),
137+
USER_NAME = envVar("USER_NAME"),
138+
USER_DISPLAY_NAME = envVar("USER_DISPLAY_NAME"),
139+
USER_NEW_NAME = envVar("USER_NEW_NAME"),
140+
USER_NEW_DISPLAY_NAME = envVar("USER_NEW_DISPLAY_NAME"),
141+
WEBSOCKET_URI = envVar("WEBSOCKET_URI"),
142+
SIP_SECURE_URI = envVar("SIP_SECURE_URI"),
143+
SIP_USERNAME = envVar("SIP_USERNAME"),
144+
SIP_PASSWORD = envVar("SIP_PASSWORD"),
145+
VERIFY_NUMBER = envVar("VERIFY_NUMBER"),
146+
VERIFY_BRAND_NAME = envVar("VERIFY_BRAND_NAME"),
147+
VERIFY_PAYEE_NAME = envVar("VERIFY_PAYEE_NAME"),
148+
VERIFY_REQUEST_ID = envVar("VERIFY_REQUEST_ID"),
149+
VERIFY_CODE = envVar("VERIFY_CODE"),
150+
VERIFY_TO_EMAIL = envVar("VERIFY_TO_EMAIL"),
151+
VERIFY_FROM_EMAIL = envVar("VERIFY_FROM_EMAIL"),
152+
VERIFY_WHATSAPP_NUMBER = envVar("VERIFY_WHATSAPP_NUMBER"),
153+
VERIFY_TEMPLATE_NAME = envVar("VERIFY_TEMPLATE_NAME"),
154+
VERIFY_TEMPLATE_ID = envVar("VERIFY_TEMPLATE_ID"),
155+
VERIFY_TEMPLATE_FRAGMENT_ID = envVar("VERIFY_TEMPLATE_FRAGMENT_ID"),
156+
VOICE_CALL_ID = envVar("VOICE_CALL_ID"),
157+
VOICE_TO_NUMBER = envVar("VOICE_TO_NUMBER"),
158+
VOICE_TEXT = envVar("VOICE_TEXT"),
159+
VOICE_DTMF_DIGITS = envVar("VOICE_DTMF_DIGITS"),
160+
VOICE_CONFERENCE_NAME = envVar("VOICE_CONFERENCE_NAME"),
161+
VOICE_NCCO_URL = envVar("VOICE_NCCO_URL"),
162+
VOICE_ANSWER_URL = envVar("VOICE_ANSWER_URL"),
163+
VOICE_STREAM_URL = envVar("VOICE_STREAM_URL"),
164+
VOICE_RECORDING_URL = envVar("VOICE_RECORDING_URL");
77165

78-
if ("1".equals(stringValue) || "true".equals(stringValue) || "on".equals(stringValue)) {
79-
return true;
80-
} else if ("0".equals(stringValue) || "false".equals(stringValue) || "off".equals(stringValue)) {
81-
return false;
82-
} else {
83-
throw new IllegalArgumentException(
84-
String.format("The value \"%s\" could not be converted to a boolean value", stringValue));
85-
}
86-
}
166+
public static final int
167+
VIBER_VIDEO_DURATION = Integer.parseInt(envVar("VIBER_VIDEO_DURATION")),
168+
VIBER_VIDEO_FILE_SIZE = Integer.parseInt(envVar("VIBER_VIDEO_FILE_SIZE")),
169+
VIBER_VIDEO_TTL = Integer.parseInt(envVar("VIBER_VIDEO_TTL")),
170+
SIMSWAP_MAX_AGE = Integer.parseInt(envVar("SIMSWAP_MAX_AGE")),
171+
VBC_EXTENSION = Integer.parseInt(envVar("VBC_EXTENSION"));
172+
173+
public static final Type
174+
NUMBER_TYPE = Type.fromString(envVar("NUMBER_TYPE"));
175+
176+
public static final Feature[]
177+
NUMBER_FEATURES = Arrays.stream(envVar("NUMBER_FEATURES").split(","))
178+
.map(Feature::fromString)
179+
.toArray(Feature[]::new);
180+
181+
public static final SearchPattern
182+
NUMBER_SEARCH_PATTERN = SearchPattern.values()[Integer.parseInt(envVar("NUMBER_SEARCH_PATTERN"))];
183+
184+
public static final UpdateNumberRequest.CallbackType
185+
NUMBER_VOICE_CALLBACK_TYPE = UpdateNumberRequest.CallbackType.fromString(envVar("NUMBER_VOICE_CALLBACK_TYPE"));
186+
187+
public static final VerifyRequest.Workflow
188+
VERIFY_WORKFLOW_ID = VerifyRequest.Workflow.values()[Integer.parseInt(envVar("VERIFY_WORKFLOW_ID")) + 1];
189+
190+
public static final Psd2Request.Workflow
191+
VERIFY_PSD2_WORKFLOW_ID = Psd2Request.Workflow.values()[Integer.parseInt(envVar("VERIFY_WORKFLOW_ID")) + 1];
192+
193+
public static final TextToSpeechLanguage
194+
VOICE_LANGUAGE = TextToSpeechLanguage.valueOf(envVar("VOICE_LANGUAGE"));
195+
196+
public static final ApiRegion
197+
MESSAGES_GEOSPECIFIC_API_HOST = ApiRegion.fromString(envVar("MESSAGES_GEOSPECIFIC_API_HOST"));
87198
}

0 commit comments

Comments
 (0)