RE: [Discussion] New REST Service Interfaces - Entitlements

2013-01-18 Thread Jan Bernhardt
Hi Andrei, 

 
  === Renaming Service ===
  Rename AuthenticationController to EntitlementService(Impl), since
  containing methods have little to nothing to do with authentication.
  It is only about Entitlements...
 
 +1 for Entitlement, -1 for Service. I would keep names consistently, if use
 EntitlementService name, than rename all controllers to services inclusive
 package name (but I suggest to do it on the later phase).

Names will be Consistent. New CXF REST Services will all End with *Service. Old 
Spring Services currently ending with *Controller will eventually all vanish, 
once new Services are actually used (migration is complete).

Best regards.
Jan


RE: [Discussion] CXF migration (branches)

2013-01-18 Thread Jan Bernhardt
Hi Francesco,

 -Original Message-
 From: Francesco Chicchiriccò [mailto:ilgro...@apache.org]
 Sent: Donnerstag, 17. Januar 2013 17:47
 To: dev@syncope.apache.org
 Subject: Re: [Discussion] CXF migration (branches)
 
 On 17/01/2013 10:54, Jan Bernhardt wrote:
  Hi Francesco,
  [...]
  If, as it seems there is no other way out, I'd propose to move back
  the CXF migration to 1.1.0 (as actually OSGi is still there) so that
  no additional branch is created. This is valid as long as Spring MVC
  interfaces are still working as now, as you said above.
  Yes, Spring MVC interfaces will not be affected.
 
 Fine, as written elsewhere by Andrei in this mail thread it seems we
 have agreed about it: would you please adjust JIRA issues accordingly?

I will take care of this.

 
 Ok then why not introducing this new common maven submodule (as said
 in the past) with root package org.apache.syncope.common and then start
 moving away packages from client?
 

+1 

Supposed that no one disagrees, I will create a Jira ticket for this task and 
take care of this. Since this refactoring will effect most classes. I would do 
this Monday morning. So all committers could use the time until Sunday to get 
their changes committed and thus avoiding a bigger merging effort after this 
refactoring.

But rather than introducing a new module I would like to rename client module 
to common (including client to common in package names).
When I did my CXF PoC (see CXF branch), I noticed that all packages except for 
org.apache.syncope.client.http are needed in common.
Syncope-150 will introduce a rich client library. My proposal would be to move 
org.apache.syncope.client.http to console, since 
org.apache.syncope.console.rest is in console and also rich client related. 
Once we take care of Syncope-150 we can (re)create a client module and then 
move both packages to this module.

Does this sound reasonable?

Best regards.
Jan

 Regards.
 
  -Original Message-
  From: Christian Schneider [mailto:cschneider...@gmail.com] On
 Behalf
  Of Christian Schneider
  Sent: Mittwoch, 16. Januar 2013 18:48
  To: dev@syncope.apache.org
  Subject: Re: [Discussion] CXF migration (branches)
 
  Jan contacted me that the E-Mail Server in the Bonn office is
  currently down so he can not reply himself at the moment.
 
  So I am replying what he wrote me via Skype:
  We currently have the plan to finish the CXF migration during the
  next
  1.5 weeks with 4 developers. The issue is a little urgent as from
  february on our normal product development team would like to take
  over and focus on making Syncope work nicely in OSGi. At this point
  we should have finished the CXF migration. Of course we can delay
  things a little but not too much without affecting our whole planning.
 
  Christian
 
 
  On 16.01.2013 16:08, Francesco Chicchiriccò wrote:
  On 16/01/2013 15:50, Jan Bernhardt wrote:
  Hi Syncopers,
 
  all preparation tasks are more or less done for CXF migration, so
  next we would like to start with actual CXF migration.
 
  Since we are planning to release Syncope 1.1.0 soon I can see two
  reasonable solutions to continue.
 
 
  1.   Creating a release branch for 1.1.0 and making sure this
  branch is stable and give it some time for additional test before
  official stable release will take place. CXF migration would
  start directly in trunk.
 
  2.   Creating a CXF branch and continue working on trunk for
  1.1.0 release.
 
  I would prefer option 1 best. I think having a release branch prior
  to office release is a good practice in general.
  I expect quite some refactoring during CXF migration (which is not
  mandatory in all cases but expedient), for example renaming some
  packages (removing client from Types, TOs, ... since they are
  rather common classes used on server and client site than specific
  only to the client) and I would also like to rename *Controller
  classes to *ServiceImpl since these classes do not act as
  controller for a workflow or GUI but rather offer some REST
  services. SVN has some limitations to handle renamed files when it
  comes to merging updates.
  Thus it could be quite painful to keep a cxf branch in sync with trunk.
 
  WDYT? Could we start a release branch?
  Hi Jan,
  I generally agree with (1) even though I am not sure whether Syncope
  1.1.0 release can actually happen soon: there is still a
  considerable number of issues to be solved (~20) and many changes
  introduced by
  SYNCOPE-241 SYNCOPE-259 SYNCOPE-268 (all still open) need to
  consolidate a bit.
 
