[jira] [Commented] (SYNCOPE-285) Complete CXF migration
[ https://issues.apache.org/jira/browse/SYNCOPE-285?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13720587#comment-13720587 ] Andrei Shakirin commented on SYNCOPE-285: - Hi Francesco, As far as I remember it was not really a defect. The problem is following: there are two methods with the same path: Complete CXF migration -- Key: SYNCOPE-285 URL: https://issues.apache.org/jira/browse/SYNCOPE-285 Project: Syncope Issue Type: Bug Reporter: Francesco Chicchiriccò Fix For: 1.2.0 Complete the migration to Apache CXF. -- 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-285) Complete CXF migration
[ https://issues.apache.org/jira/browse/SYNCOPE-285?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13720596#comment-13720596 ] Andrei Shakirin commented on SYNCOPE-285: - +1 from me. Can not believe that we finally close issue-285, we must really celebrate that!!! :) Complete CXF migration -- Key: SYNCOPE-285 URL: https://issues.apache.org/jira/browse/SYNCOPE-285 Project: Syncope Issue Type: Bug Reporter: Francesco Chicchiriccò Fix For: 1.2.0 Complete the migration to Apache CXF. -- 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-285) Complete CXF migration
[ https://issues.apache.org/jira/browse/SYNCOPE-285?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13720643#comment-13720643 ] Andrei Shakirin commented on SYNCOPE-285: - Hi Francesco, I think these methods have different path parameter type (Long and TaksType) and CXF can select method on the base of this. But in list() methods path parameter types are identical, so no chance to distinguish them without analyses of query params. Regards, Andrei. Complete CXF migration -- Key: SYNCOPE-285 URL: https://issues.apache.org/jira/browse/SYNCOPE-285 Project: Syncope Issue Type: Bug Reporter: Francesco Chicchiriccò Fix For: 1.2.0 Complete the migration to Apache CXF. -- 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-246) Remove collection setters in transfer objects for JAXB marshalling
[ https://issues.apache.org/jira/browse/SYNCOPE-246?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13718310#comment-13718310 ] Andrei Shakirin commented on SYNCOPE-246: - Hi Francesco, I try to explain the issue: originally we have a problem because JAXB and Spring MVC work differently with list members of java beans: - Spring MVC uses normal setter to set a list value - JAXB uses only getter to return the list and custom code adds / removes elements. The problem was that if we leave setter for lists in bean, JAXB tries to set the same list object through the setter and code in setter clears list content, so list will be empty: public void setEntitlements(final ListString entitlements) { this.entitlements.clear(); if (entitlements != null !entitlements.isEmpty()) { this.entitlements.addAll(entitlements); } } Therefore Christian adds workaround that checks if list object is the same (JAXB case) and do nothing in that case: public void setEntitlements(final ListString entitlements) { if (this.entitlements != entitlements) { this.entitlements.clear(); if (entitlements != null !entitlements.isEmpty()) { this.entitlements.addAll(entitlements); } } } But actually, clean final solution will be to remove list setters from TO objects at all. That is possible only when we do not support Spring MVC REST anymore. Regards, Andrei. Remove collection setters in transfer objects for JAXB marshalling -- Key: SYNCOPE-246 URL: https://issues.apache.org/jira/browse/SYNCOPE-246 Project: Syncope Issue Type: Sub-task Components: core Affects Versions: 1.1.0 Environment: CXF branch Reporter: Andrei Shakirin Assignee: Christian Schneider Fix For: 1.2.0 XML payload will be marshaled/unmarshaled using JAXB by migration to CXF Rest frontend. JAXB works with collections in a little bit different way as Spring Rest marshaling. JAXB uses only getter for the list (assumes that list is initialized due object creation) and adds elements into the list obtained by getter by unmarshaling. It doesn't need setter at all. The problem is that actual implementation of transfer objects doesn't work with JAXB. If TO provide setter for collection, JAXB gets the list, adds the elements and additionally calls setter for this list. As far as setter logic cleans the TO collection, the result collection is always empty. Solution is remove setters for collections in TOs by migration on CXF Rest. I find it also better from security and encapsulation aspects. Regards, Andrei. -- 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-136) Password required for resource subscription
[ https://issues.apache.org/jira/browse/SYNCOPE-136?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13574406#comment-13574406 ] Andrei Shakirin commented on SYNCOPE-136: - Hi Francesco, Could you please care about re-run ability also in new integration tests? UserTestITCase.readWithMailAddressAsUserName() should look like: @Test public void readWithMailAddressAsUserName() { UserTO userTO = createUser(getUniqueSampleTO(m...@domain.org)); userTO = userService.read(userTO.getUsername()); assertNotNull(userTO); } Otherwise we will break fixed [1] again and again. Regards, Andrei. [1] https://issues.apache.org/jira/browse/SYNCOPE-268 Password required for resource subscription --- Key: SYNCOPE-136 URL: https://issues.apache.org/jira/browse/SYNCOPE-136 Project: Syncope Issue Type: Improvement Reporter: Francesco Chicchiriccò Assignee: Francesco Chicchiriccò Fix For: 1.1.0 Currently, cleartext password is always required when subscribing to a new external resource. However, in some cases (for example when passwords are stored with some symmetric algorithm) this can be avoided. For example, it could be: Case 1: 2-way (a.k.a. symmetric) password cipher algorithm is configured in Syncope Use decrypted password from SyncopeUser to subscribe new resource. Case 2: 1-way (a.k.a. hash or asymmetric) password cipher algorithm is configured in Syncope and no clear-text password is available (for example, passed via UserMod or provided by a synchronizing resource) Provide, on a resource-basis, a mean to configure how new password should be generated: * constant * random password generation (compliant with resource password policy, if present - see SYNCOPE-121) * provide custom Java class Discussion thread: http://syncope-dev.1063484.n5.nabble.com/new-password-issue-td5589622.html -- 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-289) Prepare CXF Rest integration tests migration
[ https://issues.apache.org/jira/browse/SYNCOPE-289?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrei Shakirin resolved SYNCOPE-289. - Resolution: Fixed Prepare CXF Rest integration tests migration Key: SYNCOPE-289 URL: https://issues.apache.org/jira/browse/SYNCOPE-289 Project: Syncope Issue Type: Sub-task Components: console, core Reporter: Andrei Shakirin Assignee: Andrei Shakirin Fix For: 1.1.0 Moving back to 1.1.0 -- 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] [Created] (SYNCOPE-303) Mapping to SyncopeClientCompositeException on client side
Andrei Shakirin created SYNCOPE-303: --- Summary: Mapping to SyncopeClientCompositeException on client side Key: SYNCOPE-303 URL: https://issues.apache.org/jira/browse/SYNCOPE-303 Project: Syncope Issue Type: Improvement Components: common, core Reporter: Andrei Shakirin Fix For: 1.2.0 Actually almost all exceptions with status BAD_REQUEST and NOT_FOUND are mapped to SyncopeClientCompositeErrorException on the client side. It is absolutely OK for composite exceptions containing number of sub-exceptions (like validation and propagation), however for some single exceptions it makes more sense to map not to SyncopeClientCompositeErrorException, but directly to corresponded exception type. Candidates are: Deadlock ExistingResource DataIntegrityViolation GenericPersistence UnauthorizedRole Proposed mapping makes exception processing more easy and effective. https://cwiki.apache.org/confluence/display/SYNCOPE/Remote+Exceptions -- 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] [Created] (SYNCOPE-304) Mapping low level exceptions in core
Andrei Shakirin created SYNCOPE-304: --- Summary: Mapping low level exceptions in core Key: SYNCOPE-304 URL: https://issues.apache.org/jira/browse/SYNCOPE-304 Project: Syncope Issue Type: Improvement Components: core Reporter: Andrei Shakirin Fix For: 1.2.0 Actually service layer processes three relative low level exceptions from persistence: org.apache.ibatis.exceptions.PersistenceException; org.springframework.orm.jpa.JpaSystemException; javax.persistence.PersistenceException Suggestion: abstract service implementation from persistence a little bit more and wrap these three exceptions in high level Syncope PersistenceException. From my perspective it helps for the cases when Syncope will support alternative persistence technologies like Hibernate JPA, EclipseLink JPA or even LDAP, JCR, non-SQL DBs. https://cwiki.apache.org/confluence/display/SYNCOPE/Remote+Exceptions -- 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)
[ https://issues.apache.org/jira/browse/SYNCOPE-231?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13565221#comment-13565221 ] Andrei Shakirin commented on SYNCOPE-231: - Andrei, any news about the errors with JDK 1.7? Hi Francesco, It seems that I have found the reason: see discussion [Question] Problem with test UsertTestITCase.issueSYNCOPE279. I will test it additionally after the Fabio fix. Problem with AUTO generation strategy scares me a little bit - sometimes errors are not reproducible and very time consuming in analyses. What do you think about proposal in our discussion? Andrei. 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 Attachments: TaskService.patch 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] [Created] (SYNCOPE-298) Persistence beans: change AUTO Id generation strategy to TABLE
Andrei Shakirin created SYNCOPE-298: --- Summary: Persistence beans: change AUTO Id generation strategy to TABLE Key: SYNCOPE-298 URL: https://issues.apache.org/jira/browse/SYNCOPE-298 Project: Syncope Issue Type: Improvement Components: core Reporter: Andrei Shakirin Fix For: 1.2.0 Currently AUTO Id generation strategy works unstable under high load/concurrency conditions at least for H2 DB. [1], [2] Possible solution of this problem is migration AUTO to TABLE Id generation strategy for all persistence domain objects. [1] http://syncope-dev.1063484.n5.nabble.com/Question-Problem-with-test-UsertTestITCase-issueSYNCOPE279-tt5712389.html [2] http://syncope-dev.1063484.n5.nabble.com/Persistence-id-generation-strategy-TABLE-vs-AUTO-td5711813.html -- 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 (Introducing Apache CXF WS Stack)
[ https://issues.apache.org/jira/browse/SYNCOPE-231?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13565426#comment-13565426 ] Andrei Shakirin commented on SYNCOPE-231: - I am merging it now. Unfortunately one more test in UserTestITCase doesn't run now, because of the same AbstractVirAttribute AUTO Id generation strategy problem :( Andrei. Using Standard JAX-RS API in Syncope (Introducing Apache CXF WS Stack) -- 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.1.0 Attachments: TaskService.patch 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-289) Prepare CXF Rest integration tests migration
[ https://issues.apache.org/jira/browse/SYNCOPE-289?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13564155#comment-13564155 ] Andrei Shakirin commented on SYNCOPE-289: - Hi Francesco, Yep, it is expected at the moment. Currently only ConfigurationITTestCaseJAXRS is green. As I wrote in my commit comment, JAXRS tests are checked-in despite errors to be visible for all committers. We are working to fix them ASAP. Currently you can use ConfigurationITTestCaseJAXRS to experiment with conetntType. Regards, Andrei. Prepare CXF Rest integration tests migration Key: SYNCOPE-289 URL: https://issues.apache.org/jira/browse/SYNCOPE-289 Project: Syncope Issue Type: Sub-task Components: console, core Reporter: Andrei Shakirin Assignee: Andrei Shakirin Fix For: 1.1.0 Moving back to 1.1.0 -- 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-289) Prepare CXF Rest integration tests migration
[ https://issues.apache.org/jira/browse/SYNCOPE-289?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13562611#comment-13562611 ] Andrei Shakirin commented on SYNCOPE-289: - I am afraid it cased by @RunWith(Parameterized.class) annotation, was introduced to run all CXF integration tests twice for XML and JSON content type. I will see is it possible somehow to marry this annotation with -Dit.test=... Prepare CXF Rest integration tests migration Key: SYNCOPE-289 URL: https://issues.apache.org/jira/browse/SYNCOPE-289 Project: Syncope Issue Type: Sub-task Components: console, core Reporter: Andrei Shakirin Assignee: Andrei Shakirin Fix For: 1.1.0 Moving back to 1.1.0 -- 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-289) Prepare CXF Rest integration tests migration
[ https://issues.apache.org/jira/browse/SYNCOPE-289?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13561641#comment-13561641 ] Andrei Shakirin commented on SYNCOPE-289: - Should be fixed now, sorry for inconvenience Prepare CXF Rest integration tests migration Key: SYNCOPE-289 URL: https://issues.apache.org/jira/browse/SYNCOPE-289 Project: Syncope Issue Type: Sub-task Components: console, core Reporter: Andrei Shakirin Assignee: Andrei Shakirin Fix For: 1.1.0 Moving back to 1.1.0 -- 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-282) Implement JAX-RS exception mapper for server side
[ https://issues.apache.org/jira/browse/SYNCOPE-282?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrei Shakirin resolved SYNCOPE-282. - Resolution: Fixed Implement JAX-RS exception mapper for server side - Key: SYNCOPE-282 URL: https://issues.apache.org/jira/browse/SYNCOPE-282 Project: Syncope Issue Type: Sub-task Components: console, core Reporter: Andrei Shakirin Assignee: Andrei Shakirin Fix For: 1.2.0 Actually exceptions are mapped to error codes directly in servlet response inside jsp code. Task will introduce standard JAX-RS exception mapper for service exceptions. Mapping is documented in https://cwiki.apache.org/confluence/display/SYNCOPE/Remote+Exceptions. -- 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-256) Update Rest exception mapper to Apache CXF
[ https://issues.apache.org/jira/browse/SYNCOPE-256?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrei Shakirin resolved SYNCOPE-256. - Resolution: Fixed Update Rest exception mapper to Apache CXF -- Key: SYNCOPE-256 URL: https://issues.apache.org/jira/browse/SYNCOPE-256 Project: Syncope Issue Type: Sub-task Components: client, core Environment: CXF branch Reporter: Andrei Shakirin Assignee: Andrei Shakirin Fix For: 1.1.0 Attachments: ExceptionMapper.patch, ExceptionMapperService.patch, ExceptionMapperUserTests.patch, syncopeClientError.jsp.patch, Unauthorized.patch Spring exception mapper is replaced to CXF one and configured as provider in rest endpoint and client. Converting of exceptions to HTTP error codes on service side is also done by exception mapper. -- 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] [Created] (SYNCOPE-289) Prepare CXF Rest integration tests migration
Andrei Shakirin created SYNCOPE-289: --- Summary: Prepare CXF Rest integration tests migration Key: SYNCOPE-289 URL: https://issues.apache.org/jira/browse/SYNCOPE-289 Project: Syncope Issue Type: Sub-task Reporter: Andrei Shakirin Assignee: Andrei Shakirin -- 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-289) Prepare CXF Rest integration tests migration
[ https://issues.apache.org/jira/browse/SYNCOPE-289?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13560758#comment-13560758 ] Andrei Shakirin commented on SYNCOPE-289: - Hi Francesco, It is not very important, but I tend to have this issue in 1.1.0. It is not migration itself, but only preparation (create client configuration in restClientContext.xml, add AbstractTest class for CXF, etc). JAX-RS based tests will be not activated as we have agreed, only prepared and used internally until 1.2.0. Regards, Andrei. Prepare CXF Rest integration tests migration Key: SYNCOPE-289 URL: https://issues.apache.org/jira/browse/SYNCOPE-289 Project: Syncope Issue Type: Sub-task Components: console, core Reporter: Andrei Shakirin Assignee: Andrei Shakirin Fix For: 1.2.0 -- 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] [Updated] (SYNCOPE-289) Prepare CXF Rest integration tests migration
[ https://issues.apache.org/jira/browse/SYNCOPE-289?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrei Shakirin updated SYNCOPE-289: Fix Version/s: (was: 1.2.0) 1.1.0 Description: Moving back to 1.1.0 Prepare CXF Rest integration tests migration Key: SYNCOPE-289 URL: https://issues.apache.org/jira/browse/SYNCOPE-289 Project: Syncope Issue Type: Sub-task Components: console, core Reporter: Andrei Shakirin Assignee: Andrei Shakirin Fix For: 1.1.0 Moving back to 1.1.0 -- 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] [Updated] (SYNCOPE-289) Prepare CXF Rest integration tests migration
[ https://issues.apache.org/jira/browse/SYNCOPE-289?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrei Shakirin updated SYNCOPE-289: Issue Type: Bug (was: Sub-task) Parent: (was: SYNCOPE-231) Prepare CXF Rest integration tests migration Key: SYNCOPE-289 URL: https://issues.apache.org/jira/browse/SYNCOPE-289 Project: Syncope Issue Type: Bug Components: console, core Reporter: Andrei Shakirin Assignee: Andrei Shakirin Fix For: 1.1.0 Moving back to 1.1.0 -- 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)
[ 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-280) Update some checked exceptions to runtime ones
[ 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)
[ 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] [Commented] (SYNCOPE-259) Create transitional Service interfaces and switch tests and console to use them
[ https://issues.apache.org/jira/browse/SYNCOPE-259?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13551076#comment-13551076 ] Andrei Shakirin commented on SYNCOPE-259: - For PolicyService, SchemaService and TaskService there are two possibilities to marshal / unmarshal Collections containing abstract type: 1) Use Jackson JSON provider and Jackson specific annotation @JsonTypeInfo. Jackson additionally sends class information with each collection element 2) Use CXF JSONProvider and jaxbElementClassNames property. (2) way is more attractive from my perspective, because we are not depends on Jackson. Create transitional Service interfaces and switch tests and console to use them --- Key: SYNCOPE-259 URL: https://issues.apache.org/jira/browse/SYNCOPE-259 Project: Syncope Issue Type: Improvement Components: client, console, core Affects Versions: 1.1.0 Reporter: Christian Schneider Assignee: Jan Bernhardt Fix For: 1.1.0 Attachments: PolicyService.patch, ResourceService-1428511.patch, ResourceService.patch, SYNCOPE-259.patch As preparation of the change to use CXF instead of Spring MVC REST controllers this issue is to introduce transitional service interfaces (like as UserService). The UserService interface should later be used in the core to provide the UserController and on the console to access the service remotely. To make the transition easier the idea is to already introduce the interface upfront and change all tests and the console to use it. Before the switch the implementation of the interface will simply use the restTemplate under the covers. This to be applied similarly to all Spring MVC REST controllers. -- 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-259) Create transitional Service interfaces and switch tests and console to use them
[ https://issues.apache.org/jira/browse/SYNCOPE-259?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13543754#comment-13543754 ] Andrei Shakirin commented on SYNCOPE-259: - Hi Jan, Thanks, looks perfect now. (3): make sense to rename all paths of other services too: e.g. roles, users, loggers, configurations, etc? (4): as far as check verifies connection (LDAP, DB, WS, etc) I personally find names verify or check better as validate. Validate IMO related more to argument validity. Create transitional Service interfaces and switch tests and console to use them --- Key: SYNCOPE-259 URL: https://issues.apache.org/jira/browse/SYNCOPE-259 Project: Syncope Issue Type: Improvement Components: client, console, core Affects Versions: 1.1.0 Reporter: Christian Schneider Assignee: Jan Bernhardt Fix For: 1.1.0 Attachments: ResourceService-1428511.patch, ResourceService.patch, SYNCOPE-259.patch As preparation of the change to use CXF instead of Spring MVC REST controllers this issue is to introduce transitional service interfaces (like as UserService). The UserService interface should later be used in the core to provide the UserController and on the console to access the service remotely. To make the transition easier the idea is to already introduce the interface upfront and change all tests and the console to use it. Before the switch the implementation of the interface will simply use the restTemplate under the covers. This to be applied similarly to all Spring MVC REST controllers. -- 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] [Issue Comment Deleted] (SYNCOPE-259) Create transitional Service interfaces and switch tests and console to use them
[ https://issues.apache.org/jira/browse/SYNCOPE-259?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrei Shakirin updated SYNCOPE-259: Comment: was deleted (was: yep, connectorStatus sounds better (it not always physical connection)) Create transitional Service interfaces and switch tests and console to use them --- Key: SYNCOPE-259 URL: https://issues.apache.org/jira/browse/SYNCOPE-259 Project: Syncope Issue Type: Improvement Components: client, console, core Affects Versions: 1.1.0 Reporter: Christian Schneider Assignee: Jan Bernhardt Fix For: 1.1.0 Attachments: ResourceService-1428511.patch, ResourceService.patch, SYNCOPE-259.patch As preparation of the change to use CXF instead of Spring MVC REST controllers this issue is to introduce transitional service interfaces (like as UserService). The UserService interface should later be used in the core to provide the UserController and on the console to access the service remotely. To make the transition easier the idea is to already introduce the interface upfront and change all tests and the console to use it. Before the switch the implementation of the interface will simply use the restTemplate under the covers. This to be applied similarly to all Spring MVC REST controllers. -- 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-259) Create transitional Service interfaces and switch tests and console to use them
[ https://issues.apache.org/jira/browse/SYNCOPE-259?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13543790#comment-13543790 ] Andrei Shakirin commented on SYNCOPE-259: - Hi Jan, Why do you think @GET is not appropriate for this operation? It is idempotent and safe (there is not any modifications in resource status). As far as I can see implementation not only validates arguments, but tries to establish (or check) physical connection to backend. For me GET /resources/{resourcename}/connectorStatus exactly reflects operation semantic. Am I wrong? Create transitional Service interfaces and switch tests and console to use them --- Key: SYNCOPE-259 URL: https://issues.apache.org/jira/browse/SYNCOPE-259 Project: Syncope Issue Type: Improvement Components: client, console, core Affects Versions: 1.1.0 Reporter: Christian Schneider Assignee: Jan Bernhardt Fix For: 1.1.0 Attachments: ResourceService-1428511.patch, ResourceService.patch, SYNCOPE-259.patch As preparation of the change to use CXF instead of Spring MVC REST controllers this issue is to introduce transitional service interfaces (like as UserService). The UserService interface should later be used in the core to provide the UserController and on the console to access the service remotely. To make the transition easier the idea is to already introduce the interface upfront and change all tests and the console to use it. Before the switch the implementation of the interface will simply use the restTemplate under the covers. This to be applied similarly to all Spring MVC REST controllers. -- 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-259) Create transitional Service interfaces and switch tests and console to use them
[ https://issues.apache.org/jira/browse/SYNCOPE-259?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13542833#comment-13542833 ] Andrei Shakirin commented on SYNCOPE-259: - I will start with ResourceController (ResourceService) today Create transitional Service interfaces and switch tests and console to use them --- Key: SYNCOPE-259 URL: https://issues.apache.org/jira/browse/SYNCOPE-259 Project: Syncope Issue Type: Improvement Components: client, console, core Affects Versions: 1.1.0 Reporter: Christian Schneider Assignee: Jan Bernhardt Fix For: 1.1.0 Attachments: SYNCOPE-259.patch As preparation of the change to use CXF instead of Spring MVC REST controllers this issue is to introduce transitional service interfaces (like as UserService). The UserService interface should later be used in the core to provide the UserController and on the console to access the service remotely. To make the transition easier the idea is to already introduce the interface upfront and change all tests and the console to use it. Before the switch the implementation of the interface will simply use the restTemplate under the covers. This to be applied similarly to all Spring MVC REST controllers. -- 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] [Updated] (SYNCOPE-259) Create transitional Service interfaces and switch tests and console to use them
[ https://issues.apache.org/jira/browse/SYNCOPE-259?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrei Shakirin updated SYNCOPE-259: Attachment: ResourceService.patch Added patch for ResourceService. Essential changes in JAX-RS annotations: 1) update. Operation is mapped to HTTP put instead post (as far as I can see update is idempotent); resourceName is added to URL - it allows also rename resource 2) delete. Operation is mapped to HTTP delete instead get. 3) check. Operation is mapped to HTTP get as far as it is save and idempotent Two operations check() and getPropagationActionsClasses() seems not to be directly related to resources. - check() validates connection instance and for me it is candidate for ConnInstanceService. Actually test for check() operation located in ConnInstancetestITCase. - getPropagationActionsClasses() returns list of class names for PROPAGATION_ACTIONS from classloader. Not sure that this operation should be in ResourceService. At the moment I leave both operations in ResourceService. Create transitional Service interfaces and switch tests and console to use them --- Key: SYNCOPE-259 URL: https://issues.apache.org/jira/browse/SYNCOPE-259 Project: Syncope Issue Type: Improvement Components: client, console, core Affects Versions: 1.1.0 Reporter: Christian Schneider Assignee: Jan Bernhardt Fix For: 1.1.0 Attachments: ResourceService.patch, SYNCOPE-259.patch As preparation of the change to use CXF instead of Spring MVC REST controllers this issue is to introduce transitional service interfaces (like as UserService). The UserService interface should later be used in the core to provide the UserController and on the console to access the service remotely. To make the transition easier the idea is to already introduce the interface upfront and change all tests and the console to use it. Before the switch the implementation of the interface will simply use the restTemplate under the covers. This to be applied similarly to all Spring MVC REST controllers. -- 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] [Updated] (SYNCOPE-251) Fix Dependency issues with ConnID Bundle deployment
[ https://issues.apache.org/jira/browse/SYNCOPE-251?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrei Shakirin updated SYNCOPE-251: Attachment: cxf-deps.patch Fix Dependency issues with ConnID Bundle deployment Key: SYNCOPE-251 URL: https://issues.apache.org/jira/browse/SYNCOPE-251 Project: Syncope Issue Type: Sub-task Components: core Environment: Linked issue on ConnId: http://code.google.com/p/connid/issues/detail?id=55 Reporter: Jan Bernhardt Assignee: Jan Bernhardt Fix For: 1.2.0 Attachments: cxf-deps.patch SOAP ConnID Bundle contains CXF dependencies, which cause Classloading issues when migrating Syncope to CXF, Currently maven-dependency-plugin:copy is used to generate bundle jars, but this plugin does not support to exclude transitive dependencies. Maybe another maven plugin (maven-assembly-plugin ?) can be used to exclude CXF dependencies from SOAP ConnID Bundle. -- 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-251) Fix Dependency issues with ConnID Bundle deployment
[ https://issues.apache.org/jira/browse/SYNCOPE-251?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13535808#comment-13535808 ] Andrei Shakirin commented on SYNCOPE-251: - Hi Francesco, Jan is in vacation until new year, I try the answer your question. The easiest way to reproduce the issue is just to add cxf dependencies in pom file (I attach patch for the trunk with cxf deps). You will see that some tests (depending on soap connector) will be failed. If you manually remove cxf jars from ConnId soap bundle in local maven repository and run tests again - they will be green. CXF branch still has some failures in integration tests, we are working on it (basically we successfully migrated UserController and RoleController, but as far as other tests still using old rest interface to access Users and Roles, there are some failures). Regarding the ConnId problem, I see 3 alternatives: 1) Produce two versions of ConnId bundles: with and without dependencies 2) Make classloading in ConnId configurable: provide a possibility to switch off lib/ jars from class loader 3) Experiment with non-default CXF bus (although Dan Kulp expects problem with this approach) Andrei. Fix Dependency issues with ConnID Bundle deployment Key: SYNCOPE-251 URL: https://issues.apache.org/jira/browse/SYNCOPE-251 Project: Syncope Issue Type: Sub-task Components: core Environment: Linked issue on ConnId: http://code.google.com/p/connid/issues/detail?id=55 Reporter: Jan Bernhardt Assignee: Jan Bernhardt Fix For: 1.2.0 Attachments: cxf-deps.patch SOAP ConnID Bundle contains CXF dependencies, which cause Classloading issues when migrating Syncope to CXF, Currently maven-dependency-plugin:copy is used to generate bundle jars, but this plugin does not support to exclude transitive dependencies. Maybe another maven plugin (maven-assembly-plugin ?) can be used to exclude CXF dependencies from SOAP ConnID Bundle. -- 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] [Updated] (SYNCOPE-256) Update Rest exception mapper to Apache CXF
[ https://issues.apache.org/jira/browse/SYNCOPE-256?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrei Shakirin updated SYNCOPE-256: Attachment: Unauthorized.patch Updates for exception mappers + integration test for unauthorized access Update Rest exception mapper to Apache CXF -- Key: SYNCOPE-256 URL: https://issues.apache.org/jira/browse/SYNCOPE-256 Project: Syncope Issue Type: Sub-task Components: client, core Environment: CXF branch Reporter: Andrei Shakirin Assignee: Jan Bernhardt Fix For: 1.1.0 Attachments: ExceptionMapper.patch, ExceptionMapperService.patch, ExceptionMapperUserTests.patch, syncopeClientError.jsp.patch, Unauthorized.patch Spring exception mapper is replaced to CXF one and configured as provider in rest endpoint and client. Converting of exceptions to HTTP error codes on service side is also done by exception mapper. -- 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] [Updated] (SYNCOPE-256) Update Rest exception mapper to Apache CXF
[ https://issues.apache.org/jira/browse/SYNCOPE-256?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrei Shakirin updated SYNCOPE-256: Attachment: ExceptionMapperUserTests.patch Updated UserTestItCase for CXF ExceptionMapper Update Rest exception mapper to Apache CXF -- Key: SYNCOPE-256 URL: https://issues.apache.org/jira/browse/SYNCOPE-256 Project: Syncope Issue Type: Sub-task Components: client, core Environment: CXF branch Reporter: Andrei Shakirin Assignee: Jan Bernhardt Attachments: ExceptionMapper.patch, ExceptionMapperService.patch, ExceptionMapperUserTests.patch Spring exception mapper is replaced to CXF one and configured as provider in rest endpoint and client. Converting of exceptions to HTTP error codes on service side is also done by exception mapper. -- 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] [Updated] (SYNCOPE-256) Update Rest exception mapper to Apache CXF
[ https://issues.apache.org/jira/browse/SYNCOPE-256?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrei Shakirin updated SYNCOPE-256: Attachment: syncopeClientError.jsp.patch Hi Jan, Two test cases are failed because of following refactoring in branch: two exceptions (InvalidSearchConditions and UnauthorizedRole) were moved to other package, but syncopeClientError.jsp was not updated correspondingly. As far as both tests called Resource controller that is not migrated to CXF - jsp page is invoked to map exceptions to http error code. Patch for jsp page is attached. Cheers, Andrei. Update Rest exception mapper to Apache CXF -- Key: SYNCOPE-256 URL: https://issues.apache.org/jira/browse/SYNCOPE-256 Project: Syncope Issue Type: Sub-task Components: client, core Environment: CXF branch Reporter: Andrei Shakirin Assignee: Jan Bernhardt Attachments: ExceptionMapper.patch, ExceptionMapperService.patch, ExceptionMapperUserTests.patch, syncopeClientError.jsp.patch Spring exception mapper is replaced to CXF one and configured as provider in rest endpoint and client. Converting of exceptions to HTTP error codes on service side is also done by exception mapper. -- 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] [Created] (SYNCOPE-256) Update Rest exception mapper to Apache CXF
Andrei Shakirin created SYNCOPE-256: --- Summary: Update Rest exception mapper to Apache CXF Key: SYNCOPE-256 URL: https://issues.apache.org/jira/browse/SYNCOPE-256 Project: Syncope Issue Type: Improvement Components: client, core Environment: CXF branch Reporter: Andrei Shakirin Assignee: Jan Bernhardt Spring exception mapper is replaced to CXF one and configured as provider in rest endpoint and client. Converting of exceptions to HTTP error codes on service side is also done by exception mapper. -- 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] [Created] (SYNCOPE-247) Use complete UUID as role name to avoid problems by test rerun
Andrei Shakirin created SYNCOPE-247: --- Summary: Use complete UUID as role name to avoid problems by test rerun Key: SYNCOPE-247 URL: https://issues.apache.org/jira/browse/SYNCOPE-247 Project: Syncope Issue Type: Improvement Environment: CXF branch Reporter: Andrei Shakirin Assignee: Jan Bernhardt Attachments: AbstractRoleTestITCase.java.patch Actually some of Role integration tests (issue 228, crud) cannot be rerun. Reason: only 8 first characters from UUID is used as role name, that causes name collisions. Patch for the CXF branch is attached. Regards, Andrei. -- 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