[jira] [Updated] (CXF-7746) Swagger2Feature - SwaggerUiResolver & JBoss 7 EAP

2018-06-01 Thread Dennis Kieselhorst (JIRA)


 [ 
https://issues.apache.org/jira/browse/CXF-7746?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dennis Kieselhorst updated CXF-7746:

Fix Version/s: 3.2.5

> Swagger2Feature - SwaggerUiResolver & JBoss 7 EAP
> -
>
> Key: CXF-7746
> URL: https://issues.apache.org/jira/browse/CXF-7746
> Project: CXF
>  Issue Type: Bug
>  Components: JAX-RS
>Affects Versions: 3.2.4
>Reporter: Etienne Dumont
>Assignee: Dennis Kieselhorst
>Priority: Major
> Fix For: 3.2.5
>
>
> Hi,
> Same problem as CXF-7474, but for JBoss EAP 7.0 & CXF 3.2.4.
> The SwaggerUiResolver is not able to find the swagger-ui jar, included in our 
> war via maven; the path returned by the class loader ends with ".jar/" 
> instead of the expected ".jar" or ".jar!/".
> To bypass the problem, we modified the checkUiRoot as follow:
> {code:java}
> // Artifact: cxf-rt-rs-service-description-swagger
> // Class: org.apache.cxf.jaxrs.swagger.SwaggerUiResolver
> protected static String checkUiRoot(String urlStr, String swaggerUiVersion)
> {
>   int swaggerUiIndex = urlStr.lastIndexOf("/swagger-ui-");
>   if (swaggerUiIndex != -1)
>   {
> boolean urlEndsWithJarSep = urlStr.endsWith(".jar!/");
> int offset = -1;
> if (urlEndsWithJarSep || urlStr.endsWith(".jar"))
> {
>   offset = urlEndsWithJarSep ? 6 : 4;
> }
> else if (urlStr.endsWith(".jar/"))
> {
>   offset = 5;
>   urlEndsWithJarSep = true;
> }
> if (offset > -1)
> {
>   String version = urlStr.substring(swaggerUiIndex + 12, urlStr.length() 
> - offset);
>   if (swaggerUiVersion != null && !swaggerUiVersion.equals(version))
>   {
> return null;
>   }
>   else
>   {
> if (!urlEndsWithJarSep)
> {
>   urlStr = "jar:" + urlStr + "!/";
> }
> return urlStr + "META-INF/resources/webjars/swagger-ui/" + version + 
> "/";
>   }
> }
>   }
>   return null;
> }
> {code}
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (CXF-7746) Swagger2Feature - SwaggerUiResolver & JBoss 7 EAP

2018-05-29 Thread Etienne Dumont (JIRA)


 [ 
https://issues.apache.org/jira/browse/CXF-7746?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Etienne Dumont updated CXF-7746:

Description: 
Hi,

Same problem as CXF-7474, but for JBoss EAP 7.0 & CXF 3.2.4.

The SwaggerUiResolver is not able to find the swagger-ui jar, included in our 
war via maven; the path returned by the class loader ends with ".jar/" instead 
of the expected ".jar" or ".jar!/".

To bypass the problem, we modified the checkUiRoot as follow:
{code:java}
// Artifact: cxf-rt-rs-service-description-swagger
// Class: org.apache.cxf.jaxrs.swagger.SwaggerUiResolver
protected static String checkUiRoot(String urlStr, String swaggerUiVersion)
{
  int swaggerUiIndex = urlStr.lastIndexOf("/swagger-ui-");
  if (swaggerUiIndex != -1)
  {
boolean urlEndsWithJarSep = urlStr.endsWith(".jar!/");
int offset = -1;

if (urlEndsWithJarSep || urlStr.endsWith(".jar"))
{
  offset = urlEndsWithJarSep ? 6 : 4;
}
else if (urlStr.endsWith(".jar/"))
{
  offset = 5;
  urlEndsWithJarSep = true;
}

if (offset > -1)
{
  String version = urlStr.substring(swaggerUiIndex + 12, urlStr.length() - 
offset);
  if (swaggerUiVersion != null && !swaggerUiVersion.equals(version))
  {
return null;
  }
  else
  {
if (!urlEndsWithJarSep)
{
  urlStr = "jar:" + urlStr + "!/";
}

return urlStr + "META-INF/resources/webjars/swagger-ui/" + version + 
"/";
  }
}
  }

  return null;
}
{code}
 

  was:
Hi,

Same problem as CXF-7474, but for JBoss EAP 7.0 & CXF 3.2.4.

The SwaggerUiResolver is not able to find the swagger-ui jar, included in our 
war via maven; the path returned by the class loader ends with ".jar/" instead 
of the expected ".jar" or ".jar!/".

To bypass the problem, we modified the checkUiRoot as follow:
{code:java}
protected static String checkUiRoot(String urlStr, String swaggerUiVersion)
{
  int swaggerUiIndex = urlStr.lastIndexOf("/swagger-ui-");
  if (swaggerUiIndex != -1)
  {
boolean urlEndsWithJarSep = urlStr.endsWith(".jar!/");
int offset = -1;

if (urlEndsWithJarSep || urlStr.endsWith(".jar"))
{
  offset = urlEndsWithJarSep ? 6 : 4;
}
else if (urlStr.endsWith(".jar/"))
{
  offset = 5;
  urlEndsWithJarSep = true;
}

if (offset > -1)
{
  String version = urlStr.substring(swaggerUiIndex + 12, urlStr.length() - 
offset);
  if (swaggerUiVersion != null && !swaggerUiVersion.equals(version))
  {
return null;
  }
  else
  {
if (!urlEndsWithJarSep)
{
  urlStr = "jar:" + urlStr + "!/";
}

return urlStr + "META-INF/resources/webjars/swagger-ui/" + version + 
"/";
  }
}
  }

  return null;
}
{code}
 


> Swagger2Feature - SwaggerUiResolver & JBoss 7 EAP
> -
>
> Key: CXF-7746
> URL: https://issues.apache.org/jira/browse/CXF-7746
> Project: CXF
>  Issue Type: Bug
>  Components: JAX-RS
>Affects Versions: 3.2.4
>Reporter: Etienne Dumont
>Priority: Major
>
> Hi,
> Same problem as CXF-7474, but for JBoss EAP 7.0 & CXF 3.2.4.
> The SwaggerUiResolver is not able to find the swagger-ui jar, included in our 
> war via maven; the path returned by the class loader ends with ".jar/" 
> instead of the expected ".jar" or ".jar!/".
> To bypass the problem, we modified the checkUiRoot as follow:
> {code:java}
> // Artifact: cxf-rt-rs-service-description-swagger
> // Class: org.apache.cxf.jaxrs.swagger.SwaggerUiResolver
> protected static String checkUiRoot(String urlStr, String swaggerUiVersion)
> {
>   int swaggerUiIndex = urlStr.lastIndexOf("/swagger-ui-");
>   if (swaggerUiIndex != -1)
>   {
> boolean urlEndsWithJarSep = urlStr.endsWith(".jar!/");
> int offset = -1;
> if (urlEndsWithJarSep || urlStr.endsWith(".jar"))
> {
>   offset = urlEndsWithJarSep ? 6 : 4;
> }
> else if (urlStr.endsWith(".jar/"))
> {
>   offset = 5;
>   urlEndsWithJarSep = true;
> }
> if (offset > -1)
> {
>   String version = urlStr.substring(swaggerUiIndex + 12, urlStr.length() 
> - offset);
>   if (swaggerUiVersion != null && !swaggerUiVersion.equals(version))
>   {
> return null;
>   }
>   else
>   {
> if (!urlEndsWithJarSep)
> {
>   urlStr = "jar:" + urlStr + "!/";
> }
> return urlStr + "META-INF/resources/webjars/swagger-ui/" + version + 
> "/";
>   }
> }
>   }
>   return null;
> }
> {code}
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)