From the other side, 46+ issues have already been resolved in 1.1.0
  and this would instead suggest pushing 1.1.0 for releasing soon.
 
  Finally, please consider that even with option (1) there will be
  some bugfixing in the 1_1_X branch (i.e. the current trunk) for long
  time; this will push a consistent and constant merge work to be done
  between 1_1_X and new trunk.
 
  Given this situation, I would 

RE: [Discussion] New REST Service Interfaces - Entitlements

2013-01-18 Thread Jan Bernhardt
 
 Btw. I would rather name the xml element Entitlement than EntitlementTO
 as the fact that it is a transfer object is not important on the xml level.
 

I agree. Not using *TO ending would look nicer on transport layer. 
The question here is, should we also remove TO in Classnames, or just set a 
name in annotation, e.g. @XMLRootElement(name = entitlement) ?

 Christian


Re: [Discussion] New REST Service Interfaces - Entitlements

2013-01-18 Thread Christian Schneider
I would rather do it in the annotations. Internally we often have a
internal class without TO and a transfer object that ends in TO.
So I think it makes sense to differentiate them on the class level.

Christian


On 18.01.2013 09:51, Jan Bernhardt wrote:
 Btw. I would rather name the xml element Entitlement than EntitlementTO
 as the fact that it is a transfer object is not important on the xml level.

 I agree. Not using *TO ending would look nicer on transport layer. 
 The question here is, should we also remove TO in Classnames, or just set a 
 name in annotation, e.g. @XMLRootElement(name = entitlement) ?

 Christian



RE: [Discussion] New REST Service Interfaces - Entitlements

2013-01-18 Thread Andrei Shakirin

 Names will be Consistent. New CXF REST Services will all End with *Service.
 Old Spring Services currently ending with *Controller will eventually all
 vanish, once new Services are actually used (migration is complete).

Than is absolutely OK for me. + 1.

Andrei.

 
 Best regards.
 Jan


[jira] [Updated] (SYNCOPE-268) Enable Rest IntegrationTests to run more than once (per build)

2013-01-18 Thread Jan Bernhardt (JIRA)

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

Jan Bernhardt updated SYNCOPE-268:
--

Assignee: Andrei Shakirin  (was: Jan Bernhardt)

 Enable Rest IntegrationTests to run more than once (per build)
 --

 Key: SYNCOPE-268
 URL: https://issues.apache.org/jira/browse/SYNCOPE-268
 Project: Syncope
  Issue Type: Improvement
  Components: core
Reporter: Jan Bernhardt
Assignee: Andrei Shakirin
  Labels: test
 Fix For: 1.1.0

 Attachments: RerunnableRestIntegrationTests-1.patch, 
 RerunnableRestIntegrationTests-2.patch


 Currently many Rest IntegrationTests can run only once. If you try to rerun 
 some Tests they will fail, due to the fact, that a resource with the same 
 same already exists, or that a resource was deleted previously and is not 
 available any longer. This works fine for mvn clean verify since all test 
 run exactly once. But for development phase this is inconvenient, because 
 while testing new features or other refactorings, one would like to run tests 
 several times (especially if they fail), without the need to 
 rebuild/package/deploy the whole core module.
 Tasks of this JIRA ticket is to use random identifier for resources (user, 
 role, ...) to avoid collisions, when running tests multiple times. In some 
 cases it will also be preferable to use a try { } final { } statement to 
 cleanup previously created resources.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (SYNCOPE-268) Enable Rest IntegrationTests to run more than once (per build)

