X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=auth%2Fauth-core%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Faaf%2Fauth%2Fserver%2FAbsService.java;h=678fb28ee4eaa1638476279332c20ecdc44776ff;hb=82755753f41112e1cdd91b2994620ad074dfbf20;hp=bb6f1986272abf61946fa02eb2bcfb85bb05cf81;hpb=047edb5a4312cc7dfb3172b7e11ab1a9e2315ba2;p=aaf%2Fauthz.git diff --git a/auth/auth-core/src/main/java/org/onap/aaf/auth/server/AbsService.java b/auth/auth-core/src/main/java/org/onap/aaf/auth/server/AbsService.java index bb6f1986..678fb28e 100644 --- a/auth/auth-core/src/main/java/org/onap/aaf/auth/server/AbsService.java +++ b/auth/auth-core/src/main/java/org/onap/aaf/auth/server/AbsService.java @@ -7,9 +7,9 @@ * 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. @@ -34,6 +34,7 @@ import org.onap.aaf.cadi.Access; import org.onap.aaf.cadi.Access.Level; import org.onap.aaf.cadi.CadiException; import org.onap.aaf.cadi.LocatorException; +import org.onap.aaf.cadi.aaf.Defaults; import org.onap.aaf.cadi.aaf.v2_0.AAFConHttp; import org.onap.aaf.cadi.client.Rcli; import org.onap.aaf.cadi.client.Retryable; @@ -47,141 +48,143 @@ import org.onap.aaf.misc.env.Trans; import org.onap.aaf.misc.env.impl.BasicEnv; public abstract class AbsService extends RServlet { - public final Access access; - public final ENV env; - private AAFConHttp aafCon; + public final Access access; + public final ENV env; + private AAFConHttp aafCon; - public final String app_name; - public final String app_version; - public final String app_interface_version; - public final String ROOT_NS; + public final String appName; + public final String appVersion; + public final String rootNs; public AbsService(final Access access, final ENV env) throws CadiException { - Define.set(access); - ROOT_NS = Define.ROOT_NS(); - this.access = access; - this.env = env; - - String component = access.getProperty(Config.AAF_COMPONENT, null); - final String[] locator_deploy; - - if(component == null) { - locator_deploy = null; - } else { - locator_deploy = Split.splitTrim(':', component); - } - - if(component == null || locator_deploy==null || locator_deploy.length<2) { - throw new CadiException("AAF Component must include the " + Config.AAF_COMPONENT + " property, :[] registrants(final int port) throws CadiException, LocatorException; - - // Lazy Instantiation + public void setSubprotocol(String subproto) { + env.setProperty(Config.AAF_LOCATOR_SUBPROTOCOL, subproto); + } + + protected abstract Filter[] _filters(Object ... additionalTafLurs) throws CadiException, LocatorException; + + /** + * Overload this method to add new TAF or LURs + * + * @return + * @throws CadiException + * @throws LocatorException + */ + public Filter[] filters() throws CadiException, LocatorException { + return _filters(); + } + + public abstract Registrant[] registrants(final int actualPort) throws CadiException, LocatorException; + + // Lazy Instantiation public synchronized AAFConHttp aafCon() throws CadiException, LocatorException { - if(aafCon==null) { - if(access.getProperty(Config.AAF_URL,null)!=null) { - aafCon = _newAAFConHttp(); - } else { - throw new CadiException("AAFCon cannot be constructed without " + Config.AAF_URL); - } - } - return aafCon; + if (aafCon==null) { + if (access.getProperty(Config.AAF_URL,null)!=null) { + aafCon = _newAAFConHttp(); + } else { + throw new CadiException("AAFCon cannot be constructed without " + Config.AAF_URL); + } + } + return aafCon; } - + /** * Allow to be over ridden for special cases * @return - * @throws LocatorException + * @throws LocatorException */ - protected synchronized AAFConHttp _newAAFConHttp() throws CadiException, LocatorException { - if(aafCon==null) { - aafCon = new AAFConHttp(access); - } - return aafCon; - - } - + protected synchronized AAFConHttp _newAAFConHttp() throws CadiException, LocatorException { + if (aafCon==null) { + aafCon = new AAFConHttp(access); + } + return aafCon; + + } + // This is a method, so we can overload for AAFAPI public String aaf_url() { - return access.getProperty(Config.AAF_URL, null); + return access.getProperty(Config.AAF_URL, null); + } + + public Rcli client() throws CadiException { + return aafCon.client(); } - - public Rcli client() throws CadiException { - return aafCon.client(Config.AAF_DEFAULT_VERSION); - } - - public Rcli clientAsUser(TaggedPrincipal p) throws CadiException { - return aafCon.client(Config.AAF_DEFAULT_VERSION).forUser( - new HTransferSS(p,app_name, aafCon.securityInfo())); - } - - public RET clientAsUser(TaggedPrincipal p,Retryable retryable) throws APIException, LocatorException, CadiException { - return aafCon.hman().best(new HTransferSS(p,app_name, aafCon.securityInfo()), retryable); - } - - protected static final String loadFromArgOrSystem(final Properties props, final String tag, final String args[], final String def) { - String tagEQ = tag + '='; - String value; - for(String arg : args) { - if(arg.startsWith(tagEQ)) { - props.put(tag, value=arg.substring(tagEQ.length())); - return value; - } - } - // check System.properties - value = System.getProperty(tag); - if(value!=null) { - props.put(tag, value); - return value; - } - - if(def!=null) { - props.put(tag,def); - } - return def; - } + public Rcli clientAsUser(TaggedPrincipal p) throws CadiException { + return aafCon.client().forUser( + new HTransferSS(p, appName, aafCon.securityInfo())); + } + + public RET clientAsUser(TaggedPrincipal p,Retryable retryable) throws APIException, LocatorException, CadiException { + return aafCon.hman().best(new HTransferSS(p, appName, aafCon.securityInfo()), retryable); + } + + protected static final String loadFromArgOrSystem(final Properties props, final String tag, final String args[], final String def) { + String tagEQ = tag + '='; + String value; + for (String arg : args) { + if (arg.startsWith(tagEQ)) { + props.put(tag, value=arg.substring(tagEQ.length())); + return value; + } + } + // check System.properties + value = System.getProperty(tag); + if (value!=null) { + props.put(tag, value); + return value; + } + + if (def!=null) { + props.put(tag,def); + } + return def; + } }