Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import java.net.URI;
import java.net.URL;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

Expand Down Expand Up @@ -45,8 +46,8 @@
* <br>
*
* This processor processes the incoming requests of the Management Bus-SOAP/HTTP-API. It transforms
* the incoming unmarshalled SOAP message into a from the Management Bus understandable camel exchange
* message. The MBHeader-Enum is used here to define the headers of the exchange message.
* the incoming unmarshalled SOAP message into a from the Management Bus understandable camel
* exchange message. The MBHeader-Enum is used here to define the headers of the exchange message.
*
* @see MBHeader
*
Expand Down Expand Up @@ -119,10 +120,15 @@ public void process(final Exchange exchange) throws Exception {
Activator.bundleContext.getServiceReference(IToscaEngineService.class.getName());
final IToscaEngineService toscaEngineService =
(IToscaEngineService) Activator.bundleContext.getService(servRef);
final QName nodeTemplateQName = new QName(serviceTemplateIDNamespaceURI, nodeTemplateID);
final ResolvedArtifacts resolvedArtifacts =
toscaEngineService.getResolvedArtifactsOfNodeTemplate(new CSARID(csarIDString), nodeTemplateQName);
final List<ResolvedDeploymentArtifact> resolvedDAs = resolvedArtifacts.getDeploymentArtifacts();

final List<ResolvedDeploymentArtifact> resolvedDAs = new ArrayList<>();
if (nodeTemplateID != null) {
final QName nodeTemplateQName = new QName(serviceTemplateIDNamespaceURI, nodeTemplateID);
final ResolvedArtifacts resolvedArtifacts =
toscaEngineService.getResolvedArtifactsOfNodeTemplate(new CSARID(csarIDString), nodeTemplateQName);
resolvedDAs.addAll(resolvedArtifacts.getDeploymentArtifacts());
}

final URL serviceInstanceIDUrl = new URL(serviceInstanceID);
final HashMap<QName, HashMap<String, String>> DAs = new HashMap<>();
for (final ResolvedDeploymentArtifact resolvedDeploymentArtifact : resolvedDAs) {
Expand All @@ -138,7 +144,6 @@ public void process(final Exchange exchange) throws Exception {

LOG.info(urlWithDa);
DAfiles.put(FilenameUtils.getName(urlWithDa), urlWithDa);

}
}
final Gson gson = new Gson();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
import org.glassfish.jersey.server.ServerProperties;
import org.opentosca.container.api.config.CorsFilter;
import org.opentosca.container.api.config.JAXBContextProvider;
import org.opentosca.container.api.config.LogFilter;
import org.opentosca.container.api.config.ObjectMapperProvider;
import org.opentosca.container.api.config.PlainTextMessageBodyWriter;
import org.opentosca.container.api.config.URI2XMLMessageBodyWriter;
Expand Down Expand Up @@ -75,7 +76,7 @@ public void start(final BundleContext bundleContext) throws Exception {
this.services.add(bundleContext.registerService(ObjectMapperProvider.class, new ObjectMapperProvider(), null));
this.services.add(bundleContext.registerService(JacksonFeature.class, new JacksonFeature(), null));
this.services.add(bundleContext.registerService(MultiPartFeature.class, new MultiPartFeature(), null));
// this.services.add(bundleContext.registerService(LogFilter.class, new LogFilter(), null));
this.services.add(bundleContext.registerService(LogFilter.class, new LogFilter(), null));

// Custom JAXBContext provider to have proper error logging. Can be
// removed once the API is in a stable state.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,38 +14,45 @@
package org.opentosca.container.api.config;

import java.io.IOException;
import java.util.List;

import javax.ws.rs.container.ContainerRequestContext;
import javax.ws.rs.container.ContainerRequestFilter;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.ext.Provider;

import org.apache.commons.io.IOUtils;
import org.opentosca.container.api.util.UriUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.google.common.collect.Lists;

@Provider
public class LogFilter implements ContainerRequestFilter {

private static final Logger logger = LoggerFactory.getLogger(LogFilter.class.getName());

@Override
public void filter(final ContainerRequestContext request) throws IOException {
logger.debug("LogFilter.filter()");

for (final String key : request.getHeaders().keySet()) {
logger.debug(key + " : " + request.getHeaders().get(key));
}
if (request.getMethod().equalsIgnoreCase("POST")) {
logger.debug("POST method");
}

if (request.getMediaType() != null) {
logger.debug("MediaType: " + request.getMediaType());
if (request.getMediaType().toString().contains("xml")) {
if (logger.isDebugEnabled()) {
logger.debug("=== LogFilter BEGIN ===");
logger.debug("Method: {}", request.getMethod());
logger.debug("URL: {}", UriUtil.encode(request.getUriInfo().getAbsolutePath()));
for (final String key : request.getHeaders().keySet()) {
logger.debug(key + " : " + request.getHeaders().get(key));
}
final List<MediaType> mediaTypes =
Lists.newArrayList(MediaType.APPLICATION_JSON_TYPE, MediaType.APPLICATION_XML_TYPE,
MediaType.TEXT_PLAIN_TYPE, MediaType.TEXT_XML_TYPE, MediaType.TEXT_HTML_TYPE);
if (request.getMediaType() != null && mediaTypes.contains(request.getMediaType())) {
if (request.hasEntity()) {
logger.debug(IOUtils.toString(request.getEntityStream()));
final String body = IOUtils.toString(request.getEntityStream());
request.setEntityStream(IOUtils.toInputStream(body));
logger.debug("Body: {}", body);
}
}
logger.debug("=== LogFilter END ===");
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -117,9 +117,11 @@ public Response createRelationshipTemplateInstance(@Context final UriInfo uriInf
return Response.ok(instanceURI).build();
}
catch (final IllegalArgumentException e) {
logger.error("Error creating instance: {}", e.getMessage(), e);
return Response.status(Status.BAD_REQUEST).build();
}
catch (InstantiationException | IllegalAccessException e) {
logger.error("Error creating instance: {}", e.getMessage(), e);
return Response.serverError().build();
}

Expand Down
6 changes: 4 additions & 2 deletions org.opentosca.container.config.logging/src/logback.xml
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,11 @@
<logger name="org.apache.camel" level="INFO" />
<logger name="org.eclipse.jetty" level="OFF" />
<logger name="org.apache.http" level="WARN" />
<logger name="org.jclouds" level="INFO" />
<logger name="org.opentosca.container.api.controller" level="DEBUG" />
<logger name="org.jclouds" level="INFO" />
<logger name="org.opentosca.planbuilder.importer.context" level="INFO" />
<logger name="org.opentosca.container.api.controller" level="DEBUG" />
<logger name="org.opentosca.container.api.config" level="INFO"/>
<logger name="org.opentosca.container.api.util" level="INFO"/>
<logger name="httpclient.wire" level="WARN" />
<logger name="com.predic8" level="WARN" />
<logger name="org.apache.cxf.services" level="WARN" />
Expand Down
Loading