2013-01-18 Thread Andrei Shakirin (JIRA)

[ 
https://issues.apache.org/jira/browse/SYNCOPE-268?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13557213#comment-13557213
 ] 

Andrei Shakirin commented on SYNCOPE-268:
-

Actually all tests are re-runnable except TaskTestITCase.deal().
I didn't find reliable way to create PropagationTask dynamically, execute it 
and update it via taskService.report() how it done in test.
If there are no any objections I will close the issue.

 Enable Rest IntegrationTests to run more than once (per build)
 --

 Key: SYNCOPE-268
 URL: https://issues.apache.org/jira/browse/SYNCOPE-268
 Project: Syncope
  Issue Type: Improvement
  Components: core
Reporter: Jan Bernhardt
Assignee: Andrei Shakirin
  Labels: test
 Fix For: 1.1.0

 Attachments: RerunnableRestIntegrationTests-1.patch, 
 RerunnableRestIntegrationTests-2.patch


 Currently many Rest IntegrationTests can run only once. If you try to rerun 
 some Tests they will fail, due to the fact, that a resource with the same 
 same already exists, or that a resource was deleted previously and is not 
 available any longer. This works fine for mvn clean verify since all test 
 run exactly once. But for development phase this is inconvenient, because 
 while testing new features or other refactorings, one would like to run tests 
 several times (especially if they fail), without the need to 
 rebuild/package/deploy the whole core module.
 Tasks of this JIRA ticket is to use random identifier for resources (user, 
 role, ...) to avoid collisions, when running tests multiple times. In some 
 cases it will also be preferable to use a try { } final { } statement to 
 cleanup previously created resources.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (SYNCOPE-252) Update LICENSE / NOTICE files for any added or removed Maven dependency

2013-01-18 Thread Jan Bernhardt (JIRA)

[ 
https://issues.apache.org/jira/browse/SYNCOPE-252?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13557214#comment-13557214
 ] 

Jan Bernhardt commented on SYNCOPE-252:
---

I decided to use Jackson instead of Jettision, as this was used also by spring 
object mapper. So I only had to add Apache CXF dependencies. 
Hence I would expect that this task can be closed without making any changes to 
Licence and Notice. Am I correct, or do I need to check every cxf artifact for 
embedded components with different licenses ?

 Update LICENSE / NOTICE files for any added or removed Maven dependency
 ---

 Key: SYNCOPE-252
 URL: https://issues.apache.org/jira/browse/SYNCOPE-252
 Project: Syncope
  Issue Type: Sub-task
  Components: console, core
Reporter: Francesco Chicchiriccò
 Fix For: 1.2.0


 If you are adding (or removing) any non-ASF dependency, please take also care 
 of LICENSE and NOTICE content either at root (included in source and JAR 
 release files) and under legal_ext (for WAR and ZIP release files).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (SYNCOPE-252) Update LICENSE / NOTICE files for any added or removed Maven dependency

2013-01-18 Thread JIRA

[ 
https://issues.apache.org/jira/browse/SYNCOPE-252?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13557224#comment-13557224
 ] 

Francesco Chicchiriccò commented on SYNCOPE-252:


If you are only explicitly adding org.apache.* dependencies (like as CXF), no 
action is required on root LICENSE and NOTICE (but I see at least 
javax.ws.rs:javax.ws.rs-api:2.0-m15 in root POM).

Anyway, you also have to take a look at generated WAR files (core / console / 
build-tools) and verify, for any JAR file included under WEB-INF/lib, if there 
is an entry in legal_ext/LICENSE and legal_ext/NOTICE. ASF JAR files are of 
course not to be considered during this check.

Most of JAR files under some WEB-INF/lib have already their own entries in 
legal_ext's LICENSE and NOTICE, but new dependencies have possibly added 
something else.

In all this I assume you haven't added any 3rd party source code.

 Update LICENSE / NOTICE files for any added or removed Maven dependency
 ---

 Key: SYNCOPE-252
 URL: https://issues.apache.org/jira/browse/SYNCOPE-252
 Project: Syncope
  Issue Type: Sub-task
  Components: console, core
Reporter: Francesco Chicchiriccò
 Fix For: 1.2.0


 If you are adding (or removing) any non-ASF dependency, please take also care 
 of LICENSE and NOTICE content either at root (included in source and JAR 
 release files) and under legal_ext (for WAR and ZIP release files).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (SYNCOPE-231) Using Standard JAX-RS API in Syncope (Replace Spring Webservice Stack with Apache CXF)

2013-01-18 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/SYNCOPE-231?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13557241#comment-13557241
 ] 

Hudson commented on SYNCOPE-231:


Integrated in Syncope-trunk #452 (See 
[https://builds.apache.org/job/Syncope-trunk/452/])
[SYNCOPE-231]
* Enabling some first CXF Webservices.
* Code cleanup (adding final to method parameters) (Revision 1435135)

 Result = SUCCESS
jbernhardt : 
Files : 
* /syncope/trunk/archetype
* /syncope/trunk/client
* 
/syncope/trunk/client/src/main/java/org/apache/syncope/client/to/ConfigurationTO.java
* 
/syncope/trunk/client/src/main/java/org/apache/syncope/client/to/EntitlementTO.java
* 
/syncope/trunk/client/src/main/java/org/apache/syncope/client/to/MailTemplateTO.java
* 
/syncope/trunk/client/src/main/java/org/apache/syncope/client/to/ValidatorTO.java
* 
/syncope/trunk/client/src/main/java/org/apache/syncope/client/util/CollectionWrapper.java
* 
/syncope/trunk/client/src/main/java/org/apache/syncope/services/ConfigurationService.java
* 
/syncope/trunk/client/src/main/java/org/apache/syncope/services/EntitlementService.java
* 
/syncope/trunk/client/src/main/java/org/apache/syncope/services/proxy/ConfigurationServiceProxy.java
* 
/syncope/trunk/client/src/main/java/org/apache/syncope/services/proxy/EntitlementServiceProxy.java
* 
/syncope/trunk/client/src/main/java/org/apache/syncope/services/proxy/SpringServiceProxy.java
* /syncope/trunk/console
* 
/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/Login.java
* 
/syncope/trunk/console/src/main/java/org/apache/syncope/console/rest/AuthRestClient.java
* 
/syncope/trunk/console/src/main/java/org/apache/syncope/console/rest/ConfigurationRestClient.java
* 
/syncope/trunk/console/src/main/java/org/apache/syncope/console/rest/NotificationRestClient.java
* 
/syncope/trunk/console/src/main/java/org/apache/syncope/console/rest/SchemaRestClient.java
* 
/syncope/trunk/console/src/main/java/org/apache/syncope/console/rest/UserRestClient.java
* /syncope/trunk/console/src/main/resources/applicationContext.xml
* /syncope/trunk/core
* /syncope/trunk/core/pom.xml
* 
/syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/QueryResourceInfoComperator.java
* 
/syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/RestServiceExceptionMapper.java
* /syncope/trunk/core/src/main/java/org/apache/syncope/core/services
* 
/syncope/trunk/core/src/main/java/org/apache/syncope/core/services/ConfigurationServiceImpl.java
* 
/syncope/trunk/core/src/main/java/org/apache/syncope/core/services/ContextAware.java
* 
/syncope/trunk/core/src/main/java/org/apache/syncope/core/services/DummyHTTPServletResponse.java
* 
/syncope/trunk/core/src/main/java/org/apache/syncope/core/services/EntitlementServiceImpl.java
* /syncope/trunk/core/src/main/resources/restContext.xml
* /syncope/trunk/core/src/main/webapp/WEB-INF/web.xml
* 
/syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/AuthenticationTestITCase.java
* 
/syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/ConfigurationTestITCase.java
* 
/syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/UserRequestTestITCase.java
* /syncope/trunk/core/src/test/resources/restClientContext.xml
* /syncope/trunk/pom.xml
* /syncope/trunk/standalone


 Using Standard JAX-RS API in Syncope (Replace Spring Webservice Stack with 
 Apache CXF)
 --

 Key: SYNCOPE-231
 URL: https://issues.apache.org/jira/browse/SYNCOPE-231
 Project: Syncope
  Issue Type: Improvement
  Components: console, core
Reporter: Jan Bernhardt
Assignee: Jan Bernhardt
 Fix For: 1.2.0


 Current REST Interfaces are based on Spring Webservice framework. 
 Goal of this task is to replace Spring with CXF and to relay on JAX-B and 
 JAX-RS annotations rather then Spring annotations.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (SYNCOPE-268) Enable Rest IntegrationTests to run more than once (per build)

2013-01-18 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/SYNCOPE-268?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13557240#comment-13557240
 ] 

