[prev in list] [next in list] [prev in thread] [next in thread]
List: wsf-c-dev
Subject: [Dev] [C5] Artifact DeploymentEngine print null pointer with the invalid artifact filtering in deooy
From: Harsha Thirimanna <harshat () wso2 ! com>
Date: 2017-02-26 9:40:12
Message-ID: CAJvZe+aajV_CdwcoX97yWOPP4XKrLaMP-ExF5PPwhGJ-Rsov2A () mail ! gmail ! com
[Download RAW message or body]
[Attachment #2 (multipart/alternative)]
Hi,
I was testing the artifact deployer in IS 6.0.0 that we implemented using
C5 deployment engine. I notice one bug when we deploy invalid artifact that
is filtered by our deployer and trying to throw
a CarbonDeploymentException. It prints a null pointer because if the engine
couldn't fine a Artifact key that is used by the faulty remove method. Any
idea about this implementation ?
[2017-02-26 14:39:28,221] ERROR
{org.wso2.carbon.deployment.engine.internal.DeploymentEngine} - Error while
deploying artifacts
org.wso2.carbon.deployment.engine.exception.CarbonDeploymentException:
Error occurred while deploying Service Provider. Provider name should be
the same as file name.
at
org.wso2.carbon.identity.gateway.deployer.ServiceProviderDeployer.deploy(ServiceProviderDeployer.java:76)
at
org.wso2.carbon.identity.gateway.deployer.ServiceProviderDeployer.deploy(ServiceProviderDeployer.java:44)
at
org.wso2.carbon.deployment.engine.internal.DeploymentEngine.lambda$deployArtifacts$0(DeploymentEngine.java:266)
at java.util.ArrayList.forEach(ArrayList.java:1249)
at
org.wso2.carbon.deployment.engine.internal.DeploymentEngine.deployArtifacts(DeploymentEngine.java:257)
at
org.wso2.carbon.deployment.engine.internal.RepositoryScanner.sweep(RepositoryScanner.java:110)
at
org.wso2.carbon.deployment.engine.internal.RepositoryScanner.scan(RepositoryScanner.java:68)
at
org.wso2.carbon.deployment.engine.internal.SchedulerTask.run(SchedulerTask.java:43)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by:
org.wso2.carbon.identity.gateway.api.exception.GatewayServerException:
Provider name should be the same as file name.
at
org.wso2.carbon.identity.gateway.deployer.ServiceProviderDeployer.getServiceProviderConfig(ServiceProviderDeployer.java:147)
at
org.wso2.carbon.identity.gateway.deployer.ServiceProviderDeployer.deploy(ServiceProviderDeployer.java:71)
... 14 more
In my customer deployer, it throw an exception when
*getServiceProviderConfig *call and re-throw a CarbonDeploymentException.
Then above error printed.
@Override
public String deploy(Artifact artifact) throws CarbonDeploymentException {
if (logger.isDebugEnabled()) {
logger.debug("Deploying ServiceProvider configs.");
}
try {
*ServiceProviderConfig serviceProviderConfig =
getServiceProviderConfig(artifact);*
ServiceProviderConfigStore.getInstance().addServiceProvider(serviceProviderConfig);
} catch (GatewayServerException e) {
String errorMessage = "Error occurred while deploying Service
Provider. " + e.getMessage();
logger.error(errorMessage);
throw new CarbonDeploymentException(errorMessage, e);
}
logger.info("Successfully deployed the ServiceProvider configs : "
+ artifact.getName());
return artifact.getName();
}
*Harsha Thirimanna*
*Associate Tech Lead | WSO2*
Email: harshat@wso2.com
Mob: +94715186770
Blog: http://harshathirimanna.blogspot.com/
Twitter: http://twitter.com/harshathirimann
Linked-In: linked-in:
http://www.linkedin.com/pub/harsha-thirimanna/10/ab8/122
<http://wso2.com/signature>
[Attachment #5 (text/html)]
<div dir="ltr"><div class="gmail_default" \
style="font-family:georgia,serif;font-size:small;color:rgb(0,0,0)">Hi,</div><div \
class="gmail_default" \
style="font-family:georgia,serif;font-size:small;color:rgb(0,0,0)">I was testing the \
artifact deployer in IS 6.0.0 that we implemented using C5 deployment engine. I \
notice one bug when we deploy invalid artifact that is filtered by our deployer and \
trying to throw a CarbonDeploymentException. It prints a null pointer because if the \
engine couldn't fine a Artifact key that is used by the faulty remove method. Any \
idea about this implementation ?</div><div class="gmail_default" \
style="font-family:georgia,serif;font-size:small;color:rgb(0,0,0)"><br></div><div \
class="gmail_default" \
style="font-family:georgia,serif;font-size:small;color:rgb(0,0,0)"><div \
class="gmail_default">[2017-02-26 14:39:28,221] ERROR \
{org.wso2.carbon.deployment.engine.internal.DeploymentEngine} - Error while deploying \
artifacts org.wso2.carbon.deployment.engine.exception.CarbonDeploymentException: \
Error occurred while deploying Service Provider. Provider name should be the same as \
file name.</div><div class="gmail_default"><span class="gmail-Apple-tab-span" \
style="white-space:pre"> </span>at \
org.wso2.carbon.identity.gateway.deployer.ServiceProviderDeployer.deploy(ServiceProviderDeployer.java:76)</div><div \
class="gmail_default"><span class="gmail-Apple-tab-span" \
style="white-space:pre"> </span>at \
org.wso2.carbon.identity.gateway.deployer.ServiceProviderDeployer.deploy(ServiceProviderDeployer.java:44)</div><div \
class="gmail_default"><span class="gmail-Apple-tab-span" \
style="white-space:pre"> </span>at \
org.wso2.carbon.deployment.engine.internal.DeploymentEngine.lambda$deployArtifacts$0(DeploymentEngine.java:266)</div><div \
class="gmail_default"><span class="gmail-Apple-tab-span" \
style="white-space:pre"> </span>at \
java.util.ArrayList.forEach(ArrayList.java:1249)</div><div \
class="gmail_default"><span class="gmail-Apple-tab-span" \
style="white-space:pre"> </span>at \
org.wso2.carbon.deployment.engine.internal.DeploymentEngine.deployArtifacts(DeploymentEngine.java:257)</div><div \
class="gmail_default"><span class="gmail-Apple-tab-span" \
style="white-space:pre"> </span>at \
org.wso2.carbon.deployment.engine.internal.RepositoryScanner.sweep(RepositoryScanner.java:110)</div><div \
class="gmail_default"><span class="gmail-Apple-tab-span" \
style="white-space:pre"> </span>at \
org.wso2.carbon.deployment.engine.internal.RepositoryScanner.scan(RepositoryScanner.java:68)</div><div \
class="gmail_default"><span class="gmail-Apple-tab-span" \
style="white-space:pre"> </span>at \
org.wso2.carbon.deployment.engine.internal.SchedulerTask.run(SchedulerTask.java:43)</div><div \
class="gmail_default"><span class="gmail-Apple-tab-span" \
style="white-space:pre"> </span>at \
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)</div><div \
class="gmail_default"><span class="gmail-Apple-tab-span" \
style="white-space:pre"> </span>at \
java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)</div><div \
class="gmail_default"><span class="gmail-Apple-tab-span" \
style="white-space:pre"> </span>at \
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)</div><div \
class="gmail_default"><span class="gmail-Apple-tab-span" \
style="white-space:pre"> </span>at \
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)</div><div \
class="gmail_default"><span class="gmail-Apple-tab-span" \
style="white-space:pre"> </span>at \
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)</div><div \
class="gmail_default"><span class="gmail-Apple-tab-span" \
style="white-space:pre"> </span>at \
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)</div><div \
class="gmail_default"><span class="gmail-Apple-tab-span" \
style="white-space:pre"> </span>at java.lang.Thread.run(Thread.java:745)</div><div \
class="gmail_default">Caused by: \
org.wso2.carbon.identity.gateway.api.exception.GatewayServerException: Provider name \
should be the same as file name.</div><div class="gmail_default"><span \
class="gmail-Apple-tab-span" style="white-space:pre"> </span>at \
org.wso2.carbon.identity.gateway.deployer.ServiceProviderDeployer.getServiceProviderConfig(ServiceProviderDeployer.java:147)</div><div \
class="gmail_default"><span class="gmail-Apple-tab-span" \
style="white-space:pre"> </span>at \
org.wso2.carbon.identity.gateway.deployer.ServiceProviderDeployer.deploy(ServiceProviderDeployer.java:71)</div><div \
class="gmail_default"><span class="gmail-Apple-tab-span" \
style="white-space:pre"> </span>... 14 more</div><div><br></div></div><div \
class="gmail_default" \
style="font-family:georgia,serif;font-size:small;color:rgb(0,0,0)"><br></div><div \
class="gmail_default" \
style="font-family:georgia,serif;font-size:small;color:rgb(0,0,0)"><br></div><div \
class="gmail_default" \
style="font-family:georgia,serif;font-size:small;color:rgb(0,0,0)">In my customer \
deployer, it throw an exception when <b style="font-family:"dejavu sans \
mono";font-size:10.6pt;color:rgb(34,34,34)"><font \
color="#ff0000">getServiceProviderConfig </font></b>call and re-throw a <span \
style="font-family:"dejavu sans \
mono";font-size:10.6pt">CarbonDeploymentException. Then above error \
printed.</span></div><div class="gmail_default" \
style="font-family:georgia,serif;font-size:small;color:rgb(0,0,0)"><span \
style="font-family:"dejavu sans \
mono";font-size:10.6pt"><br></span></div><div class="gmail_default" \
style="font-family:georgia,serif;font-size:small"><pre \
style="font-family:"dejavu sans mono";font-size:10.6pt"><span \
style="color:rgb(128,128,0)">@Override<br></span><span \
style="color:rgb(0,0,128);font-weight:bold">public </span><font \
color="#000000">String deploy(Artifact artifact) </font><span \
style="color:rgb(0,0,128);font-weight:bold">throws </span><font \
color="#000000">CarbonDeploymentException {<br> </font><span \
style="color:rgb(0,0,128);font-weight:bold">if </span><font \
color="#000000">(</font><span \
style="color:rgb(102,14,122);font-weight:bold">logger</span><font \
color="#000000">.isDebugEnabled()) {<br> </font><span \
style="color:rgb(102,14,122);font-weight:bold">logger</span><font \
color="#000000">.debug(</font><span \
style="color:rgb(0,128,0);font-weight:bold">"Deploying ServiceProvider \
configs."</span><font color="#000000">);<br> }<br> </font><span \
style="color:rgb(0,0,128);font-weight:bold">try </span><font color="#000000">{<br> \
</font><b><font color="#ff0000">ServiceProviderConfig serviceProviderConfig = \
getServiceProviderConfig(artifact);</font></b><font color="#000000"><br> \
ServiceProviderConfigStore.</font><span \
style="color:rgb(0,0,0);font-style:italic">getInstance</span><font \
color="#000000">().addServiceProvider(serviceProviderConfig);<br> } </font><span \
style="color:rgb(0,0,128);font-weight:bold">catch </span><font \
color="#000000">(GatewayServerException e) {<br> String errorMessage = \
</font><span style="color:rgb(0,128,0);font-weight:bold">"Error occurred while \
deploying Service Provider. " </span><font color="#000000">+ e.getMessage();<br> \
</font><span style="color:rgb(102,14,122);font-weight:bold">logger</span><font \
color="#000000">.error(errorMessage);<br> </font><span \
style="color:rgb(0,0,128);font-weight:bold">throw new </span><font \
color="#000000">CarbonDeploymentException(errorMessage, e);<br> }<br><br> \
</font><span style="color:rgb(102,14,122);font-weight:bold">logger</span><font \
color="#000000">.info(</font><span \
style="color:rgb(0,128,0);font-weight:bold">"Successfully deployed the \
ServiceProvider configs : " </span><font color="#000000">+ \
artifact.getName());<br> </font><span \
style="color:rgb(0,0,128);font-weight:bold">return </span><font \
color="#000000">artifact.getName();<br>}</font></pre><pre \
style="color:rgb(0,0,0);font-family:"dejavu sans \
mono";font-size:10.6pt"><br></pre><pre \
style="color:rgb(0,0,0);font-family:"dejavu sans \
mono";font-size:10.6pt"><br></pre></div><div><div class="gmail_signature"><div \
dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div \
dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div \
dir="ltr"><div><div style="background-color:rgb(255,255,255)"><b \
style="color:rgb(0,0,0)"><font face="georgia, serif" size="2">Harsha \
Thirimanna</font></b><br><font face="verdana, sans-serif" \
style="font-family:arial,sans-serif" color="#999999" size="2"><span \
style="font-family:arial"><i><font face="verdana, sans-serif">Associate Tech Lead \
|</font> WSO2</i></span></font></div><div \
style="background-color:rgb(255,255,255)"><br></div><div \
style="background-color:rgb(255,255,255)"><font face="arial" size="2" \
color="#999999">Email: <a href="mailto:harshat@wso2.com" \
target="_blank">harshat@wso2.com</a></font></div><div \
style="background-color:rgb(255,255,255)"><font face="arial" size="2" \
color="#999999">Mob: +94715186770</font></div><div \
style="background-color:rgb(255,255,255)"><font face="arial" size="2" \
color="#999999">Blog: <a href="http://harshathirimanna.blogspot.com/" \
target="_blank">http://harshathirimanna.blogspot.com/</a></font></div><div \
style="background-color:rgb(255,255,255)"><font face="arial" size="2" \
color="#999999">Twitter: <a href="http://twitter.com/harshathirimann" \
target="_blank">http://twitter.com/harshathirimann</a></font></div><div \
style="background-color:rgb(255,255,255)"><font face="arial" size="2" \
color="#999999">Linked-In: linked-in: <a \
href="http://www.linkedin.com/pub/harsha-thirimanna/10/ab8/122" \
target="_blank">http://www.linkedin.com/pub/harsha-thirimanna/10/ab8/122</a></font></div></div><div \
style="background-color:rgb(255,255,255)"><font color="#000000" face="arial" \
size="1"><a href="http://wso2.com/signature" target="_blank"><img \
src="http://c.content.wso2.com/signatures/wso2-signature-general.png"></a><br></font>< \
/div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div>
</div>
_______________________________________________
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic