You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 10 Next »

Code

In case the Syncope 2.0 deployment is based on Maven project, It is strongly advised to generate a new Maven project for 2.1 and to re-apply all the customizations and extensions made.

Upgrading to Syncope 2.1.0?

There is an issue with Syncope 2.1.0 (fixed for later releases), which requires to manually modify the sources of the generated Maven project.

The following lines must be removed from console/pom.xml in order to avoid build errors:

  <!-- TEST -->
  <dependency>
   <groupId>junit</groupId>
   <artifactId>junit</artifactId>
   <scope>test</scope>
  </dependency>

Default implementations were removed

This change is primarily due to the introduction of default methods on interfaces.

All local classes extending default implementations such as DefaultPropagationActions, DefaultPullActions, DefaultPushActions, ... must be changed to implement the related interfaces, e.g. PropagationActions, PullActions, PushActions, ...

Optional

Various methods now return Optional, rather than nullable values as before; for example:

Syncope 2.0
userTO.getPlainAttr("email").getUniqueValue()

now becomes

Syncope 2.1
userTO.getPlainAttr("email").get().getUniqueValue()

Check the Javadocs to find out which methods are now returning Optional.

Internal Storage

The steps to upgrade the internal storage to Syncope 2.1.0 are outlined in the Reference Guide.

Upgrading to Syncope 2.1.0?

There is an issue with Syncope 2.1.0 (fixed for later releases), which requires to add some additional SQL statements to the ones generated by the upgrade tool:

UPDATE SyncopeUser SET mustChangePassword=0 WHERE mustChangePassword IS NULL;
UPDATE VirSchema SET readonly=0 WHERE readonly IS NULL;
UPDATE ExternalResource SET overrideCapabilities=0 WHERE overrideCapabilities IS NULL;
UPDATE Task SET active=0 WHERE active IS NULL;

Do not forget to restart the Java EE container where Syncope Core is deployed, after executing the SQL statements above.

  • No labels