Hudson commented on SYNCOPE-268:


Integrated in Syncope-trunk #452 (See 
[https://builds.apache.org/job/Syncope-trunk/452/])
[SYNCOPE-268] Make rest integration tests re-runnable (Revision 1435132)

 Result = SUCCESS
ashakirin : 
Files : 
* 
/syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/TaskTestITCase.java
* 
/syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/UserTestITCase.java


 Enable Rest IntegrationTests to run more than once (per build)
 --

 Key: SYNCOPE-268
 URL: https://issues.apache.org/jira/browse/SYNCOPE-268
 Project: Syncope
  Issue Type: Improvement
  Components: core
Reporter: Jan Bernhardt
Assignee: Andrei Shakirin
  Labels: test
 Fix For: 1.1.0

 Attachments: RerunnableRestIntegrationTests-1.patch, 
 RerunnableRestIntegrationTests-2.patch


 Currently many Rest IntegrationTests can run only once. If you try to rerun 
 some Tests they will fail, due to the fact, that a resource with the same 
 same already exists, or that a resource was deleted previously and is not 
 available any longer. This works fine for mvn clean verify since all test 
 run exactly once. But for development phase this is inconvenient, because 
 while testing new features or other refactorings, one would like to run tests 
 several times (especially if they fail), without the need to 
 rebuild/package/deploy the whole core module.
 Tasks of this JIRA ticket is to use random identifier for resources (user, 
 role, ...) to avoid collisions, when running tests multiple times. In some 
 cases it will also be preferable to use a try { } final { } statement to 
 cleanup previously created resources.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


RE: Exception propagation in Rest interface: HTTP header vs body for details

2013-01-18 Thread Andrei Shakirin
 I don't understand why WorkflowException should be mapped to
 INTERNAL_SERVER_ERROR: you get workflow exceptions when something is
 not allowed within the current workflow instance, for example. There is no
 error on the server, the error is on the client asking for a workflow action 
 not
 available for various reasons.

As far as I see, WorkflowException also wraps ActivitiException thrown by 
runtimeService, that can indicate problems with Activiti engine.
Anyway I do not have strong opinion regarding WorkflowException, if you think 
it is mostly causes by wrong client argument, let set it back to BAD_REQUEST.

 Similarly for PersistenceException - thrown for example when a duplicate key
 is found: this is not happening (under normal conditions) for a server fault
 but for a client's.

Normally, in case of duplicate keys DataIntegrityViolationException is thrown 
(mapped to HTTP.CONFLICT). 
org.apache.ibatis.exceptions.PersistenceException can indicate following:
- error building SqlSession;
- error parsing SQL Mapper Configuration;
- cache problem;
- session problem;
- transaction exception

IMO it mostly caused by server errors as by wrong client request - not 
absolutely sure.

Regards,
Andrei.


 -Original Message-
 From: Francesco Chicchiriccò [mailto:ilgro...@apache.org]
 Sent: Freitag, 18. Januar 2013 15:20
 To: dev@syncope.apache.org
 Subject: Re: Exception propagation in Rest interface: HTTP header vs body
 for details
 
 On 18/01/2013 15:04, Andrei Shakirin wrote:
  Hi,
 
   From proposals regarding remote exceptions in [1], I am going to do the
 following during CXF migration:
  1) Update HTTP mapping codes (see Mapping exceptions to HTTP codes)
 
 I don't understand why WorkflowException should be mapped to
 INTERNAL_SERVER_ERROR: you get workflow exceptions when something is
 not allowed within the current workflow instance, for example. There is no
 error on the server, the error is on the client asking for a workflow action 
 not
 available for various reasons.
 
 
 Similarly for PersistenceException - thrown for example when a duplicate key
 is found: this is not happening (under normal conditions) for a server fault
 but for a client's.
 
  2) Update some checked exceptions to runtime ones (see Checked vs
  Runtime exceptions)
 
 Sounds reasonable.
 
 Regards.
 
  -Original Message-
  From: Andrei Shakirin [mailto:ashaki...@talend.com]
  Sent: Montag, 7. Januar 2013 10:01
  To: dev@syncope.apache.org
  Subject: RE: Exception propagation in Rest interface: HTTP header vs
  body for details
 
  I have tried to summarize remote exceptions mapping as well as some
  improvement ideas in [1].
  [1] is also linked from [2].
  Review, remarks, discussions are welcome.
 
  Cheers,
  Andrei.
 
  [1]
 
 https://cwiki.apache.org/confluence/display/SYNCOPE/Remote+Exceptions
  [2]
 
 https://cwiki.apache.org/confluence/display/SYNCOPE/REST+API+upgrade
 
 
  -Original Message-
  From: Andrei Shakirin [mailto:ashaki...@talend.com]
  Sent: Freitag, 14. Dezember 2012 09:37
  To: dev@syncope.apache.org
  Subject: RE: Exception propagation in Rest interface: HTTP header vs
  body for details
 
  Yep, will go this way: keep current propagation one to one plus more
  verbose exception in HTTP body (perhaps on the second step).
  Thanks for participating in discussion.
 
  Cheers,
  Andrei.
 
  -Original Message-
  From: Sergey Beryozkin [mailto:sberyoz...@gmail.com]
  Sent: Donnerstag, 13. Dezember 2012 18:34
  To: dev@syncope.apache.org
  Subject: Re: Exception propagation in Rest interface: HTTP header
  vs body for details
 
  On 13/12/12 16:45, Francesco Chicchiriccò wrote:
  On 13/12/2012 14:27, Sergey Beryozkin wrote:
  Hi
  On 13/12/12 12:42, Andrei Shakirin wrote:
  Hi,
 
  I am working on Rest interface migration (to Apache CXF) and
  analysing exception propagation from service to client.
  Actually SyncopeClientCompositeErrorException is sent using:
 
  a) ExceptionType HTTP header containing exception type
  (enumeration
  SyncopeClientExceptionType)
 
  b)ExceptionType.element HTTP header as list of strings for
  error details (that are used to fill
  SyncopeClientException.elements)
 
  I find that fine at the moment, as far as details information is
  only simple and short list of strings. Potentially it is
  possible to have more complex and long structures in exception
  details.
  Therefore the question is does it make sense to use HTTP header
  only for ExceptionType and send details in HTTP body?
  It means that we will change network protocol between client and
  service, not sure how critical it is for existing Syncope users.
 
  There are 2 alternatives:
 
  a) leave the propagation as it is: send type and details in HTTP
  headers. In the future additional information exceptional still
  can be sent with HTTP body.
 
  b) send only ExceptionType in HTTP header and details element in
  HTTP body.
 
  Do you have any preferences for (a) and (b) or there 

