Skip to content

Commit be74b30

Browse files
LUT-30030 : Migration of the unit tree plugin to Lutèce 8
1 parent 374d744 commit be74b30

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+605
-382
lines changed

pom.xml

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,14 @@
33
<parent>
44
<artifactId>lutece-global-pom</artifactId>
55
<groupId>fr.paris.lutece.tools</groupId>
6-
<version>7.0.1</version>
6+
<version>8.0.0-SNAPSHOT</version>
77
</parent>
88

99
<modelVersion>4.0.0</modelVersion>
1010
<groupId>fr.paris.lutece.plugins</groupId>
1111
<artifactId>plugin-unittree</artifactId>
1212
<packaging>lutece-plugin</packaging>
13-
<version>3.1.2-SNAPSHOT</version>
13+
<version>4.0.0-SNAPSHOT</version>
1414
<name>Lutece unittree plugin</name>
1515

1616
<repositories>
@@ -36,10 +36,22 @@
3636
<dependency>
3737
<groupId>fr.paris.lutece</groupId>
3838
<artifactId>lutece-core</artifactId>
39-
<version>[7.0.0,)</version>
39+
<version>[8.0.0-SNAPSHOT,)</version>
4040
<type>lutece-core</type>
4141
</dependency>
42-
</dependencies>
42+
<!-- JUnit -->
43+
<dependency>
44+
<groupId>fr.paris.lutece.plugins</groupId>
45+
<artifactId>library-lutece-unit-testing</artifactId>
46+
<type>jar</type>
47+
<scope>test</scope>
48+
</dependency>
49+
<dependency>
50+
<groupId>org.glassfish.jaxb</groupId>
51+
<artifactId>jaxb-runtime</artifactId>
52+
<scope>test</scope>
53+
</dependency>
54+
</dependencies>
4355

4456
<properties>
4557
<componentName>unittree</componentName>

src/java/fr/paris/lutece/plugins/unittree/business/action/ActionDAO.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,13 +39,15 @@
3939
import java.util.ArrayList;
4040
import java.util.List;
4141

42-
import javax.inject.Inject;
42+
import jakarta.enterprise.context.ApplicationScoped;
43+
import jakarta.inject.Inject;
4344

