<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.httpcomponents</groupId>
- <artifactId>httpcore</artifactId>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<plugin>
<groupId>org.jvnet.jaxb2.maven2</groupId>
<artifactId>maven-jaxb2-plugin</artifactId>
- <version>0.13.1</version>
+ <version>0.14.0</version>
<executions>
<execution>
<id>gen-xjc</id>
<plugin>
<groupId>org.jvnet.jaxb2_commons</groupId>
<artifactId>jaxb2-basics-annotate</artifactId>
- <version>0.6.4</version>
+ <version>0.6.5</version>
</plugin>
</plugins>
</configuration>
import org.onap.ccsdk.sli.core.sli.SvcLogicResource;
import org.onap.ccsdk.sli.adaptors.aai.data.notify.NotifyEvent;
+import com.fasterxml.jackson.core.JsonParseException;
+import com.fasterxml.jackson.databind.JsonMappingException;
+
public interface AAIClient extends SvcLogicResource, SvcLogicJavaPlugin {
public SearchResults requestServiceInstanceURL(String svcInstanceId) throws AAIServiceException;
public void logKeyError(String keys);
- public QueryStatus processResponseData(String rv, String resource, AAIRequest request, String prefix, SvcLogicContext ctx, Map<String, String> nameValues, String modifier) throws IOException, AAIServiceException ;
+ public QueryStatus processResponseData(String rv, String resource, AAIRequest request, String prefix, SvcLogicContext ctx, Map<String, String> nameValues, String modifier) throws JsonParseException, JsonMappingException, IOException, AAIServiceException ;
public String getPathTemplateForResource(String resoourceName, String join, SvcLogicContext ctx) throws MalformedURLException;
public boolean isDeprecatedFormat(String resource, Map<String, String> nameValues);
try {
obj = getMetadataMethod.invoke(instance);
} catch (InvocationTargetException x) {
+ Throwable cause = x.getCause();
}
}
if(obj != null && obj instanceof Metadata){
queryParams.put(splitKey[1], encodeQuery(value));
} else {
- String token = String.format("%s/{%s}", splitKey[0], splitKey[1]);
- String encoded_vnf = encodeQuery(value);
- request_url = request_url.replace(token, String.format("%s/%s", splitKey[0], encoded_vnf));
+ String encoded_vnf = encodeQuery(value);
+ if(!resourceName.equals(splitKey[0]) && resourceName.contains(splitKey[0])) {
+ queryParams.put(splitKey[1], encoded_vnf);
+ } else {
+ String token = String.format("%s/{%s}", splitKey[0], splitKey[1]);
+ request_url = request_url.replace(token, String.format("%s/%s", splitKey[0], encoded_vnf));
+ }
}
}
import org.junit.Test;
import org.junit.runners.MethodSorters;
import org.onap.ccsdk.sli.adaptors.aai.data.AAIDatum;
+import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
+import org.onap.ccsdk.sli.core.sli.SvcLogicResource.QueryStatus;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
}
}
+
+// @Test
+ public void EchoTest() {
+ LOG.info("----------------------- Test: " + new Object(){}.getClass().getEnclosingMethod().getName() + " -----------------------");
+ try
+ {
+ SvcLogicContext ctx = new SvcLogicContext();
+
+ QueryStatus resp = null;
+
+// (String resource, boolean localOnly, String select, String key, String prefix, String orderBy, SvcLogicContext ctx)
+ resp = aaiService.query("echo", false, null, "", "aaidata", null, ctx);
+ assert(resp == QueryStatus.SUCCESS);
+ }
+ catch (Throwable e)
+ {
+ LOG.error("Caught exception", e);
+// fail("Caught exception");
+ }
+ }
}
<dependency>
<groupId>org.onap.ccsdk.sli.core</groupId>
<artifactId>sli-common</artifactId>
+ <scope>provided</scope>
</dependency>
<dependency>
<groupId>org.onap.ccsdk.sli.core</groupId>
<artifactId>sli-provider</artifactId>
+ <scope>provided</scope>
</dependency>
<dependency>
<version>${ccsdk.sli.core.version}</version>
<type>xml</type>
<classifier>features</classifier>
+ <scope>provided</scope>
</dependency>
<dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
- <version>${jersey.version}</version>
<scope>test</scope>
</dependency>
<dependency>
import javax.ws.rs.client.ClientRequestFilter;
import javax.ws.rs.core.MultivaluedMap;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
public class BasicAuthFilter implements ClientRequestFilter {
private final String basicAuthValue;
-
public BasicAuthFilter(String basicAuthValue) {
this.basicAuthValue = basicAuthValue;
}
MultivaluedMap<String, Object> headers = requestContext.getHeaders();
headers.add("Authorization", basicAuthValue);
}
+
+
}
@Test
public void notNullParameters() throws Exception {
- BasicAuthFilter myFilter = new BasicAuthFilter("helloworld");
+ BasicAuthFilter myFilter = new BasicAuthFilter("hello");
assertNotNull(myFilter);
}
<version>${ccsdk.sli.core.version}</version>
<type>xml</type>
<classifier>features</classifier>
+ <scope>provided</scope>
</dependency>
<dependency>
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLSession;
+import javax.xml.XMLConstants;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
LOG.info("Response body :\n"+respString);
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
+ dbf.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
+ dbf.setFeature("http://xml.org/sax/features/external-general-entities", false);
+ dbf.setFeature("http://xml.org/sax/features/external-parameter-entities", false);
DocumentBuilder db = dbf.newDocumentBuilder();
-
response = db.parse(new ByteArrayInputStream(respString.getBytes()));
} catch (Exception e) {
<dependencies>
- <dependency>
- <groupId>org.opendaylight.controller</groupId>
- <artifactId>odl-mdsal-broker</artifactId>
- <type>xml</type>
- <classifier>features</classifier>
- </dependency>
<dependency>
<groupId>org.onap.ccsdk.sli.core</groupId>
<version>${ccsdk.sli.core.version}</version>
<type>xml</type>
<classifier>features</classifier>
+ <scope>provided</scope>
</dependency>
<dependency>
<version>${ccsdk.sli.core.version}</version>
<type>xml</type>
<classifier>features</classifier>
+ <scope>provided</scope>
</dependency>
<dependency>
<dependency>
<groupId>org.onap.ccsdk.sli.core</groupId>
<artifactId>sli-common</artifactId>
- <scope>compile</scope>
+ <scope>provided</scope>
</dependency>
<dependency>
<groupId>org.onap.ccsdk.sli.core</groupId>
<artifactId>sliPluginUtils-provider</artifactId>
- <version>${project.version}</version>
- <scope>compile</scope>
+ <version>${ccsdk.sli.core.version}</version>
+ <scope>provided</scope>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<dependency>
<groupId>com.github.tomakehurst</groupId>
<artifactId>wiremock</artifactId>
- <version>2.23.2</version>
+ <version>2.23.2</version>
<scope>test</scope>
</dependency>
<dependency>
return (QueryStatus.FAILURE);
}
- String theStmt = resolveCtxVars(key, ctx);
+ String theStmt = resolveCtxVars(key, ctx, resource);
try {
CachedRowSet results = dblibSvc.getData(theStmt, null, null);
if (dblibSvc == null) {
return (QueryStatus.FAILURE);
}
+
+ String sqlQuery = resolveCtxVars(key, ctx, resource);
- String sqlQuery = resolveCtxVars(key, ctx);
try {
return (QueryStatus.FAILURE);
}
- String sqlStmt = resolveCtxVars(key, ctx);
+ String sqlStmt = resolveCtxVars(key, ctx, "");
LOG.debug("key = [" + key + "]; sqlStmt = [" + sqlStmt + "]");
try {
}
- private String resolveCtxVars(String key, SvcLogicContext ctx) {
+ private String resolveCtxVars(String key, SvcLogicContext ctx, String resource) {
if (key == null) {
return (null);
}
LOG.debug("Stripped outer single quotes - key is now [" + key + "]");
}
- String[] keyTerms = key.split("\\s+");
+ //"SQL-TRUE" allows for the key to be used as is.
+ if (!resource.equals("SQL-TRUE")) {
+ String[] keyTerms = key.split("\\s+");
- StringBuffer sqlBuffer = new StringBuffer();
+ StringBuffer sqlBuffer = new StringBuffer();
- for (int i = 0; i < keyTerms.length; i++) {
- sqlBuffer.append(resolveTerm(keyTerms[i], ctx));
- sqlBuffer.append(" ");
- }
+ for (int i = 0; i < keyTerms.length; i++) {
+ sqlBuffer.append(resolveTerm(keyTerms[i], ctx));
+ sqlBuffer.append(" ");
+ }
+ key = sqlBuffer.toString();
+ }
- return (sqlBuffer.toString());
+ return (key);
}
private String resolveTerm(String term, SvcLogicContext ctx) {
return (strValue);
} else {
ResultSet results = null;
- try (Connection conn = dblibSvc.getConnection();
+ try (Connection conn = dblibSvc.getConnection();
PreparedStatement stmt = conn.prepareStatement("SELECT CAST(AES_DECRYPT(?, ?) AS CHAR(50)) FROM DUAL")) {
stmt.setBytes(1, colValue);