[jira] [Commented] (SYNCOPE-252) Update LICENSE / NOTICE files for any added or removed Maven dependency

2013-01-18 Thread Jan Bernhardt (JIRA)

[ 
https://issues.apache.org/jira/browse/SYNCOPE-252?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13557253#comment-13557253
 ] 

Jan Bernhardt commented on SYNCOPE-252:
---

Yes, you are right, javax.ws.rs:javax.ws.rs-api:2.0-m15 was also added 
previously. I just checked the lib file which does not contain any LICENSE or 
NOTICE file.

Since handling license issues is a rather new topic to me, what do I need to do 
here? Is a LICENSE / NOTICE not required here, since it is a javax package?

And yes, no other 3rd party code was needed / added for CXF migration.

 Update LICENSE / NOTICE files for any added or removed Maven dependency
 ---

 Key: SYNCOPE-252
 URL: https://issues.apache.org/jira/browse/SYNCOPE-252
 Project: Syncope
  Issue Type: Sub-task
  Components: console, core
Reporter: Francesco Chicchiriccò
 Fix For: 1.2.0


 If you are adding (or removing) any non-ASF dependency, please take also care 
 of LICENSE and NOTICE content either at root (included in source and JAR 
 release files) and under legal_ext (for WAR and ZIP release files).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (SYNCOPE-252) Update LICENSE / NOTICE files for any added or removed Maven dependency

2013-01-18 Thread JIRA

