diff --git a/.idea/misc.xml b/.idea/misc.xml
index a29a95187..ba19b51e1 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -13,6 +13,9 @@
+
diff --git a/content-targeting-api/service/com/liferay/content/targeting/service/TrackingActionInstanceLocalService.java b/content-targeting-api/service/com/liferay/content/targeting/service/TrackingActionInstanceLocalService.java
index 134a7b822..708801e92 100644
--- a/content-targeting-api/service/com/liferay/content/targeting/service/TrackingActionInstanceLocalService.java
+++ b/content-targeting-api/service/com/liferay/content/targeting/service/TrackingActionInstanceLocalService.java
@@ -321,6 +321,11 @@ public com.liferay.content.targeting.model.TrackingActionInstance addTrackingAct
throws com.liferay.portal.kernel.exception.PortalException,
com.liferay.portal.kernel.exception.SystemException;
+ @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
+ public com.liferay.content.targeting.model.TrackingActionInstance fetchTrackingActionInstance(
+ long campaignId, java.lang.String alias)
+ throws com.liferay.portal.kernel.exception.SystemException;
+
@Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
public java.util.List getTrackingActionInstances(
long campaignId)
diff --git a/content-targeting-api/service/com/liferay/content/targeting/service/TrackingActionInstanceLocalServiceClp.java b/content-targeting-api/service/com/liferay/content/targeting/service/TrackingActionInstanceLocalServiceClp.java
index cb07deb4b..bf3f3534d 100644
--- a/content-targeting-api/service/com/liferay/content/targeting/service/TrackingActionInstanceLocalServiceClp.java
+++ b/content-targeting-api/service/com/liferay/content/targeting/service/TrackingActionInstanceLocalServiceClp.java
@@ -141,29 +141,33 @@ public TrackingActionInstanceLocalServiceClp(
"com.liferay.portal.service.ServiceContext"
};
- _methodName24 = "getTrackingActionInstances";
+ _methodName24 = "fetchTrackingActionInstance";
- _methodParameterTypes24 = new String[] { "long" };
+ _methodParameterTypes24 = new String[] { "long", "java.lang.String" };
_methodName25 = "getTrackingActionInstances";
- _methodParameterTypes25 = new String[] {
- "long", "java.lang.String", "long", "java.lang.String"
- };
+ _methodParameterTypes25 = new String[] { "long" };
_methodName26 = "getTrackingActionInstances";
_methodParameterTypes26 = new String[] {
+ "long", "java.lang.String", "long", "java.lang.String"
+ };
+
+ _methodName27 = "getTrackingActionInstances";
+
+ _methodParameterTypes27 = new String[] {
"long", "java.lang.String", "java.lang.String"
};
- _methodName27 = "getTrackingActionInstancesCount";
+ _methodName28 = "getTrackingActionInstancesCount";
- _methodParameterTypes27 = new String[] { "long" };
+ _methodParameterTypes28 = new String[] { "long" };
- _methodName28 = "updateTrackingActionInstance";
+ _methodName29 = "updateTrackingActionInstance";
- _methodParameterTypes28 = new String[] {
+ _methodParameterTypes29 = new String[] {
"long", "java.lang.String", "java.lang.String", "long",
"java.lang.String", "java.lang.String", "java.lang.String",
"com.liferay.portal.service.ServiceContext"
@@ -924,6 +928,37 @@ public com.liferay.content.targeting.model.TrackingActionInstance addTrackingAct
return (com.liferay.content.targeting.model.TrackingActionInstance)ClpSerializer.translateOutput(returnObj);
}
+ @Override
+ public com.liferay.content.targeting.model.TrackingActionInstance fetchTrackingActionInstance(
+ long campaignId, java.lang.String alias)
+ throws com.liferay.portal.kernel.exception.SystemException {
+ Object returnObj = null;
+
+ try {
+ returnObj = _invokableLocalService.invokeMethod(_methodName24,
+ _methodParameterTypes24,
+ new Object[] { campaignId, ClpSerializer.translateInput(
+ alias) });
+ }
+ catch (Throwable t) {
+ t = ClpSerializer.translateThrowable(t);
+
+ if (t instanceof com.liferay.portal.kernel.exception.SystemException) {
+ throw (com.liferay.portal.kernel.exception.SystemException)t;
+ }
+
+ if (t instanceof RuntimeException) {
+ throw (RuntimeException)t;
+ }
+ else {
+ throw new RuntimeException(t.getClass().getName() +
+ " is not a valid exception");
+ }
+ }
+
+ return (com.liferay.content.targeting.model.TrackingActionInstance)ClpSerializer.translateOutput(returnObj);
+ }
+
@Override
public java.util.List getTrackingActionInstances(
long campaignId)
@@ -931,8 +966,8 @@ public java.util.List getTrackingActionInstances(
long campaignId)
throws com.liferay.portal.kernel.exception.SystemException {
diff --git a/content-targeting-api/service/com/liferay/content/targeting/service/TrackingActionInstanceLocalServiceWrapper.java b/content-targeting-api/service/com/liferay/content/targeting/service/TrackingActionInstanceLocalServiceWrapper.java
index 7cb113d9b..022c975b6 100644
--- a/content-targeting-api/service/com/liferay/content/targeting/service/TrackingActionInstanceLocalServiceWrapper.java
+++ b/content-targeting-api/service/com/liferay/content/targeting/service/TrackingActionInstanceLocalServiceWrapper.java
@@ -374,6 +374,14 @@ public com.liferay.content.targeting.model.TrackingActionInstance addTrackingAct
referrerClassPK, elementId, eventType, typeSettings, serviceContext);
}
+ @Override
+ public com.liferay.content.targeting.model.TrackingActionInstance fetchTrackingActionInstance(
+ long campaignId, java.lang.String alias)
+ throws com.liferay.portal.kernel.exception.SystemException {
+ return _trackingActionInstanceLocalService.fetchTrackingActionInstance(campaignId,
+ alias);
+ }
+
@Override
public java.util.List getTrackingActionInstances(
long campaignId)
diff --git a/content-targeting-api/service/com/liferay/content/targeting/service/TrackingActionInstanceService.java b/content-targeting-api/service/com/liferay/content/targeting/service/TrackingActionInstanceService.java
index 2ac2e8b96..4773d2e81 100644
--- a/content-targeting-api/service/com/liferay/content/targeting/service/TrackingActionInstanceService.java
+++ b/content-targeting-api/service/com/liferay/content/targeting/service/TrackingActionInstanceService.java
@@ -85,6 +85,10 @@ public com.liferay.content.targeting.model.TrackingActionInstance deleteTracking
throws com.liferay.portal.kernel.exception.PortalException,
com.liferay.portal.kernel.exception.SystemException;
+ @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
+ public com.liferay.content.targeting.model.TrackingActionInstance fetchTrackingActionInstance(
+ long campaignId, java.lang.String alias) throws java.lang.Exception;
+
@Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
public java.util.List getTrackingActionInstances(
long campaignId)
diff --git a/content-targeting-api/service/com/liferay/content/targeting/service/TrackingActionInstanceServiceClp.java b/content-targeting-api/service/com/liferay/content/targeting/service/TrackingActionInstanceServiceClp.java
index d0160a094..bda936718 100644
--- a/content-targeting-api/service/com/liferay/content/targeting/service/TrackingActionInstanceServiceClp.java
+++ b/content-targeting-api/service/com/liferay/content/targeting/service/TrackingActionInstanceServiceClp.java
@@ -46,17 +46,21 @@ public TrackingActionInstanceServiceClp(InvokableService invokableService) {
_methodParameterTypes4 = new String[] { "long" };
- _methodName5 = "getTrackingActionInstances";
+ _methodName5 = "fetchTrackingActionInstance";
- _methodParameterTypes5 = new String[] { "long" };
+ _methodParameterTypes5 = new String[] { "long", "java.lang.String" };
- _methodName6 = "getTrackingActionInstancesCount";
+ _methodName6 = "getTrackingActionInstances";
_methodParameterTypes6 = new String[] { "long" };
- _methodName7 = "updateTrackingActionInstance";
+ _methodName7 = "getTrackingActionInstancesCount";
- _methodParameterTypes7 = new String[] {
+ _methodParameterTypes7 = new String[] { "long" };
+
+ _methodName8 = "updateTrackingActionInstance";
+
+ _methodParameterTypes8 = new String[] {
"long", "java.lang.String", "java.lang.String", "long",
"java.lang.String", "java.lang.String", "java.lang.String",
"com.liferay.portal.service.ServiceContext"
@@ -207,6 +211,36 @@ public com.liferay.content.targeting.model.TrackingActionInstance deleteTracking
return (com.liferay.content.targeting.model.TrackingActionInstance)ClpSerializer.translateOutput(returnObj);
}
+ @Override
+ public com.liferay.content.targeting.model.TrackingActionInstance fetchTrackingActionInstance(
+ long campaignId, java.lang.String alias) throws java.lang.Exception {
+ Object returnObj = null;
+
+ try {
+ returnObj = _invokableService.invokeMethod(_methodName5,
+ _methodParameterTypes5,
+ new Object[] { campaignId, ClpSerializer.translateInput(
+ alias) });
+ }
+ catch (Throwable t) {
+ t = ClpSerializer.translateThrowable(t);
+
+ if (t instanceof java.lang.Exception) {
+ throw (java.lang.Exception)t;
+ }
+
+ if (t instanceof RuntimeException) {
+ throw (RuntimeException)t;
+ }
+ else {
+ throw new RuntimeException(t.getClass().getName() +
+ " is not a valid exception");
+ }
+ }
+
+ return (com.liferay.content.targeting.model.TrackingActionInstance)ClpSerializer.translateOutput(returnObj);
+ }
+
@Override
public java.util.List getTrackingActionInstances(
long campaignId)
@@ -214,8 +248,8 @@ public java.util.List getTrackingActionInstances(
long campaignId)
throws com.liferay.portal.kernel.exception.SystemException {
diff --git a/content-targeting-api/service/com/liferay/content/targeting/service/TrackingActionInstanceServiceWrapper.java b/content-targeting-api/service/com/liferay/content/targeting/service/TrackingActionInstanceServiceWrapper.java
index 0329cdabd..bc9340516 100644
--- a/content-targeting-api/service/com/liferay/content/targeting/service/TrackingActionInstanceServiceWrapper.java
+++ b/content-targeting-api/service/com/liferay/content/targeting/service/TrackingActionInstanceServiceWrapper.java
@@ -86,6 +86,13 @@ public com.liferay.content.targeting.model.TrackingActionInstance deleteTracking
return _trackingActionInstanceService.deleteTrackingActionInstance(trackingActionInstanceId);
}
+ @Override
+ public com.liferay.content.targeting.model.TrackingActionInstance fetchTrackingActionInstance(
+ long campaignId, java.lang.String alias) throws java.lang.Exception {
+ return _trackingActionInstanceService.fetchTrackingActionInstance(campaignId,
+ alias);
+ }
+
@Override
public java.util.List getTrackingActionInstances(
long campaignId)
diff --git a/content-targeting-api/service/com/liferay/content/targeting/service/persistence/TrackingActionInstancePersistence.java b/content-targeting-api/service/com/liferay/content/targeting/service/persistence/TrackingActionInstancePersistence.java
index db1056e08..2906e6f28 100644
--- a/content-targeting-api/service/com/liferay/content/targeting/service/persistence/TrackingActionInstancePersistence.java
+++ b/content-targeting-api/service/com/liferay/content/targeting/service/persistence/TrackingActionInstancePersistence.java
@@ -662,6 +662,69 @@ public void removeByCampaignId(long campaignId)
public int countByCampaignId(long campaignId)
throws com.liferay.portal.kernel.exception.SystemException;
+ /**
+ * Returns the tracking action instance where campaignId = ? and alias = ? or throws a {@link com.liferay.content.targeting.NoSuchTrackingActionInstanceException} if it could not be found.
+ *
+ * @param campaignId the campaign ID
+ * @param alias the alias
+ * @return the matching tracking action instance
+ * @throws com.liferay.content.targeting.NoSuchTrackingActionInstanceException if a matching tracking action instance could not be found
+ * @throws SystemException if a system exception occurred
+ */
+ public com.liferay.content.targeting.model.TrackingActionInstance findByC_A(
+ long campaignId, java.lang.String alias)
+ throws com.liferay.content.targeting.NoSuchTrackingActionInstanceException,
+ com.liferay.portal.kernel.exception.SystemException;
+
+ /**
+ * Returns the tracking action instance where campaignId = ? and alias = ? or returns null if it could not be found. Uses the finder cache.
+ *
+ * @param campaignId the campaign ID
+ * @param alias the alias
+ * @return the matching tracking action instance, or null if a matching tracking action instance could not be found
+ * @throws SystemException if a system exception occurred
+ */
+ public com.liferay.content.targeting.model.TrackingActionInstance fetchByC_A(
+ long campaignId, java.lang.String alias)
+ throws com.liferay.portal.kernel.exception.SystemException;
+
+ /**
+ * Returns the tracking action instance where campaignId = ? and alias = ? or returns null if it could not be found, optionally using the finder cache.
+ *
+ * @param campaignId the campaign ID
+ * @param alias the alias
+ * @param retrieveFromCache whether to use the finder cache
+ * @return the matching tracking action instance, or null if a matching tracking action instance could not be found
+ * @throws SystemException if a system exception occurred
+ */
+ public com.liferay.content.targeting.model.TrackingActionInstance fetchByC_A(
+ long campaignId, java.lang.String alias, boolean retrieveFromCache)
+ throws com.liferay.portal.kernel.exception.SystemException;
+
+ /**
+ * Removes the tracking action instance where campaignId = ? and alias = ? from the database.
+ *
+ * @param campaignId the campaign ID
+ * @param alias the alias
+ * @return the tracking action instance that was removed
+ * @throws SystemException if a system exception occurred
+ */
+ public com.liferay.content.targeting.model.TrackingActionInstance removeByC_A(
+ long campaignId, java.lang.String alias)
+ throws com.liferay.content.targeting.NoSuchTrackingActionInstanceException,
+ com.liferay.portal.kernel.exception.SystemException;
+
+ /**
+ * Returns the number of tracking action instances where campaignId = ? and alias = ?.
+ *
+ * @param campaignId the campaign ID
+ * @param alias the alias
+ * @return the number of matching tracking action instances
+ * @throws SystemException if a system exception occurred
+ */
+ public int countByC_A(long campaignId, java.lang.String alias)
+ throws com.liferay.portal.kernel.exception.SystemException;
+
/**
* Returns all the tracking action instances where campaignId = ? and elementId = ? and eventType = ?.
*
diff --git a/content-targeting-api/service/com/liferay/content/targeting/service/persistence/TrackingActionInstanceUtil.java b/content-targeting-api/service/com/liferay/content/targeting/service/persistence/TrackingActionInstanceUtil.java
index 95ce945ce..6a71a3579 100644
--- a/content-targeting-api/service/com/liferay/content/targeting/service/persistence/TrackingActionInstanceUtil.java
+++ b/content-targeting-api/service/com/liferay/content/targeting/service/persistence/TrackingActionInstanceUtil.java
@@ -846,6 +846,79 @@ public static int countByCampaignId(long campaignId)
return getPersistence().countByCampaignId(campaignId);
}
+ /**
+ * Returns the tracking action instance where campaignId = ? and alias = ? or throws a {@link com.liferay.content.targeting.NoSuchTrackingActionInstanceException} if it could not be found.
+ *
+ * @param campaignId the campaign ID
+ * @param alias the alias
+ * @return the matching tracking action instance
+ * @throws com.liferay.content.targeting.NoSuchTrackingActionInstanceException if a matching tracking action instance could not be found
+ * @throws SystemException if a system exception occurred
+ */
+ public static com.liferay.content.targeting.model.TrackingActionInstance findByC_A(
+ long campaignId, java.lang.String alias)
+ throws com.liferay.content.targeting.NoSuchTrackingActionInstanceException,
+ com.liferay.portal.kernel.exception.SystemException {
+ return getPersistence().findByC_A(campaignId, alias);
+ }
+
+ /**
+ * Returns the tracking action instance where campaignId = ? and alias = ? or returns null if it could not be found. Uses the finder cache.
+ *
+ * @param campaignId the campaign ID
+ * @param alias the alias
+ * @return the matching tracking action instance, or null if a matching tracking action instance could not be found
+ * @throws SystemException if a system exception occurred
+ */
+ public static com.liferay.content.targeting.model.TrackingActionInstance fetchByC_A(
+ long campaignId, java.lang.String alias)
+ throws com.liferay.portal.kernel.exception.SystemException {
+ return getPersistence().fetchByC_A(campaignId, alias);
+ }
+
+ /**
+ * Returns the tracking action instance where campaignId = ? and alias = ? or returns null if it could not be found, optionally using the finder cache.
+ *
+ * @param campaignId the campaign ID
+ * @param alias the alias
+ * @param retrieveFromCache whether to use the finder cache
+ * @return the matching tracking action instance, or null if a matching tracking action instance could not be found
+ * @throws SystemException if a system exception occurred
+ */
+ public static com.liferay.content.targeting.model.TrackingActionInstance fetchByC_A(
+ long campaignId, java.lang.String alias, boolean retrieveFromCache)
+ throws com.liferay.portal.kernel.exception.SystemException {
+ return getPersistence().fetchByC_A(campaignId, alias, retrieveFromCache);
+ }
+
+ /**
+ * Removes the tracking action instance where campaignId = ? and alias = ? from the database.
+ *
+ * @param campaignId the campaign ID
+ * @param alias the alias
+ * @return the tracking action instance that was removed
+ * @throws SystemException if a system exception occurred
+ */
+ public static com.liferay.content.targeting.model.TrackingActionInstance removeByC_A(
+ long campaignId, java.lang.String alias)
+ throws com.liferay.content.targeting.NoSuchTrackingActionInstanceException,
+ com.liferay.portal.kernel.exception.SystemException {
+ return getPersistence().removeByC_A(campaignId, alias);
+ }
+
+ /**
+ * Returns the number of tracking action instances where campaignId = ? and alias = ?.
+ *
+ * @param campaignId the campaign ID
+ * @param alias the alias
+ * @return the number of matching tracking action instances
+ * @throws SystemException if a system exception occurred
+ */
+ public static int countByC_A(long campaignId, java.lang.String alias)
+ throws com.liferay.portal.kernel.exception.SystemException {
+ return getPersistence().countByC_A(campaignId, alias);
+ }
+
/**
* Returns all the tracking action instances where campaignId = ? and elementId = ? and eventType = ?.
*
diff --git a/content-targeting-api/sql/indexes.properties b/content-targeting-api/sql/indexes.properties
index 26d6ebf02..4801e6673 100644
--- a/content-targeting-api/sql/indexes.properties
+++ b/content-targeting-api/sql/indexes.properties
@@ -16,6 +16,7 @@ IX_29BE548E=CT_RuleInstance.UserSegmentId
IX_74DA7D2F=CT_RuleInstance.Uuid
IX_E3BCC399=CT_RuleInstance.Uuid_C
+IX_FE48A6B8=CT_TrackingActionInstance.C_A
IX_8DDDDC52=CT_TrackingActionInstance.C_E_E
IX_A96A17F=CT_TrackingActionInstance.C_R_R_E
IX_E9845BF5=CT_TrackingActionInstance.CampaignId
diff --git a/content-targeting-api/sql/indexes.sql b/content-targeting-api/sql/indexes.sql
index be68e9746..a5a01bf15 100644
--- a/content-targeting-api/sql/indexes.sql
+++ b/content-targeting-api/sql/indexes.sql
@@ -17,6 +17,7 @@ create index IX_E3BCC399 on CT_RuleInstance (uuid_, companyId);
create unique index IX_B8A35C5B on CT_RuleInstance (uuid_, groupId);
create index IX_E9845BF5 on CT_TrackingActionInstance (campaignId);
+create unique index IX_FE48A6B8 on CT_TrackingActionInstance (campaignId, alias_);
create index IX_8DDDDC52 on CT_TrackingActionInstance (campaignId, elementId, eventType);
create index IX_A96A17F on CT_TrackingActionInstance (campaignId, referrerClassName, referrerClassPK, eventType);
create index IX_8EAC9E74 on CT_TrackingActionInstance (groupId);
diff --git a/content-targeting-api/src/com/liferay/content/targeting/model/impl/TrackingActionInstanceModelImpl.java b/content-targeting-api/src/com/liferay/content/targeting/model/impl/TrackingActionInstanceModelImpl.java
index eb96ac1be..338e14f96 100644
--- a/content-targeting-api/src/com/liferay/content/targeting/model/impl/TrackingActionInstanceModelImpl.java
+++ b/content-targeting-api/src/com/liferay/content/targeting/model/impl/TrackingActionInstanceModelImpl.java
@@ -100,15 +100,16 @@ public class TrackingActionInstanceModelImpl extends BaseModelImpl