Skip to content

Commit 9e40e9a

Browse files
authored
Plugin configuration requirement removed (#333)
1 parent 49c0960 commit 9e40e9a

File tree

7 files changed

+32
-12
lines changed

7 files changed

+32
-12
lines changed

aws-analytics-pinpoint/src/main/java/com/amplifyframework/analytics/pinpoint/AmazonPinpointAnalyticsPlugin.java

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -305,7 +305,17 @@ public String getPluginKey() {
305305
* {@inheritDoc}
306306
*/
307307
@Override
308-
public void configure(@NonNull JSONObject pluginConfiguration, @NonNull Context context) throws AnalyticsException {
308+
public void configure(
309+
JSONObject pluginConfiguration,
310+
@NonNull Context context
311+
) throws AnalyticsException {
312+
if (pluginConfiguration == null) {
313+
throw new AnalyticsException(
314+
"Missing configuration for " + getPluginKey(),
315+
"Check amplifyconfiguration.json to make sure that there is a section for " +
316+
getPluginKey() + " under the analytics category."
317+
);
318+
}
309319

310320
AmazonPinpointAnalyticsPluginConfiguration.Builder configurationBuilder =
311321
AmazonPinpointAnalyticsPluginConfiguration.builder();
@@ -344,7 +354,7 @@ public void configure(@NonNull JSONObject pluginConfiguration, @NonNull Context
344354
"Unable to read appId or region from the amplify configuration json.",
345355
exception,
346356
"Make sure amplifyconfiguration.json is a valid json object in expected format. " +
347-
"Please take a look at the documentation for expected format of amplifyconfiguration.json."
357+
"Please take a look at the documentation for expected format of amplifyconfiguration.json."
348358
);
349359
}
350360

aws-api/src/main/java/com/amplifyframework/api/aws/AWSApiPlugin.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,10 +101,13 @@ public String getPluginKey() {
101101
}
102102

103103
@Override
104-
public void configure(@NonNull JSONObject pluginConfigurationJson, @NonNull Context context) throws ApiException {
104+
public void configure(
105+
JSONObject pluginConfiguration,
106+
@NonNull Context context
107+
) throws ApiException {
105108
// Null-check for configuration is done inside readFrom method
106109
AWSApiPluginConfiguration pluginConfig =
107-
AWSApiPluginConfigurationReader.readFrom(pluginConfigurationJson);
110+
AWSApiPluginConfigurationReader.readFrom(pluginConfiguration);
108111

109112
final InterceptorFactory interceptorFactory =
110113
new AppSyncSigV4SignerInterceptorFactory(authProvider);

aws-datastore/src/main/java/com/amplifyframework/datastore/AWSDataStorePlugin.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -107,11 +107,12 @@ public String getPluginKey() {
107107
@SuppressLint("CheckResult")
108108
@Override
109109
public void configure(
110-
@Nullable JSONObject pluginConfigurationJson,
111-
@NonNull Context context) throws DataStoreException {
110+
JSONObject pluginConfiguration,
111+
@NonNull Context context
112+
) throws DataStoreException {
112113
try {
113114
this.pluginConfiguration =
114-
AWSDataStorePluginConfiguration.fromJson(pluginConfigurationJson);
115+
AWSDataStorePluginConfiguration.fromJson(pluginConfiguration);
115116
} catch (DataStoreException badConfigException) {
116117
throw new DataStoreException(
117118
"There was an issue configuring the plugin from the amplifyconfiguration.json",

aws-storage-s3/src/main/java/com/amplifyframework/storage/s3/AWSS3StoragePlugin.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,10 @@ public String getPluginKey() {
107107

108108
@Override
109109
@SuppressWarnings("MagicNumber") // TODO: Remove once default values are moved to configuration
110-
public void configure(@NonNull JSONObject pluginConfiguration, @NonNull Context context) throws StorageException {
110+
public void configure(
111+
JSONObject pluginConfiguration,
112+
@NonNull Context context
113+
) throws StorageException {
111114
String regionStr;
112115
String bucket;
113116

core/src/main/java/com/amplifyframework/core/plugin/Plugin.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,14 +54,17 @@ public interface Plugin<E> extends CategoryTypeable {
5454
String getPluginKey();
5555

5656
/**
57-
* Configure the plugin with customized configuration object.
57+
* Configure the plugin with customized configuration object. A
58+
* plugin may or may not require plugin configuration, so see
59+
* the documentation for details.
60+
*
5861
* This hook provides a good opportunity to instantiate resources.
5962
* Any long-lived initialization should take place in {@link #initialize(Context)}, instead.
6063
* @param pluginConfiguration plugin-specific configuration data
6164
* @param context An Android Context
6265
* @throws AmplifyException an error is encountered during configuration.
6366
*/
64-
void configure(@NonNull JSONObject pluginConfiguration, @NonNull Context context) throws AmplifyException;
67+
void configure(JSONObject pluginConfiguration, @NonNull Context context) throws AmplifyException;
6568

6669
/**
6770
* Initializes the plugin.

core/src/main/java/com/amplifyframework/hub/AWSHubPlugin.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ public String getPluginKey() {
131131
}
132132

133133
@Override
134-
public void configure(@NonNull JSONObject pluginConfiguration, @NonNull Context context) {
134+
public void configure(JSONObject pluginConfiguration, @NonNull Context context) {
135135
}
136136

137137
@Nullable

core/src/main/java/com/amplifyframework/logging/AndroidLoggingPlugin.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ public String getPluginKey() {
6666

6767
@Override
6868
public void configure(
69-
@NonNull JSONObject pluginConfiguration,
69+
JSONObject pluginConfiguration,
7070
@NonNull Context context)
7171
throws LoggingException {
7272
// In the future, accept a log level configuration from JSON?

0 commit comments

Comments
 (0)