[ 
https://issues.apache.org/jira/browse/SYNCOPE-252?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13557261#comment-13557261
 ] 

Francesco Chicchiriccò commented on SYNCOPE-252:


About javax.ws.rs-api, according to [1], license is CDDL 1.0 (or GPL, but this 
is not allowed): since the CDDL 1.0 has already been included in LICENSE and 
legal_ext/LICENSE, you don't need to change these.
You still need, however, to update legal_ext/NOTICE with a copyright 
attribution to Oracle Corporation (read from [1]).

About the rest (e.g. examine core / console / build-tools WAR files' 
WEB-INF/lib content), this has still to be done.
This because, even though you haven't added anything but CXF deps, the Maven 
dependency resolution mechanism might have ended with some JAR file in 
WEB-INF/lib not yet captured in legal_ext's LICENSE and NOTICE. As said, any 
ASF JAR file can be skipped.

[1] 
http://search.maven.org/remotecontent?filepath=javax/ws/rs/javax.ws.rs-api/2.0-m15/javax.ws.rs-api-2.0-m15.pom

 Update LICENSE / NOTICE files for any added or removed Maven dependency
 ---

 Key: SYNCOPE-252
 URL: https://issues.apache.org/jira/browse/SYNCOPE-252
 Project: Syncope
  Issue Type: Sub-task
  Components: console, core
Reporter: Francesco Chicchiriccò
 Fix For: 1.2.0


 If you are adding (or removing) any non-ASF dependency, please take also care 
 of LICENSE and NOTICE content either at root (included in source and JAR 
 release files) and under legal_ext (for WAR and ZIP release files).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (SYNCOPE-231) Using Standard JAX-RS API in Syncope (Replace Spring Webservice Stack with Apache CXF)

2013-01-18 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/SYNCOPE-231?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13557307#comment-13557307
 ] 

Hudson commented on SYNCOPE-231:


Integrated in Syncope-trunk #454 (See 
[https://builds.apache.org/job/Syncope-trunk/454/])
[SYNCOPE-231]
Moved implementation classes to impl sub-package. (Revision 1435174)

 Result = SUCCESS
jbernhardt : 
Files : 
* 
/syncope/trunk/core/src/main/java/org/apache/syncope/core/services/ConfigurationServiceImpl.java
* 
/syncope/trunk/core/src/main/java/org/apache/syncope/core/services/ContextAware.java
* 
/syncope/trunk/core/src/main/java/org/apache/syncope/core/services/DummyHTTPServletResponse.java
* 
/syncope/trunk/core/src/main/java/org/apache/syncope/core/services/EntitlementServiceImpl.java
* /syncope/trunk/core/src/main/java/org/apache/syncope/core/services/impl
* 
/syncope/trunk/core/src/main/java/org/apache/syncope/core/services/impl/ConfigurationServiceImpl.java
* 
/syncope/trunk/core/src/main/java/org/apache/syncope/core/services/impl/ContextAware.java
* 
/syncope/trunk/core/src/main/java/org/apache/syncope/core/services/impl/DummyHTTPServletResponse.java
* 
/syncope/trunk/core/src/main/java/org/apache/syncope/core/services/impl/EntitlementServiceImpl.java
* /syncope/trunk/core/src/main/resources/restContext.xml


 Using Standard JAX-RS API in Syncope (Replace Spring Webservice Stack with 
 Apache CXF)
 --

 Key: SYNCOPE-231
 URL: https://issues.apache.org/jira/browse/SYNCOPE-231
 Project: Syncope
  Issue Type: Improvement
  Components: console, core
Reporter: Jan Bernhardt
Assignee: Jan Bernhardt
 Fix For: 1.2.0


 Current REST Interfaces are based on Spring Webservice framework. 
 Goal of this task is to replace Spring with CXF and to relay on JAX-B and 
 JAX-RS annotations rather then Spring annotations.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (SYNCOPE-280) Update some checked exceptions to runtime ones

2013-01-18 Thread Andrei Shakirin (JIRA)

[ 
https://issues.apache.org/jira/browse/SYNCOPE-280?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13557319#comment-13557319
 ] 

Andrei Shakirin commented on SYNCOPE-280:
-

InvalidPolicyType will be also inherited from RuntimeException

 Update some checked exceptions to runtime ones
 --

 Key: SYNCOPE-280
 URL: https://issues.apache.org/jira/browse/SYNCOPE-280
 Project: Syncope
  Issue Type: Improvement
Reporter: Andrei Shakirin
Assignee: Andrei Shakirin

 Accordingly Java Best Practices checked exceptions should be used only for 
 conditions from which the caller can reasonably be expected to recover.
 Runtime exceptions should be used for preconditions violation and for 
 programming errors.
 Candidates for checked exceptions are:
 - InvalidSearchConditionException
 - NotFoundException
 Candidates for runtime exceptions:
 - all Validation exceptions inherited from 
 javax.validation.ValidationException
 - MissingConfKeyException
 - AccountPolicyException
 - PasswordPolicyException
 - PolicyEnforceException
 - IncompatiblePolicyException
 - UnauthorizedRoleException
 - PropagationException
 - ReportException
 - WorkflowException

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Resolved] (SYNCOPE-268) Enable Rest IntegrationTests to run more than once (per build)

