diff --git a/services/pom.xml b/services/pom.xml
index 0c48b240f..cecbd11d3 100644
--- a/services/pom.xml
+++ b/services/pom.xml
@@ -136,6 +136,7 @@
**/*.gif
**/*.jpg
**/*.png
+ **/*.idx
diff --git a/services/src/main/java/org/exoplatform/webconferencing/domain/CallEntity.java b/services/src/main/java/org/exoplatform/webconferencing/domain/CallEntity.java
index 37887e4ac..f263bcad6 100644
--- a/services/src/main/java/org/exoplatform/webconferencing/domain/CallEntity.java
+++ b/services/src/main/java/org/exoplatform/webconferencing/domain/CallEntity.java
@@ -26,33 +26,21 @@
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Id;
-import jakarta.persistence.NamedQueries;
import jakarta.persistence.NamedQuery;
import jakarta.persistence.Table;
-import org.exoplatform.commons.api.persistence.ExoEntity;
-import org.exoplatform.webconferencing.WebConferencingService;
-
-/**
- * Created by The eXo Platform SAS.
- *
- * @author Peter Nedonosko
- * @version $Id: CallEntity.java 00000 Dec 22, 2017 pnedonosko $
- */
@Entity(name = "WebConfCall")
-@ExoEntity
@Table(name = "WBC_CALLS")
-@NamedQueries({
- @NamedQuery(name = "WebConfCall.findGroupCallByOwnerId", // XXX skip OWNER_TYPE_SPACEEVENT to do get only spaces and user
- query = "SELECT c FROM WebConfCall c WHERE c.isGroup = true AND c.ownerType != '" + OWNER_TYPE_SPACEEVENT + "' AND c.ownerId = :ownerId"),
- @NamedQuery(name = "WebConfCall.findGroupCallByOwnerTypeId",
- query = "SELECT c FROM WebConfCall c WHERE c.isGroup = true AND c.ownerType = :ownerType AND c.ownerId = :ownerId ORDER BY c.lastDate"), // TODO order by startDate
- @NamedQuery(name = "WebConfCall.findUserGroupCalls",
- query = "SELECT c FROM WebConfCall c, WebConfParticipant p WHERE c.id = p.callId AND p.id = :userId ORDER BY c.lastDate"),
- @NamedQuery(name = "WebConfCall.deleteOwnerOlderCalls",
- query = "DELETE FROM WebConfCall WHERE ownerType = :ownerType AND lastDate <= :expiredDate"),
- @NamedQuery(name = "WebConfCall.findGroupCallsByState",
- query = "SELECT c FROM WebConfCall c WHERE c.state = :state AND c.ownerType != '" + OWNER_TYPE_USER + "'")})
+@NamedQuery(name = "WebConfCall.findGroupCallByOwnerId", // XXX skip OWNER_TYPE_SPACEEVENT to do get only spaces and user
+ query = "SELECT c FROM WebConfCall c WHERE c.isGroup = true AND c.ownerType != '" + OWNER_TYPE_SPACEEVENT + "' AND c.ownerId = :ownerId")
+@NamedQuery(name = "WebConfCall.findGroupCallByOwnerTypeId",
+ query = "SELECT c FROM WebConfCall c WHERE c.isGroup = true AND c.ownerType = :ownerType AND c.ownerId = :ownerId ORDER BY c.lastDate") // TODO order by startDate
+@NamedQuery(name = "WebConfCall.findUserGroupCalls",
+ query = "SELECT c FROM WebConfCall c, WebConfParticipant p WHERE c.id = p.callId AND p.id = :userId ORDER BY c.lastDate")
+@NamedQuery(name = "WebConfCall.deleteOwnerOlderCalls",
+ query = "DELETE FROM WebConfCall WHERE ownerType = :ownerType AND lastDate <= :expiredDate")
+@NamedQuery(name = "WebConfCall.findGroupCallsByState",
+ query = "SELECT c FROM WebConfCall c WHERE c.state = :state AND c.ownerType != '" + OWNER_TYPE_USER + "'")
public class CallEntity {
/** The id. */
@@ -104,12 +92,6 @@ public class CallEntity {
@Column(name = "IS_USER")
protected boolean isUser;
- /**
- * Instantiates a new call entity.
- */
- public CallEntity() {
- }
-
/**
* Gets the id.
*
diff --git a/services/src/main/java/org/exoplatform/webconferencing/domain/InviteEntity.java b/services/src/main/java/org/exoplatform/webconferencing/domain/InviteEntity.java
index 155be1122..0f3822fb1 100644
--- a/services/src/main/java/org/exoplatform/webconferencing/domain/InviteEntity.java
+++ b/services/src/main/java/org/exoplatform/webconferencing/domain/InviteEntity.java
@@ -4,22 +4,16 @@
import jakarta.persistence.Entity;
import jakarta.persistence.Id;
import jakarta.persistence.IdClass;
-import jakarta.persistence.NamedQueries;
import jakarta.persistence.NamedQuery;
import jakarta.persistence.Table;
-import org.exoplatform.commons.api.persistence.ExoEntity;
-
/**
* The Class InviteEntity.
*/
@Entity(name = "WebConfInvite")
-@ExoEntity
@Table(name = "WBC_INVITES")
-@NamedQueries({
- @NamedQuery(name = "WebConfInvite.deleteCallInvites", query = "DELETE FROM WebConfInvite WHERE callId = :callId"),
- @NamedQuery(name = "WebConfInvite.findCallInvites", query = "SELECT i FROM WebConfInvite i WHERE i.callId = :callId ORDER BY i.identity")
-})
+@NamedQuery(name = "WebConfInvite.deleteCallInvites", query = "DELETE FROM WebConfInvite WHERE callId = :callId")
+@NamedQuery(name = "WebConfInvite.findCallInvites", query = "SELECT i FROM WebConfInvite i WHERE i.callId = :callId ORDER BY i.identity")
@IdClass(InviteId.class)
public class InviteEntity {
diff --git a/services/src/main/java/org/exoplatform/webconferencing/domain/InviteId.java b/services/src/main/java/org/exoplatform/webconferencing/domain/InviteId.java
index 4d9e2d9fc..3b25907ae 100644
--- a/services/src/main/java/org/exoplatform/webconferencing/domain/InviteId.java
+++ b/services/src/main/java/org/exoplatform/webconferencing/domain/InviteId.java
@@ -91,11 +91,9 @@ public int hashCode() {
*/
@Override
public boolean equals(Object obj) {
- if (obj != null) {
- if (InviteId.class.isAssignableFrom(obj.getClass())) {
- InviteId other = InviteId.class.cast(obj);
- return callId.equals(other.getCallId()) && identity.equals(other.getIdentity());
- }
+ if (obj != null && InviteId.class.isAssignableFrom(obj.getClass())) {
+ InviteId other = InviteId.class.cast(obj);
+ return callId.equals(other.getCallId()) && identity.equals(other.getIdentity());
}
return false;
}
diff --git a/services/src/main/java/org/exoplatform/webconferencing/domain/OriginEntity.java b/services/src/main/java/org/exoplatform/webconferencing/domain/OriginEntity.java
index 29ccdceed..f01671106 100644
--- a/services/src/main/java/org/exoplatform/webconferencing/domain/OriginEntity.java
+++ b/services/src/main/java/org/exoplatform/webconferencing/domain/OriginEntity.java
@@ -22,28 +22,18 @@
import jakarta.persistence.Entity;
import jakarta.persistence.Id;
import jakarta.persistence.IdClass;
-import jakarta.persistence.NamedQueries;
import jakarta.persistence.NamedQuery;
import jakarta.persistence.Table;
-import org.exoplatform.commons.api.persistence.ExoEntity;
-
/**
* Call origins (from where participants are from).
- *
- * Created by The eXo Platform SAS.
- *
- * @author Peter Nedonosko
- * @version $Id: OriginEntity.java 00000 Dec 18, 2020 pnedonosko $
*/
@Entity(name = "WebConfOrigin")
-@ExoEntity
@Table(name = "WBC_ORIGINS")
@IdClass(OriginId.class)
-@NamedQueries({
- @NamedQuery(name = "WebConfOrigin.findCallOrigins",
- query = "SELECT o FROM WebConfOrigin o WHERE o.callId = :callId AND o.type = :type ORDER BY o.type, o.state"),
- @NamedQuery(name = "WebConfOrigin.deleteCallOrigins", query = "DELETE FROM WebConfOrigin WHERE callId = :callId") })
+@NamedQuery(name = "WebConfOrigin.findCallOrigins",
+ query = "SELECT o FROM WebConfOrigin o WHERE o.callId = :callId AND o.type = :type ORDER BY o.type, o.state")
+@NamedQuery(name = "WebConfOrigin.deleteCallOrigins", query = "DELETE FROM WebConfOrigin WHERE callId = :callId")
public class OriginEntity {
/** The id. */
@@ -64,12 +54,6 @@ public class OriginEntity {
@Column(name = "STATE")
protected String state;
- /**
- * Instantiates a new origin entity.
- */
- public OriginEntity() {
- }
-
/**
* Gets the id.
*
diff --git a/services/src/main/java/org/exoplatform/webconferencing/domain/OriginId.java b/services/src/main/java/org/exoplatform/webconferencing/domain/OriginId.java
index ce7047a94..af5c7a142 100644
--- a/services/src/main/java/org/exoplatform/webconferencing/domain/OriginId.java
+++ b/services/src/main/java/org/exoplatform/webconferencing/domain/OriginId.java
@@ -28,6 +28,8 @@
*/
public class OriginId implements Serializable {
+ private static final long serialVersionUID = -6786134308978492369L;
+
/** The id. */
protected String id;
@@ -61,11 +63,9 @@ public OriginId(String id, String callId, String type) {
* {@inheritDoc}
*/
public boolean equals(Object o) {
- if (o != null) {
- if (OriginId.class.isAssignableFrom(o.getClass())) {
- OriginId other = OriginId.class.cast(o);
- return id.equals(other.getId()) && callId.equals(other.getCallId()) && type.equals(other.getType());
- }
+ if (o != null && OriginId.class.isAssignableFrom(o.getClass())) {
+ OriginId other = OriginId.class.cast(o);
+ return id.equals(other.getId()) && callId.equals(other.getCallId()) && type.equals(other.getType());
}
return false;
}
diff --git a/services/src/main/java/org/exoplatform/webconferencing/domain/ParticipantEntity.java b/services/src/main/java/org/exoplatform/webconferencing/domain/ParticipantEntity.java
index dbeac6a45..4f3925c20 100644
--- a/services/src/main/java/org/exoplatform/webconferencing/domain/ParticipantEntity.java
+++ b/services/src/main/java/org/exoplatform/webconferencing/domain/ParticipantEntity.java
@@ -22,26 +22,18 @@
import jakarta.persistence.Entity;
import jakarta.persistence.Id;
import jakarta.persistence.IdClass;
-import jakarta.persistence.NamedQueries;
import jakarta.persistence.NamedQuery;
import jakarta.persistence.Table;
-import org.exoplatform.commons.api.persistence.ExoEntity;
-
/**
* Created by The eXo Platform SAS.
- *
- * @author Peter Nedonosko
- * @version $Id: ParticipantEntity.java 00000 Dec 22, 2017 pnedonosko $
*/
@Entity(name = "WebConfParticipant")
-@ExoEntity
@Table(name = "WBC_PARTICIPANTS")
@IdClass(ParticipantId.class)
-@NamedQueries({
- @NamedQuery(name = "WebConfCall.findCallParts",
- query = "SELECT p FROM WebConfParticipant p WHERE p.callId = :callId ORDER BY p.state, p.type"),
- @NamedQuery(name = "WebConfCall.deleteCallParts", query = "DELETE FROM WebConfParticipant WHERE callId = :callId") })
+@NamedQuery(name = "WebConfCall.findCallParts",
+ query = "SELECT p FROM WebConfParticipant p WHERE p.callId = :callId ORDER BY p.state, p.type")
+@NamedQuery(name = "WebConfCall.deleteCallParts", query = "DELETE FROM WebConfParticipant WHERE callId = :callId")
public class ParticipantEntity {
/** The id. */
@@ -66,12 +58,6 @@ public class ParticipantEntity {
@Column(name = "CLIENT_ID")
protected String clientId;
- /**
- * Instantiates a new participant entity.
- */
- public ParticipantEntity() {
- }
-
/**
* Gets the id.
*
diff --git a/services/src/main/java/org/exoplatform/webconferencing/domain/ParticipantId.java b/services/src/main/java/org/exoplatform/webconferencing/domain/ParticipantId.java
index b725d225a..ef3bc17e1 100644
--- a/services/src/main/java/org/exoplatform/webconferencing/domain/ParticipantId.java
+++ b/services/src/main/java/org/exoplatform/webconferencing/domain/ParticipantId.java
@@ -28,6 +28,8 @@
*/
public class ParticipantId implements Serializable {
+ private static final long serialVersionUID = 3670760662832572112L;
+
/** The id. */
protected String id;
@@ -56,11 +58,9 @@ public ParticipantId(String id, String callId) {
* {@inheritDoc}
*/
public boolean equals(Object o) {
- if (o != null) {
- if (ParticipantId.class.isAssignableFrom(o.getClass())) {
- ParticipantId other = ParticipantId.class.cast(o);
- return id.equals(other.getId()) && callId.equals(other.getCallId());
- }
+ if (o != null && ParticipantId.class.isAssignableFrom(o.getClass())) {
+ ParticipantId other = ParticipantId.class.cast(o);
+ return id.equals(other.getId()) && callId.equals(other.getCallId());
}
return false;
}
diff --git a/services/src/main/resources/jpa-entities.idx b/services/src/main/resources/jpa-entities.idx
new file mode 100644
index 000000000..f31ad0d01
--- /dev/null
+++ b/services/src/main/resources/jpa-entities.idx
@@ -0,0 +1,4 @@
+org.exoplatform.webconferencing.domain.CallEntity
+org.exoplatform.webconferencing.domain.InviteEntity
+org.exoplatform.webconferencing.domain.OriginEntity
+org.exoplatform.webconferencing.domain.ParticipantEntity
diff --git a/webapp/pom.xml b/webapp/pom.xml
index 99bd17388..d58868105 100644
--- a/webapp/pom.xml
+++ b/webapp/pom.xml
@@ -148,7 +148,7 @@
org.apache.maven.plugins
maven-war-plugin
- **/*.less,**/*.vue,css/lib/*,vue-apps/**,js/mock/**/*,**-dev.*
+ WEB-INF/lib/**,**/*.less,**/*.vue,css/lib/*,vue-apps/**,js/mock/**/*,**-dev.*
diff --git a/webapp/src/main/java/org/exoplatform/webconferencing/WebConferencingApplication.java b/webapp/src/main/java/org/exoplatform/webconferencing/WebConferencingApplication.java
index c354c280e..dfaa0c518 100644
--- a/webapp/src/main/java/org/exoplatform/webconferencing/WebConferencingApplication.java
+++ b/webapp/src/main/java/org/exoplatform/webconferencing/WebConferencingApplication.java
@@ -17,7 +17,7 @@
package org.exoplatform.webconferencing;
import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration;
+import org.springframework.boot.liquibase.autoconfigure.LiquibaseAutoConfiguration;
import org.springframework.context.annotation.PropertySource;
import io.meeds.spring.AvailableIntegration;
@@ -31,9 +31,9 @@
* Application Center badge means contributing a Spring bean, and a bean needs a
* context to live in. Extending {@link PortalApplicationContextInitializer}
* registers this WAR's context with the Kernel before the portal container
- * boots, so beans of this add-on and of the platform become mutually
- * injectable — which is how {@code VisioApplicationBadgePlugin} can
- * {@code @Autowired} the Kernel-side {@link WebConferencingService}.
+ * boots, so beans of this add-on and of the platform become mutually injectable
+ * — which is how {@code VisioApplicationBadgePlugin} can {@code @Autowired} the
+ * Kernel-side {@link WebConferencingService}.
*
* The scan is deliberately narrow. Only {@link #MODULE_NAME} is scanned, and
* every class currently shipped under that package by this add-on, by
@@ -65,13 +65,19 @@
* The JPA auto-configuration is deliberately not excluded, even though
* this add-on owns no Spring-managed entity. Removing it was tried and broke
* the boot differently: the platform modules scanned above expect an
- * {@code entityManagerFactory} to exist ({@code jpaSharedEM_entityManagerFactory}
- * resolves against it), so denying them one merely swaps a Liquibase failure
- * for a missing-bean one. The add-on continues to manage its own schema through
- * the Kernel regardless; the factory simply goes unused here.
+ * {@code entityManagerFactory} to exist
+ * ({@code jpaSharedEM_entityManagerFactory} resolves against it), so denying
+ * them one merely swaps a Liquibase failure for a missing-bean one. The add-on
+ * continues to manage its own schema through the Kernel regardless; the factory
+ * simply goes unused here.
*/
-@SpringBootApplication(scanBasePackages = { WebConferencingApplication.MODULE_NAME, AvailableIntegration.KERNEL_MODULE,
- AvailableIntegration.WEB_MODULE }, exclude = { LiquibaseAutoConfiguration.class })
+@SpringBootApplication(scanBasePackages = {
+ WebConferencingApplication.MODULE_NAME,
+ AvailableIntegration.KERNEL_MODULE,
+ AvailableIntegration.WEB_MODULE
+}, exclude = {
+ LiquibaseAutoConfiguration.class,
+})
@PropertySource("classpath:application.properties")
@PropertySource("classpath:application-common.properties")
public class WebConferencingApplication extends PortalApplicationContextInitializer {