*
* @version 0.1
*/
-class BrmsGateway {
+public class BrmsGateway {
private static final Logger logger = FlexLogger.getLogger(BrmsGateway.class);
private static final String CONFIGFILE = "config.properties";
// Default private constructor
}
+ /**
+ * Main method.
+ * @param args The path to the configuration file is the only allowed optional argument
+ * @throws Exception on BRMS Gateway errors
+ */
public static void main(final String[] args) throws Exception {
+ // The configuration file containing the configuration for the BRMS Gateway
+ String configFile = CONFIGFILE;
+
+ // Check if a configuration file has been specified as a parameter
+ if (args.length == 1) {
+ configFile = args[0];
+ }
+ else if (args.length > 1) {
+ String errorString = "usage: " + BrmsGateway.class.getCanonicalName() + " [configFile]";
+ logger.error(errorString);
+ throw new PolicyException(errorString);
+ }
+
// Initialize Handler.
logger.info("Initializing BRMS Handler");
BrmsHandler brmsHandler = null;
try {
- brmsHandler = new BrmsHandler(CONFIGFILE);
+ brmsHandler = new BrmsHandler(configFile);
} catch (final PolicyException e) {
- logger.error("Check your property file: " + e.getMessage(), e);
- System.exit(1);
+ String errorString = "Check your property file: " + e.getMessage();
+ logger.error(errorString);
+ throw new PolicyException(errorString);
}
// Set Handler with Auto Notification and initialize policyEngine
policyEngine = new PolicyEngine(CONFIGFILE, NotificationScheme.AUTO_ALL_NOTIFICATIONS, brmsHandler);
} catch (final Exception e) {
logger.error(XACMLErrorConstants.ERROR_UNKNOWN + "Error while Initializing Policy Engine " + e.getMessage(),
- e);
+ e);
}
// Keep Running....
* ============LICENSE_END=========================================================
*/
-package org.onap.brmsgw.test;
+package org.onap.policy.brms;
import static org.junit.Assert.assertEquals;
* ============LICENSE_END=========================================================
*/
-package org.onap.brmsgw.test;
+package org.onap.policy.brms;
import static org.junit.Assert.assertNotNull;
public void brmsHandlerFailTest6() throws PolicyException {
PropertyChange prop = new PropertyChange();
prop.key = "repositoryURL";
- prop.value =
- "http://nexus:8081/nexus/content/repositories/releases, http://nexus:8081/nexus/content/repositories/releases";
+ prop.value = "http://nexus:8081/nexus/content/repositories/releases,"
+ + "http://nexus:8081/nexus/content/repositories/releases";
prop.remove = false;
final List<PropertyChange> props = new LinkedList<>();
props.add(prop);
* ============LICENSE_END=========================================================
*/
-package org.onap.brmsgw.test;
+package org.onap.policy.brms;
import static org.junit.Assert.assertEquals;
* ============LICENSE_END=========================================================
*/
-package org.onap.brmsgw.test;
+package org.onap.policy.brms;
import static org.junit.Assert.assertEquals;
--- /dev/null
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP Policy Engine
+ * ================================================================================
+ * Copyright (C) 2018 Ericsson. All rights reserved.
+ * ================================================================================
+ * 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
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.brms.api;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.fail;
+
+import org.junit.Test;
+import org.onap.policy.api.PolicyException;
+
+public class BrmsGatewayMainTest {
+
+ @Test
+ public void testTooManyArguments() {
+ try {
+ String[] args = {"aaa", "bbb"};
+ BrmsGateway.main(args);
+ fail("test should throw an exception");
+ }
+ catch (PolicyException e) {
+ assertEquals("usage: org.onap.policy.brms.api.BrmsGateway [configFile]", e.getMessage());
+ }
+ catch (Exception e) {
+ fail("test should throw a PolicyException");
+ }
+
+ try {
+ String[] args = {"aaa"};
+ BrmsGateway.main(args);
+ fail("test should throw an exception");
+ }
+ catch (PolicyException e) {
+ assertEquals("Check your property file: PE300 - Data Issue: "
+ + "Config File doesn't Exist in the specified Path aaa", e.getMessage());
+ }
+ catch (Exception e) {
+ fail("test should throw a PolicyException");
+ }
+ }
+
+}
// Run app
try {
- final String[] args = null;
+ final String[] args = new String[0];
BrmsGateway.main(args);
} catch (final Exception ex) {
fail("Not expected an exception: " + ex);