import org.onap.aaf.cadi.util.Split;
public class DirectRegistrar implements Registrant<AuthzEnv> {
- private Data locate;
- private LocateDAO ldao;
- public DirectRegistrar(Access access, LocateDAO ldao, String name, String version, int port) throws CadiException {
- this.ldao = ldao;
- locate = new LocateDAO.Data();
- locate.name = name;
- locate.port = port;
-
- try {
- String latitude = access.getProperty(Config.CADI_LATITUDE, null);
- if(latitude==null) {
- latitude = access.getProperty("AFT_LATITUDE", null);
- }
- String longitude = access.getProperty(Config.CADI_LONGITUDE, null);
- if(longitude==null) {
- longitude = access.getProperty("AFT_LONGITUDE", null);
- }
- if(latitude==null || longitude==null) {
- throw new CadiException(Config.CADI_LATITUDE + " and " + Config.CADI_LONGITUDE + " is required");
- } else {
- locate.latitude = Float.parseFloat(latitude);
- locate.longitude = Float.parseFloat(longitude);
- }
- String split[] = Split.splitTrim('.', version);
- locate.pkg = split.length>3?Integer.parseInt(split[3]):0;
- locate.patch = split.length>2?Integer.parseInt(split[2]):0;
- locate.minor = split.length>1?Integer.parseInt(split[1]):0;
- locate.major = split.length>0?Integer.parseInt(split[0]):0;
- locate.hostname = access.getProperty(Config.AAF_REGISTER_AS, null);
- if(locate.hostname==null) {
- locate.hostname = access.getProperty(Config.HOSTNAME, null);
- }
- if(locate.hostname==null) {
- locate.hostname = Inet4Address.getLocalHost().getHostName();
- }
- String subprotocols = access.getProperty(Config.CADI_PROTOCOLS, null);
- if(subprotocols==null) {
- locate.protocol="http";
- } else {
- locate.protocol="https";
- for(String s : Split.split(',', subprotocols)) {
- locate.subprotocol(true).add(s);
- }
- }
- } catch (NumberFormatException | UnknownHostException e) {
- throw new CadiException("Error extracting Data from Properties for Registrar",e);
- }
- }
-
- @Override
- public Result<Void> update(AuthzEnv env) {
- org.onap.aaf.auth.layer.Result<Void> dr = ldao.update(env.newTransNoAvg(), locate);
- if(dr.isOK()) {
- return Result.ok(200, null);
- } else {
- return Result.err(503, dr.errorString());
- }
- }
+ private Data locate;
+ private LocateDAO ldao;
+ public DirectRegistrar(Access access, LocateDAO ldao, String name, String version, int port) throws CadiException {
+ this.ldao = ldao;
+ locate = new LocateDAO.Data();
+ locate.name = name;
+ locate.port = port;
+
+ try {
+ String latitude = access.getProperty(Config.CADI_LATITUDE, null);
+ if(latitude==null) {
+ latitude = access.getProperty("AFT_LATITUDE", null);
+ }
+ String longitude = access.getProperty(Config.CADI_LONGITUDE, null);
+ if(longitude==null) {
+ longitude = access.getProperty("AFT_LONGITUDE", null);
+ }
+ if(latitude==null || longitude==null) {
+ throw new CadiException(Config.CADI_LATITUDE + " and " + Config.CADI_LONGITUDE + " is required");
+ } else {
+ locate.latitude = Float.parseFloat(latitude);
+ locate.longitude = Float.parseFloat(longitude);
+ }
+ String split[] = Split.splitTrim('.', version);
+ locate.pkg = split.length>3?Integer.parseInt(split[3]):0;
+ locate.patch = split.length>2?Integer.parseInt(split[2]):0;
+ locate.minor = split.length>1?Integer.parseInt(split[1]):0;
+ locate.major = split.length>0?Integer.parseInt(split[0]):0;
+ locate.hostname = access.getProperty(Config.AAF_REGISTER_AS, null);
+ if(locate.hostname==null) {
+ locate.hostname = access.getProperty(Config.HOSTNAME, null);
+ }
+ if(locate.hostname==null) {
+ locate.hostname = Inet4Address.getLocalHost().getHostName();
+ }
+ String subprotocols = access.getProperty(Config.CADI_PROTOCOLS, null);
+ if(subprotocols==null) {
+ locate.protocol="http";
+ } else {
+ locate.protocol="https";
+ for(String s : Split.split(',', subprotocols)) {
+ locate.subprotocol(true).add(s);
+ }
+ }
+ } catch (NumberFormatException | UnknownHostException e) {
+ throw new CadiException("Error extracting Data from Properties for Registrar",e);
+ }
+ }
+
+ @Override
+ public Result<Void> update(AuthzEnv env) {
+ org.onap.aaf.auth.layer.Result<Void> dr = ldao.update(env.newTransNoAvg(), locate);
+ if(dr.isOK()) {
+ return Result.ok(200, null);
+ } else {
+ return Result.err(503, dr.errorString());
+ }
+ }
- /* (non-Javadoc)
- * @see org.onap.aaf.auth.server.Registrant#cancel(org.onap.aaf.auth.env.test.AuthzEnv)
- */
- @Override
- public Result<Void> cancel(AuthzEnv env) {
- org.onap.aaf.auth.layer.Result<Void> dr = ldao.delete(env.newTransNoAvg(), locate, false);
- if(dr.isOK()) {
- return Result.ok(200, null);
- } else {
- return Result.err(503, dr.errorString());
- }
+ /* (non-Javadoc)
+ * @see org.onap.aaf.auth.server.Registrant#cancel(org.onap.aaf.auth.env.test.AuthzEnv)
+ */
+ @Override
+ public Result<Void> cancel(AuthzEnv env) {
+ org.onap.aaf.auth.layer.Result<Void> dr = ldao.delete(env.newTransNoAvg(), locate, false);
+ if(dr.isOK()) {
+ return Result.ok(200, null);
+ } else {
+ return Result.err(503, dr.errorString());
+ }
- }
+ }
}