4445
/**
4546
*
4647
* ActionDAO
4748
*
4849
*/
50+
@ApplicationScoped
4951
public class ActionDAO implements IActionDAO
5052
{
5153
private static final String SQL_QUERY_SELECT_ACTIONS = "SELECT id_action, name_key, description_key, action_url, icon_url, action_permission, action_type "

src/java/fr/paris/lutece/plugins/unittree/business/action/ActionFactory.java

Lines changed: 8 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,10 @@
3333
*/
3434
package fr.paris.lutece.plugins.unittree.business.action;
3535

36-
import fr.paris.lutece.portal.service.spring.SpringContextService;
3736
import fr.paris.lutece.portal.service.util.AppLogService;
38-
39-
import org.springframework.beans.BeansException;
40-
import org.springframework.beans.factory.BeanDefinitionStoreException;
41-
import org.springframework.beans.factory.CannotLoadBeanClassException;
42-
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
37+
import jakarta.enterprise.context.ApplicationScoped;
38+
import jakarta.enterprise.inject.literal.NamedLiteral;
39+
import jakarta.enterprise.inject.spi.CDI;
4340

4441
/**
4542
*
@@ -49,6 +46,7 @@
4946
* </ul>
5047
*
5148
*/
49+
@ApplicationScoped
5250
public class ActionFactory implements IActionFactory
5351
{
5452
/**
@@ -61,11 +59,11 @@ public IAction newAction( String strActionType )
6159

6260
try
6361
{
64-
action = SpringContextService.getBean( strActionType );
62+
action = CDI.current( ).select( IAction.class ).select( NamedLiteral.of( strActionType ) ).get( );
6563
}
66-
catch( BeansException e )
64+
catch( Exception e )
6765
{
68-
logBeanException( e );
66+
AppLogService.debug( "ActionFactory ERROR : could not load {} action - CAUSE : {}", strActionType, e.getMessage( ) );
6967
}
7068

7169
// If no action is defined for strActionType, then create a DefaultAction
@@ -76,30 +74,4 @@ public IAction newAction( String strActionType )
7674

7775
return action;
7876
}
79-
80-
private void logBeanException( BeansException e )
81-
{
82-
String beanName = null;
83-
String message = e.getMessage( );
84-
85-
if ( e instanceof BeanDefinitionStoreException )
86-
{
87-
beanName = ( (BeanDefinitionStoreException) e ).getBeanName( );
88-
}
89-
else
90-
if ( e instanceof NoSuchBeanDefinitionException )
91-
{
92-
beanName = ( (NoSuchBeanDefinitionException) e ).getBeanName( );
93-
}
94-
else
95-
if ( e instanceof CannotLoadBeanClassException )
96-
{
97-
beanName = ( (CannotLoadBeanClassException) e ).getBeanName( );
98-
}
99-
100-
if ( beanName != null )
101-
{
102-
AppLogService.debug( "ActionFactory ERROR : could not load bean '" + beanName + "' - CAUSE : " + message );
103-
}
104-
}
105-
}
77+
}

src/java/fr/paris/lutece/plugins/unittree/business/action/ActionHome.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
import fr.paris.lutece.plugins.unittree.service.UnitTreePlugin;
3737
import fr.paris.lutece.portal.service.plugin.Plugin;
3838
import fr.paris.lutece.portal.service.plugin.PluginService;
39-
import fr.paris.lutece.portal.service.spring.SpringContextService;
39+
import jakarta.enterprise.inject.spi.CDI;
4040

4141
import java.util.List;
4242

@@ -47,9 +47,8 @@
4747
*/
4848
public final class ActionHome
4949
{
50-
private static final String BEAN_ACTION_DAO = "unittree.actionDAO";
5150
private static Plugin _plugin = PluginService.getPlugin( UnitTreePlugin.PLUGIN_NAME );
52-
private static IActionDAO _dao = SpringContextService.getBean( BEAN_ACTION_DAO );
51+
private static IActionDAO _dao = CDI.current( ).select( IActionDAO.class ).get( );
5352

5453
/**
5554
* Private constructor - this class need not be instantiated

src/java/fr/paris/lutece/plugins/unittree/business/action/UnitAction.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,16 @@
3333
*/
3434
package fr.paris.lutece.plugins.unittree.business.action;
3535

36+
import jakarta.enterprise.context.Dependent;
37+
import jakarta.inject.Named;
38+
3639
/**
3740
*
3841
* This class represents the action usable on an unit
3942
*
4043
*/
44+
@Dependent
45+
@Named( UnitAction.ACTION_TYPE )
4146
public class UnitAction extends AbstractAction
4247
{
4348
public static final String ACTION_TYPE = "unittree.unitAction";

src/java/fr/paris/lutece/plugins/unittree/business/action/UnitUserAction.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,16 @@
3333
*/
3434
package fr.paris.lutece.plugins.unittree.business.action;
3535

36+
import jakarta.enterprise.context.Dependent;
37+
import jakarta.inject.Named;
38+
3639
/**
3740
*
3841
* This class represents an action usable on the user assigned to an unit
3942
*
4043
*/
44+
@Dependent
45+
@Named( UnitUserAction.ACTION_TYPE )
4146
public class UnitUserAction extends AbstractAction
4247
{
4348
public static final String ACTION_TYPE = "unittree.unitUserAction";

src/java/fr/paris/lutece/plugins/unittree/business/assignment/UnitAssignmentDAO.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
import fr.paris.lutece.plugins.unittree.business.unit.Unit;
3737
import fr.paris.lutece.portal.service.plugin.Plugin;
3838
import fr.paris.lutece.util.sql.DAOUtil;
39+
import jakarta.enterprise.context.ApplicationScoped;
3940

4041
import java.sql.Statement;
4142
import java.util.ArrayList;
@@ -44,7 +45,7 @@
4445
/**
4546
* This class provides Data Access methods for UnitAssignment objects
4647
*/
47-
48+
@ApplicationScoped
4849
public class UnitAssignmentDAO implements IUnitAssignmentDAO
4950
{
5051

src/java/fr/paris/lutece/plugins/unittree/business/assignment/UnitAssignmentHome.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
import fr.paris.lutece.plugins.unittree.service.UnitTreePlugin;
3939
import fr.paris.lutece.portal.service.plugin.Plugin;
4040
import fr.paris.lutece.portal.service.plugin.PluginService;
41-
import fr.paris.lutece.portal.service.spring.SpringContextService;
41+
import jakarta.enterprise.inject.spi.CDI;
4242

4343
/**
4444
* This class provides instances management methods (create, find, ...) for UnitAssignment objects
@@ -49,7 +49,7 @@ public final class UnitAssignmentHome
4949
private static Plugin _plugin = PluginService.getPlugin( UnitTreePlugin.PLUGIN_NAME );
5050

5151
// Static variable pointed at the DAO instance
52-
private static IUnitAssignmentDAO _dao = SpringContextService.getBean( UnitAssignmentDAO.BEAN_NAME );
52+
private static IUnitAssignmentDAO _dao = CDI.current( ).select( IUnitAssignmentDAO.class ).get( );
5353

5454
/**
5555
* Private constructor

src/java/fr/paris/lutece/plugins/unittree/business/unit/Unit.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
import java.util.HashMap;
3939
import java.util.Map;
4040

41-
import javax.validation.constraints.NotNull;
41+
import jakarta.validation.constraints.NotNull;
4242

4343
/**
4444
*

src/java/fr/paris/lutece/plugins/unittree/business/unit/UnitDAO.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535

3636
import fr.paris.lutece.portal.service.plugin.Plugin;
3737
import fr.paris.lutece.util.sql.DAOUtil;
38+
import jakarta.enterprise.context.ApplicationScoped;
3839

3940
import java.util.ArrayList;
4041
import java.util.List;
@@ -44,6 +45,7 @@
4445
* UnitDAO
4546
*
4647
*/
48+
@ApplicationScoped
4749
public class UnitDAO implements IUnitDAO
4850
{
4951
private static final String SQL_WHERE = " WHERE ";

src/java/fr/paris/lutece/plugins/unittree/business/unit/UnitHome.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
import fr.paris.lutece.plugins.unittree.service.UnitTreePlugin;
3737
import fr.paris.lutece.portal.service.plugin.Plugin;
3838
import fr.paris.lutece.portal.service.plugin.PluginService;
39-
import fr.paris.lutece.portal.service.spring.SpringContextService;
39+
import jakarta.enterprise.inject.spi.CDI;
4040

4141
import java.util.HashSet;
4242
import java.util.List;
@@ -49,9 +49,8 @@
4949
*/
5050
public final class UnitHome
5151
{
52-
private static final String BEAN_UNIT_DAO = "unittree.unitDAO";
5352
private static Plugin _plugin = PluginService.getPlugin( UnitTreePlugin.PLUGIN_NAME );
54-
private static IUnitDAO _dao = SpringContextService.getBean( BEAN_UNIT_DAO );
53+
private static IUnitDAO _dao = CDI.current( ).select( IUnitDAO.class ).get( );
5554

5655
/**
5756
* Private constructor

src/java/fr/paris/lutece/plugins/unittree/resources/unittree_messages.properties

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,7 @@ moveSubTree.labelUnitToMove=Entity to move
129129
moveSubTree.labelNoSuUnit=No sub-entities
130130
moveSubTree.subTreeMoved=The entity has been successfully moved
131131
moveSubTree.cantMoveSubTreeToChild=An entity cannot be moved to one of its children!
132+
moveSubTree.NoParentEntitySelected=You must select a parent entity to be able to move this entity
132133

133134
# moke unit removal listener
134135
moke.unit.removal.listener.error=An error occurred during the deletion of the entity

src/java/fr/paris/lutece/plugins/unittree/resources/unittree_messages_fr.properties

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,7 @@ moveSubTree.labelUnitToMove=Entit\u00e9 \u00e0 d\u00e9placer
129129
moveSubTree.labelNoSuUnit=Aucune sous-entit\u00e9
130130
moveSubTree.subTreeMoved=L'entit\u00e9 a bien \u00e9t\u00e9 d\u00e9plac\u00e9e
131131
moveSubTree.cantMoveSubTreeToChild=Une entit\u00e9 ne peut pas \u00eatre deplac\u00e9e dans un de ses enfants !
132+
moveSubTree.NoParentEntitySelected=Vous devez s\u00e9lectionner une entit\u00e9 parente pour pouvoir d\u00e9placer cette entit\u00e9
132133

133134
# moke unit removal listener
134135
moke.unit.removal.listener.error=Une erreur moke est survenue lors de la suppression de l'entit\u00e9

src/java/fr/paris/lutece/plugins/unittree/service/action/ActionService.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
import fr.paris.lutece.portal.business.user.AdminUser;
3939
import fr.paris.lutece.portal.service.i18n.I18nService;
4040
import fr.paris.lutece.portal.service.rbac.RBACResource;
41+
import jakarta.enterprise.context.ApplicationScoped;
4142

4243
import org.apache.commons.lang3.StringUtils;
4344

@@ -49,6 +50,7 @@
4950
* ActionService
5051
*
5152
*/
53+
@ApplicationScoped
5254
public class ActionService implements IActionService
5355
{
5456
/**

src/java/fr/paris/lutece/plugins/unittree/service/assignment/UnitAssignmentService.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,11 +38,10 @@
3838

3939
import fr.paris.lutece.plugins.unittree.business.assignment.IUnitAssignmentDAO;
4040
import fr.paris.lutece.plugins.unittree.business.assignment.UnitAssignment;
41-
import fr.paris.lutece.plugins.unittree.business.assignment.UnitAssignmentDAO;
4241
import fr.paris.lutece.plugins.unittree.service.UnitTreePlugin;
4342
import fr.paris.lutece.portal.service.plugin.Plugin;
4443
import fr.paris.lutece.portal.service.plugin.PluginService;
45-
import fr.paris.lutece.portal.service.spring.SpringContextService;
44+
import jakarta.enterprise.inject.spi.CDI;
4645

4746
/**
4847
* This class is the entry point for unit assignment. It provides methods for unit assignment.
@@ -53,7 +52,7 @@ public final class UnitAssignmentService
5352
private static final Plugin _plugin = PluginService.getPlugin( UnitTreePlugin.PLUGIN_NAME );
5453

5554
// Static variable pointed at the DAO instance
56-
private static IUnitAssignmentDAO _dao = SpringContextService.getBean( UnitAssignmentDAO.BEAN_NAME );
55+
private static IUnitAssignmentDAO _dao = CDI.current( ).select( IUnitAssignmentDAO.class ).get( );
5756

5857
/**
5958
* Constructor

src/java/fr/paris/lutece/plugins/unittree/service/selection/IConfigurationHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535

3636
import java.util.Locale;
3737

38-
import javax.servlet.http.HttpServletRequest;
38+
import jakarta.servlet.http.HttpServletRequest;
3939

4040
import fr.paris.lutece.plugins.workflowcore.service.task.ITask;
4141

src/java/fr/paris/lutece/plugins/unittree/service/selection/IParametrableConfigurationHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535

3636
import java.util.Locale;
3737

38-
import javax.servlet.http.HttpServletRequest;
38+
import jakarta.servlet.http.HttpServletRequest;
3939

4040
import fr.paris.lutece.plugins.workflowcore.service.task.ITask;
4141

src/java/fr/paris/lutece/plugins/unittree/service/selection/IParametrableUnitSelection.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
*/
3434
package fr.paris.lutece.plugins.unittree.service.selection;
3535

36-
import javax.servlet.http.HttpServletRequest;
36+
import jakarta.servlet.http.HttpServletRequest;
3737

3838
import fr.paris.lutece.plugins.unittree.exception.AssignmentNotPossibleException;
3939
import fr.paris.lutece.plugins.workflowcore.service.task.ITask;

src/java/fr/paris/lutece/plugins/unittree/service/selection/IUnitSelection.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
*/
3434
package fr.paris.lutece.plugins.unittree.service.selection;
3535

36-
import javax.servlet.http.HttpServletRequest;
36+
import jakarta.servlet.http.HttpServletRequest;
3737

3838
import fr.paris.lutece.plugins.unittree.exception.AssignmentNotPossibleException;
3939
import fr.paris.lutece.plugins.workflowcore.service.task.ITask;

src/java/fr/paris/lutece/plugins/unittree/service/unit/IUnitAttributeService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
import fr.paris.lutece.plugins.unittree.business.unit.Unit;
3737
import fr.paris.lutece.plugins.unittree.service.UnitErrorException;
3838

39-
import javax.servlet.http.HttpServletRequest;
39+
import jakarta.servlet.http.HttpServletRequest;
4040

4141
/**
4242
*

0 commit comments

Comments
 (0)