You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@syncope.apache.org by morteza adi <mo...@gmail.com> on 2013/12/22 06:18:30 UTC
ConversionException in connInstance.getConfiguration()
Hi,
i'm trying to create and start table connid from code. here is what i did:
(i'm using syncope 1.0.0)
ConnInstanceTO connInstanceTO = new ConnInstanceTO();
connInstanceTO.setBundleName("org.connid.bundles.db.table");
connInstanceTO.addCapability(ConnectorCapability.ONE_PHASE_CREATE);
connInstanceTO.addCapability(ConnectorCapability.ONE_PHASE_UPDATE);
connInstanceTO.addCapability(ConnectorCapability.ONE_PHASE_DELETE);
connInstanceTO.addCapability(ConnectorCapability.SEARCH);
connInstanceTO.addCapability(ConnectorCapability.SYNC);
Set<ConnConfProperty> confs = new HashSet<ConnConfProperty>();
... filing ConnConfProperty's for table and adding to the confs variable.
connInstanceTO.setConfiguration(filterProperties(confs));
connInstanceTO.setConnectorName(boundle.getConnectorName());
connInstanceTO.setVersion(boundle.getVersion());
ConnInstance connInstance =
connInstanceDataBinder.getConnInstance(connInstanceTO);
connInstance = connInstanceDAO.save(connInstance);
// conninstance successfully inserets into DB
// later in the code
// if i try
Set<ConnConfProperty> configuration = connInstance.getConfiguration();
// or create and save resourceTO
// throws exception!
com.thoughtworks.xstream.converters.ConversionException: name argument
cannot be null : name argument cannot be null
---- Debugging information ----
message : name argument cannot be null
cause-exception : java.lang.IllegalArgumentException
cause-message : name argument cannot be null
class : java.util.HashSet
required-type : ch.qos.logback.classic.Logger
path : /set/org.apache.syncope.types.ConnConfProperty/logger
line number : 3
-------------------------------
any idea ?
Best Regards,
Adi
Fwd: ConversionException in connInstance.getConfiguration()
Posted by morteza adi <mo...@gmail.com>.
I changed the xstream library with my custom XmlSerializer and everything
worked just fine.
i still don't know what was wrong with xstream??!!
Anyway thank you.
Merry Christmas
---------- Forwarded message ----------
From: morteza adi <mo...@gmail.com>
Date: Tue, Dec 24, 2013 at 9:14 AM
Subject: Re: ConversionException in connInstance.getConfiguration()
To: user@syncope.apache.org
Hi,
here is my Set<ConnConfProperty>;
[
{
"schema":{
"name":"jdbcDriver",
"displayName":"JDBC Driver",
"helpMessage":"Specify the JDBC Driver class name. Oracle is
oracle.jdbc.driver.OracleDriver. MySQL is org.gjt.mm.mysql.Driver. Could be
empty if datasource is provided.",
"type":"java.lang.String",
"required":false,
"order":14,
"confidential":false
},
"values":[
"oracle.jdbc.driver.OracleDriver"
],
"overridable":false
},
{
"schema":{
"name":"password",
"displayName":"User Password",
"helpMessage":"Enter a user account password that has permission to access
accounts table.",
"type":"org.identityconnectors.common.security.GuardedString",
"required":false,
"order":5,
"confidential":true
},
"values":[
"1111111"
],
"overridable":false
},
{
"schema":{
"name":"jdbcUrlTemplate",
"displayName":"JDBC Connection URL",
"helpMessage":"Specify the JDBC Driver Connection URL. Oracle template is
jdbc:oracle:thin:@[host]:[port(1521)]:[DB]. MySQL template is
jdbc:mysql://[host]:[port(3306)]/[db], for more info, read the JDBC driver
documentation. Could be empty if datasource is provided.",
"type":"java.lang.String",
"required":false,
"order":15,
"confidential":false
},
"values":[
"jdbc:oracle:thin:@[host]:[port(1521)]:[DB]"
],
"overridable":false
},
{
"schema":{
"name":"passwordColumn",
"displayName":"Password Column",
"helpMessage":"Enter the name of the column in the table that will hold the
password values. If empty, no validation on resource and passwords are
activated.",
"type":"java.lang.String",
"required":false,
"order":9,
"confidential":false
},
"values":[
"AUSRPSWD"
],
"overridable":false
},
{
"schema":{
"name":"table",
"displayName":"Table",
"helpMessage":"Enter the name of the table in the database that contains
the accounts.",
"type":"java.lang.String",
"required":true,
"order":7,
"confidential":false
},
"values":[
"XXXXXX"
],
"overridable":false
},
{
"schema":{
"name":"keyColumn",
"displayName":"Key Column",
"helpMessage":"This mandatory column value will be used as the unique
identifier for rows in the table.",
"type":"java.lang.String",
"required":true,
"order":8,
"confidential":false
},
"values":[
"YYYYYY"
],
"overridable":false
},
{
"schema":{
"name":"statusColumn",
"displayName":"Status Column",
"helpMessage":"Enter the name of the column in the table that will hold the
status values. If empty enabled and disabled operation wont be performed.",
"type":"java.lang.String",
"required":false,
"order":10,
"confidential":false
},
"values":[
"SSSSSSS"
],
"overridable":false
},
{
"schema":{
"name":"database",
"displayName":"Database",
"helpMessage":"Enter the name of the database on the database server that
contains the table.",
"type":"java.lang.String",
"required":false,
"order":6,
"confidential":false
},
"values":[
"ORASSSS"
],
"overridable":false
},
{
"schema":{
"name":"user",
"displayName":"User",
"helpMessage":"Enter the name of the mandatory Database user with
permission to account table.",
"type":"java.lang.String",
"required":false,
"order":4,
"confidential":false
},
"values":[
"NNNNNN"
],
"overridable":false
},
{
"schema":{
"name":"host",
"displayName":"Host",
"helpMessage":"Enter the name of the host where the database is running.",
"type":"java.lang.String",
"required":false,
"order":2,
"confidential":false
},
"values":[
"192.168.XX.XXX"
],
"overridable":false
},
{
"schema":{
"name":"retrievePassword",
"displayName":"Retrieve password",
"helpMessage":"Specify if password must be retrieved by default. Default is
\"false\".",
"type":"boolean",
"required":false,
"order":27,
"confidential":false
},
"values":[
true
],
"overridable":false
}
]
However; after serialization my XmlConfiguration In DB shows my logback.xml
file !!??
I traced the code seems the method public static String serialize(final
Object object) in XmlSerializer
does not do its job.
result = URLEncoder.encode(xstream.toXML(object), "UTF-8");
object --> my Set<ConnConfProperty>;
returns my logback.xml file ??!! really how does it possible ??!!
On Mon, Dec 23, 2013 at 11:48 AM, Fabio Martelli
<fa...@gmail.com>wrote:
> Il 22/12/2013 06:18, morteza adi ha scritto:
>
> Hi,
>>
>> i'm trying to create and start table connid from code. here is what i did:
>> (i'm using syncope 1.0.0)
>>
>> ConnInstanceTO connInstanceTO = new ConnInstanceTO();
>> connInstanceTO.setBundleName("org.connid.bundles.db.table");
>>
>> connInstanceTO.addCapability(ConnectorCapability.ONE_PHASE_CREATE);
>> connInstanceTO.addCapability(ConnectorCapability.ONE_PHASE_UPDATE);
>> connInstanceTO.addCapability(ConnectorCapability.ONE_PHASE_DELETE);
>> connInstanceTO.addCapability(ConnectorCapability.SEARCH);
>> connInstanceTO.addCapability(ConnectorCapability.SYNC);
>>
>>
>> Set<ConnConfProperty> confs = new HashSet<ConnConfProperty>();
>>
>> ... filing ConnConfProperty's for table and adding to the confs variable.
>>
>> connInstanceTO.setConfiguration(filterProperties(confs));
>> connInstanceTO.setConnectorName(boundle.getConnectorName());
>> connInstanceTO.setVersion(boundle.getVersion());
>>
>> ConnInstance connInstance = connInstanceDataBinder.getConnInstance(
>> connInstanceTO);
>> connInstance = connInstanceDAO.save(connInstance);
>>
>> // conninstance successfully inserets into DB
>>
>> // later in the code
>> // if i try
>> Set<ConnConfProperty> configuration = connInstance.getConfiguration();
>> // or create and save resourceTO
>> // throws exception!
>>
>> com.thoughtworks.xstream.converters.ConversionException: name argument
>> cannot be null : name argument cannot be null
>> ---- Debugging information ----
>> message : name argument cannot be null
>> cause-exception : java.lang.IllegalArgumentException
>> cause-message : name argument cannot be null
>> class : java.util.HashSet
>> required-type : ch.qos.logback.classic.Logger
>> path : /set/org.apache.syncope.types.
>> ConnConfProperty/logger
>> line number : 3
>> -------------------------------
>>
>> any idea ?
>>
>> Best Regards,
>> Adi
>>
>
> Hi Adi, too little information.
> Evidently the problem is your conn instance configuration.
>
> If you can, provide ConnInstance configuration value stored in the DB.
>
> Regards,
> F.
>
> --
> Fabio Martelli
>
> Tirasa - Open Source Excellence
> http://www.tirasa.net/
>
> Apache Syncope PMC
> http://people.apache.org/~fmartelli/
>
>
Re: ConversionException in connInstance.getConfiguration()
Posted by morteza adi <mo...@gmail.com>.
Hi,
here is my Set<ConnConfProperty>;
[
{
"schema":{
"name":"jdbcDriver",
"displayName":"JDBC Driver",
"helpMessage":"Specify the JDBC Driver class name. Oracle is
oracle.jdbc.driver.OracleDriver. MySQL is org.gjt.mm.mysql.Driver. Could be
empty if datasource is provided.",
"type":"java.lang.String",
"required":false,
"order":14,
"confidential":false
},
"values":[
"oracle.jdbc.driver.OracleDriver"
],
"overridable":false
},
{
"schema":{
"name":"password",
"displayName":"User Password",
"helpMessage":"Enter a user account password that has permission to access
accounts table.",
"type":"org.identityconnectors.common.security.GuardedString",
"required":false,
"order":5,
"confidential":true
},
"values":[
"1111111"
],
"overridable":false
},
{
"schema":{
"name":"jdbcUrlTemplate",
"displayName":"JDBC Connection URL",
"helpMessage":"Specify the JDBC Driver Connection URL. Oracle template is
jdbc:oracle:thin:@[host]:[port(1521)]:[DB]. MySQL template is
jdbc:mysql://[host]:[port(3306)]/[db], for more info, read the JDBC driver
documentation. Could be empty if datasource is provided.",
"type":"java.lang.String",
"required":false,
"order":15,
"confidential":false
},
"values":[
"jdbc:oracle:thin:@[host]:[port(1521)]:[DB]"
],
"overridable":false
},
{
"schema":{
"name":"passwordColumn",
"displayName":"Password Column",
"helpMessage":"Enter the name of the column in the table that will hold the
password values. If empty, no validation on resource and passwords are
activated.",
"type":"java.lang.String",
"required":false,
"order":9,
"confidential":false
},
"values":[
"AUSRPSWD"
],
"overridable":false
},
{
"schema":{
"name":"table",
"displayName":"Table",
"helpMessage":"Enter the name of the table in the database that contains
the accounts.",
"type":"java.lang.String",
"required":true,
"order":7,
"confidential":false
},
"values":[
"XXXXXX"
],
"overridable":false
},
{
"schema":{
"name":"keyColumn",
"displayName":"Key Column",
"helpMessage":"This mandatory column value will be used as the unique
identifier for rows in the table.",
"type":"java.lang.String",
"required":true,
"order":8,
"confidential":false
},
"values":[
"YYYYYY"
],
"overridable":false
},
{
"schema":{
"name":"statusColumn",
"displayName":"Status Column",
"helpMessage":"Enter the name of the column in the table that will hold the
status values. If empty enabled and disabled operation wont be performed.",
"type":"java.lang.String",
"required":false,
"order":10,
"confidential":false
},
"values":[
"SSSSSSS"
],
"overridable":false
},
{
"schema":{
"name":"database",
"displayName":"Database",
"helpMessage":"Enter the name of the database on the database server that
contains the table.",
"type":"java.lang.String",
"required":false,
"order":6,
"confidential":false
},
"values":[
"ORASSSS"
],
"overridable":false
},
{
"schema":{
"name":"user",
"displayName":"User",
"helpMessage":"Enter the name of the mandatory Database user with
permission to account table.",
"type":"java.lang.String",
"required":false,
"order":4,
"confidential":false
},
"values":[
"NNNNNN"
],
"overridable":false
},
{
"schema":{
"name":"host",
"displayName":"Host",
"helpMessage":"Enter the name of the host where the database is running.",
"type":"java.lang.String",
"required":false,
"order":2,
"confidential":false
},
"values":[
"192.168.XX.XXX"
],
"overridable":false
},
{
"schema":{
"name":"retrievePassword",
"displayName":"Retrieve password",
"helpMessage":"Specify if password must be retrieved by default. Default is
\"false\".",
"type":"boolean",
"required":false,
"order":27,
"confidential":false
},
"values":[
true
],
"overridable":false
}
]
However; after serialization my XmlConfiguration In DB shows my logback.xml
file !!??
I traced the code seems the method public static String serialize(final
Object object) in XmlSerializer
does not do its job.
result = URLEncoder.encode(xstream.toXML(object), "UTF-8");
object --> my Set<ConnConfProperty>;
returns my logback.xml file ??!! really how does it possible ??!!
On Mon, Dec 23, 2013 at 11:48 AM, Fabio Martelli
<fa...@gmail.com>wrote:
> Il 22/12/2013 06:18, morteza adi ha scritto:
>
> Hi,
>>
>> i'm trying to create and start table connid from code. here is what i did:
>> (i'm using syncope 1.0.0)
>>
>> ConnInstanceTO connInstanceTO = new ConnInstanceTO();
>> connInstanceTO.setBundleName("org.connid.bundles.db.table");
>>
>> connInstanceTO.addCapability(ConnectorCapability.ONE_PHASE_CREATE);
>> connInstanceTO.addCapability(ConnectorCapability.ONE_PHASE_UPDATE);
>> connInstanceTO.addCapability(ConnectorCapability.ONE_PHASE_DELETE);
>> connInstanceTO.addCapability(ConnectorCapability.SEARCH);
>> connInstanceTO.addCapability(ConnectorCapability.SYNC);
>>
>>
>> Set<ConnConfProperty> confs = new HashSet<ConnConfProperty>();
>>
>> ... filing ConnConfProperty's for table and adding to the confs variable.
>>
>> connInstanceTO.setConfiguration(filterProperties(confs));
>> connInstanceTO.setConnectorName(boundle.getConnectorName());
>> connInstanceTO.setVersion(boundle.getVersion());
>>
>> ConnInstance connInstance = connInstanceDataBinder.getConnInstance(
>> connInstanceTO);
>> connInstance = connInstanceDAO.save(connInstance);
>>
>> // conninstance successfully inserets into DB
>>
>> // later in the code
>> // if i try
>> Set<ConnConfProperty> configuration = connInstance.getConfiguration();
>> // or create and save resourceTO
>> // throws exception!
>>
>> com.thoughtworks.xstream.converters.ConversionException: name argument
>> cannot be null : name argument cannot be null
>> ---- Debugging information ----
>> message : name argument cannot be null
>> cause-exception : java.lang.IllegalArgumentException
>> cause-message : name argument cannot be null
>> class : java.util.HashSet
>> required-type : ch.qos.logback.classic.Logger
>> path : /set/org.apache.syncope.types.
>> ConnConfProperty/logger
>> line number : 3
>> -------------------------------
>>
>> any idea ?
>>
>> Best Regards,
>> Adi
>>
>
> Hi Adi, too little information.
> Evidently the problem is your conn instance configuration.
>
> If you can, provide ConnInstance configuration value stored in the DB.
>
> Regards,
> F.
>
> --
> Fabio Martelli
>
> Tirasa - Open Source Excellence
> http://www.tirasa.net/
>
> Apache Syncope PMC
> http://people.apache.org/~fmartelli/
>
>
Re: ConversionException in connInstance.getConfiguration()
Posted by Fabio Martelli <fa...@gmail.com>.
Il 22/12/2013 06:18, morteza adi ha scritto:
> Hi,
>
> i'm trying to create and start table connid from code. here is what i did:
> (i'm using syncope 1.0.0)
>
> ConnInstanceTO connInstanceTO = new ConnInstanceTO();
> connInstanceTO.setBundleName("org.connid.bundles.db.table");
>
> connInstanceTO.addCapability(ConnectorCapability.ONE_PHASE_CREATE);
> connInstanceTO.addCapability(ConnectorCapability.ONE_PHASE_UPDATE);
> connInstanceTO.addCapability(ConnectorCapability.ONE_PHASE_DELETE);
> connInstanceTO.addCapability(ConnectorCapability.SEARCH);
> connInstanceTO.addCapability(ConnectorCapability.SYNC);
>
>
> Set<ConnConfProperty> confs = new HashSet<ConnConfProperty>();
>
> ... filing ConnConfProperty's for table and adding to the confs variable.
>
> connInstanceTO.setConfiguration(filterProperties(confs));
> connInstanceTO.setConnectorName(boundle.getConnectorName());
> connInstanceTO.setVersion(boundle.getVersion());
>
> ConnInstance connInstance =
> connInstanceDataBinder.getConnInstance(connInstanceTO);
> connInstance = connInstanceDAO.save(connInstance);
>
> // conninstance successfully inserets into DB
>
> // later in the code
> // if i try
> Set<ConnConfProperty> configuration = connInstance.getConfiguration();
> // or create and save resourceTO
> // throws exception!
>
> com.thoughtworks.xstream.converters.ConversionException: name argument
> cannot be null : name argument cannot be null
> ---- Debugging information ----
> message : name argument cannot be null
> cause-exception : java.lang.IllegalArgumentException
> cause-message : name argument cannot be null
> class : java.util.HashSet
> required-type : ch.qos.logback.classic.Logger
> path :
> /set/org.apache.syncope.types.ConnConfProperty/logger
> line number : 3
> -------------------------------
>
> any idea ?
>
> Best Regards,
> Adi
Hi Adi, too little information.
Evidently the problem is your conn instance configuration.
If you can, provide ConnInstance configuration value stored in the DB.
Regards,
F.
--
Fabio Martelli
Tirasa - Open Source Excellence
http://www.tirasa.net/
Apache Syncope PMC
http://people.apache.org/~fmartelli/