2013-01-18 Thread Andrei Shakirin (JIRA)

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

Andrei Shakirin resolved SYNCOPE-268.
-

Resolution: Fixed

 Enable Rest IntegrationTests to run more than once (per build)
 --

 Key: SYNCOPE-268
 URL: https://issues.apache.org/jira/browse/SYNCOPE-268
 Project: Syncope
  Issue Type: Improvement
  Components: core
Reporter: Jan Bernhardt
Assignee: Andrei Shakirin
  Labels: test
 Fix For: 1.1.0

 Attachments: RerunnableRestIntegrationTests-1.patch, 
 RerunnableRestIntegrationTests-2.patch


 Currently many Rest IntegrationTests can run only once. If you try to rerun 
 some Tests they will fail, due to the fact, that a resource with the same 
 same already exists, or that a resource was deleted previously and is not 
 available any longer. This works fine for mvn clean verify since all test 
 run exactly once. But for development phase this is inconvenient, because 
 while testing new features or other refactorings, one would like to run tests 
 several times (especially if they fail), without the need to 
 rebuild/package/deploy the whole core module.
 Tasks of this JIRA ticket is to use random identifier for resources (user, 
 role, ...) to avoid collisions, when running tests multiple times. In some 
 cases it will also be preferable to use a try { } final { } statement to 
 cleanup previously created resources.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Assigned] (SYNCOPE-244) Make external property file usage possible

2013-01-18 Thread JIRA

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

Francesco Chicchiriccò reassigned SYNCOPE-244:
--

Assignee: Francesco Chicchiriccò

 Make external property file usage possible
 --

 Key: SYNCOPE-244
 URL: https://issues.apache.org/jira/browse/SYNCOPE-244
 Project: Syncope
  Issue Type: Improvement
  Components: console
Affects Versions: 1.1.0
Reporter: Ernst Vorsteveld
Assignee: Francesco Chicchiriccò
Priority: Minor
 Fix For: 1.1.0


 Syncope console has a property file named configuration.properties, that 
 contains property values which are environment specific.
 Everytime Syncope is installed on some servlet container, I need to do a 
 change property values in configuration.properties for the environment I am 
 working on and do a build.
 I think that it is possible to move the configuration.properties out of the 
 build, and configure the properties in a file per environment.
 We could do this by changing the 
 console/src/main/resources/applicationContext.xml.
 Now the context file has for the configuration.properties file:
  bean id=propertyConfigurer
 
 class=org.springframework.beans.factory.config.PropertyPlaceholderConfigurer
 property name=locations
   list
 valueclasspath:configuration.properties/value
   /list
 /property
   /bean
 If we change this and add another bean:
 bean id=propertyConfigurer2 
 class=org.springframework.beans.factory.config.PropertyPlaceholderConfigurer
 property name=order value=1/
 property name=location 
 value=file:#{(systemProperties['user.home'] + 
 '/.configuration.properties')}/
 property name=ignoreResourceNotFound value=true/
 property name=ignoreUnresolvablePlaceholders value=true/
 /bean
 We only have to create a .configuration.properties file in the home directory 
 of the user that runs the servlet container on which syncope is deployed. If 
 the file is not found, it still the default configuration.properties file 
 from within the war file is used.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira