[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&#39;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:&quot;dejavu sans \
mono&quot;;font-size:10.6pt;color:rgb(34,34,34)"><font \
color="#ff0000">getServiceProviderConfig  </font></b>call and re-throw a  <span \
style="font-family:&quot;dejavu sans \
mono&quot;;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:&quot;dejavu sans \
mono&quot;;font-size:10.6pt"><br></span></div><div class="gmail_default" \
style="font-family:georgia,serif;font-size:small"><pre \
style="font-family:&quot;dejavu sans mono&quot;;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">&quot;Deploying ServiceProvider \
configs.&quot;</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">&quot;Error occurred while \
deploying Service Provider. &quot; </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">&quot;Successfully deployed the \
ServiceProvider configs : &quot; </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:&quot;dejavu sans \
mono&quot;;font-size:10.6pt"><br></pre><pre \
style="color:rgb(0,0,0);font-family:&quot;dejavu sans \
mono&quot;;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