revert-70aa11f8
hasuniea 9 years ago
commit 5595e14b33

@ -28,6 +28,8 @@ public class EmailConfigurations {
private int maxNumOfThread; private int maxNumOfThread;
private int keepAliveTime; private int keepAliveTime;
private int threadQueueCapacity; private int threadQueueCapacity;
private String lBHostPortPrefix;
private String enrollmentContextPath;
@XmlElement(name = "minimumThread", required = true) @XmlElement(name = "minimumThread", required = true)
public int getMinNumOfThread() { public int getMinNumOfThread() {
@ -62,4 +64,22 @@ public class EmailConfigurations {
public void setThreadQueueCapacity(int threadQueueCapacity) { public void setThreadQueueCapacity(int threadQueueCapacity) {
this.threadQueueCapacity = threadQueueCapacity; this.threadQueueCapacity = threadQueueCapacity;
} }
@XmlElement(name = "LBHostPortPrefix", required = true)
public String getlBHostPortPrefix() {
return lBHostPortPrefix;
}
public void setlBHostPortPrefix(String lBHostPortPrefix) {
this.lBHostPortPrefix = lBHostPortPrefix;
}
@XmlElement(name = "enrollmentContextPath", required = true)
public String getEnrollmentContextPath() {
return enrollmentContextPath;
}
public void setEnrollmentContextPath(String enrollmentContextPath) {
this.enrollmentContextPath = enrollmentContextPath;
}
} }

@ -29,6 +29,7 @@ import org.wso2.carbon.device.mgt.common.operation.mgt.OperationManagementExcept
import org.wso2.carbon.device.mgt.common.spi.DeviceManagementService; import org.wso2.carbon.device.mgt.common.spi.DeviceManagementService;
import org.wso2.carbon.device.mgt.core.DeviceManagementPluginRepository; import org.wso2.carbon.device.mgt.core.DeviceManagementPluginRepository;
import org.wso2.carbon.device.mgt.core.config.DeviceConfigurationManager; import org.wso2.carbon.device.mgt.core.config.DeviceConfigurationManager;
import org.wso2.carbon.device.mgt.core.config.email.EmailConfigurations;
import org.wso2.carbon.device.mgt.core.config.email.NotificationMessages; import org.wso2.carbon.device.mgt.core.config.email.NotificationMessages;
import org.wso2.carbon.device.mgt.core.dao.*; import org.wso2.carbon.device.mgt.core.dao.*;
import org.wso2.carbon.device.mgt.core.dto.DeviceType; import org.wso2.carbon.device.mgt.core.dto.DeviceType;
@ -494,6 +495,13 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv
StringBuilder messageBuilder = new StringBuilder(); StringBuilder messageBuilder = new StringBuilder();
try { try {
// Reading the download url from the cdm-config.xml file
EmailConfigurations emailConfig =
DeviceConfigurationManager.getInstance().getDeviceManagementConfig().
getDeviceManagementConfigRepository().getEmailConfigurations();
emailMessageProperties.setEnrolmentUrl(emailConfig.getlBHostPortPrefix()+ emailConfig.getEnrollmentContextPath());
messageHeader = messageHeader.replaceAll("\\{" + EmailConstants.EnrolmentEmailConstants.FIRST_NAME + "\\}", messageHeader = messageHeader.replaceAll("\\{" + EmailConstants.EnrolmentEmailConstants.FIRST_NAME + "\\}",
URLEncoder.encode(emailMessageProperties.getFirstName(), URLEncoder.encode(emailMessageProperties.getFirstName(),
EmailConstants.EnrolmentEmailConstants.ENCODED_SCHEME)); EmailConstants.EnrolmentEmailConstants.ENCODED_SCHEME));
@ -549,6 +557,14 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv
StringBuilder messageBuilder = new StringBuilder(); StringBuilder messageBuilder = new StringBuilder();
try { try {
// Reading the download url from the cdm-config.xml file
EmailConfigurations emailConfig =
DeviceConfigurationManager.getInstance().getDeviceManagementConfig().
getDeviceManagementConfigRepository().getEmailConfigurations();
emailMessageProperties.setEnrolmentUrl(emailConfig.getlBHostPortPrefix()+ emailConfig.getEnrollmentContextPath());
messageHeader = messageHeader.replaceAll("\\{" + EmailConstants.EnrolmentEmailConstants.FIRST_NAME + "\\}", messageHeader = messageHeader.replaceAll("\\{" + EmailConstants.EnrolmentEmailConstants.FIRST_NAME + "\\}",
URLEncoder.encode(emailMessageProperties.getFirstName(), URLEncoder.encode(emailMessageProperties.getFirstName(),
EmailConstants.EnrolmentEmailConstants.ENCODED_SCHEME)); EmailConstants.EnrolmentEmailConstants.ENCODED_SCHEME));

@ -29,13 +29,14 @@ import org.wso2.carbon.webapp.authenticator.framework.authenticator.WebappAuthen
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.util.Arrays; import java.util.Arrays;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.StringTokenizer; import java.util.StringTokenizer;
public class WebappAuthenticationValve extends CarbonTomcatValve { public class WebappAuthenticationValve extends CarbonTomcatValve {
private static final Log log = LogFactory.getLog(WebappAuthenticationValve.class); private static final Log log = LogFactory.getLog(WebappAuthenticationValve.class);
private static final String BYPASS_URIS = "bypass-uris"; private static HashMap<String, String> nonSecuredEndpoints = new HashMap<>();
@Override @Override
public void invoke(Request request, Response response, CompositeValve compositeValve) { public void invoke(Request request, Response response, CompositeValve compositeValve) {
@ -45,21 +46,6 @@ public class WebappAuthenticationValve extends CarbonTomcatValve {
return; return;
} }
String byPassURIs = request.getContext().findParameter(WebappAuthenticationValve.BYPASS_URIS);
if (byPassURIs != null && !byPassURIs.isEmpty()) {
List<String> requestURI = Arrays.asList(byPassURIs.split(","));
if (requestURI != null && requestURI.size() > 0) {
for (String pathURI : requestURI) {
pathURI = pathURI.replace("\n", "").replace("\r", "").trim();
if (request.getRequestURI().equals(pathURI)) {
this.getNext().invoke(request, response, compositeValve);
return;
}
}
}
}
WebappAuthenticator authenticator = WebappAuthenticatorFactory.getAuthenticator(request); WebappAuthenticator authenticator = WebappAuthenticatorFactory.getAuthenticator(request);
if (authenticator == null) { if (authenticator == null) {
String msg = "Failed to load an appropriate authenticator to authenticate the request"; String msg = "Failed to load an appropriate authenticator to authenticate the request";
@ -90,7 +76,7 @@ public class WebappAuthenticationValve extends CarbonTomcatValve {
private boolean skipAuthentication(Request request) { private boolean skipAuthentication(Request request) {
String param = request.getContext().findParameter("doAuthentication"); String param = request.getContext().findParameter("doAuthentication");
return (param == null || !Boolean.parseBoolean(param)); return (param == null || !Boolean.parseBoolean(param) || isNonSecuredEndPoint(request));
} }
private boolean isContextSkipped(Request request) { private boolean isContextSkipped(Request request) {
@ -112,6 +98,36 @@ public class WebappAuthenticationValve extends CarbonTomcatValve {
return (ctx.equalsIgnoreCase("carbon") || ctx.equalsIgnoreCase("services")); return (ctx.equalsIgnoreCase("carbon") || ctx.equalsIgnoreCase("services"));
} }
private boolean isNonSecuredEndPoint(Request request) {
String uri = request.getRequestURI();
if(!uri.endsWith("/")) {
uri = uri + "/";
}
String ctx = request.getContextPath();
//Check the context in nonSecuredEndpoints. If so it means current context is a skippedContext.
if (nonSecuredEndpoints.containsKey(uri)) {
return true;
}
String param = request.getContext().findParameter("nonSecuredEndPoints");
String skippedEndPoint;
if (param != null && !param.isEmpty()) {
//Add the nonSecured end-points to cache
StringTokenizer tokenizer = new StringTokenizer(param, ",");
while (tokenizer.hasMoreTokens()) {
skippedEndPoint = ctx + tokenizer.nextToken();
skippedEndPoint = skippedEndPoint.replace("\n", "").replace("\r", "").trim();
if(!skippedEndPoint.endsWith("/")) {
skippedEndPoint = skippedEndPoint + "/";
}
nonSecuredEndpoints.put(skippedEndPoint, "true");
}
if (nonSecuredEndpoints.containsKey(uri)) {
return true;
}
}
return false;
}
private void processRequest(Request request, Response response, CompositeValve compositeValve, private void processRequest(Request request, Response response, CompositeValve compositeValve,
AuthenticationInfo authenticationInfo) { AuthenticationInfo authenticationInfo) {
switch (authenticationInfo.getStatus()) { switch (authenticationInfo.getStatus()) {
@ -121,7 +137,7 @@ public class WebappAuthenticationValve extends CarbonTomcatValve {
break; break;
case FAILURE: case FAILURE:
String msg = "Failed to authorize incoming request"; String msg = "Failed to authorize incoming request";
if(authenticationInfo.getMessage() != null && !authenticationInfo.getMessage().isEmpty()) { if (authenticationInfo.getMessage() != null && !authenticationInfo.getMessage().isEmpty()) {
msg = authenticationInfo.getMessage(); msg = authenticationInfo.getMessage();
response.setHeader("WWW-Authenticate", msg); response.setHeader("WWW-Authenticate", msg);
} }
@ -132,5 +148,4 @@ public class WebappAuthenticationValve extends CarbonTomcatValve {
break; break;
} }
} }
} }

@ -29,6 +29,8 @@
<maximumThread>100</maximumThread> <maximumThread>100</maximumThread>
<keepAliveTime>20</keepAliveTime> <keepAliveTime>20</keepAliveTime>
<ThreadQueueCapacity>1000</ThreadQueueCapacity> <ThreadQueueCapacity>1000</ThreadQueueCapacity>
<LBHostPortPrefix>https://localhost:9443</LBHostPortPrefix>
<enrollmentContextPath>/mdm/enrollment</enrollmentContextPath>
</EmailClientConfiguration> </EmailClientConfiguration>
<IdentityConfiguration> <IdentityConfiguration>
<ServerUrl>https://localhost:9443</ServerUrl> <ServerUrl>https://localhost:9443</ServerUrl>

@ -392,3 +392,4 @@ CREATE TABLE IF NOT EXISTS DM_NOTIFICATION (
)ENGINE = InnoDB; )ENGINE = InnoDB;
-- END NOTIFICATION TABLES -- -- END NOTIFICATION TABLES --

@ -1,18 +1,21 @@
CREATE TABLE DM_DEVICE_TYPE ( CREATE TABLE DM_DEVICE_TYPE (
ID NUMBER(10) NOT NULL, ID NUMBER(10) NOT NULL,
NAME VARCHAR2(300) DEFAULT NULL, NAME VARCHAR2(300) DEFAULT NULL,
PRIMARY KEY (ID) CONSTRAINT PK_DM_DEVICE_TYPE PRIMARY KEY (ID)
); )
/
-- Generate ID using sequence and trigger -- Generate ID using sequence and trigger
CREATE SEQUENCE DM_DEVICE_TYPE_seq START WITH 1 INCREMENT BY 1; CREATE SEQUENCE DM_DEVICE_TYPE_seq START WITH 1 INCREMENT BY 1 NOCACHE
/
CREATE OR REPLACE TRIGGER DM_DEVICE_TYPE_seq_tr CREATE OR REPLACE TRIGGER DM_DEVICE_TYPE_seq_tr
BEFORE INSERT ON DM_DEVICE_TYPE FOR EACH ROW BEFORE INSERT
WHEN (NEW.ID IS NULL) ON DM_DEVICE_TYPE
BEGIN REFERENCING NEW AS NEW
FOR EACH ROW
WHEN (NEW.ID IS NULL)
BEGIN
SELECT DM_DEVICE_TYPE_seq.NEXTVAL INTO :NEW.ID FROM DUAL; SELECT DM_DEVICE_TYPE_seq.NEXTVAL INTO :NEW.ID FROM DUAL;
END; END;
/ /
CREATE TABLE DM_DEVICE ( CREATE TABLE DM_DEVICE (
@ -22,20 +25,23 @@ CREATE TABLE DM_DEVICE (
DEVICE_TYPE_ID NUMBER(10) DEFAULT NULL, DEVICE_TYPE_ID NUMBER(10) DEFAULT NULL,
DEVICE_IDENTIFICATION VARCHAR2(300) DEFAULT NULL, DEVICE_IDENTIFICATION VARCHAR2(300) DEFAULT NULL,
TENANT_ID NUMBER(10) DEFAULT 0, TENANT_ID NUMBER(10) DEFAULT 0,
PRIMARY KEY (ID), CONSTRAINT PK_DM_DEVICE PRIMARY KEY (ID),
CONSTRAINT fk_DM_DEVICE_DM_DEVICE_TYPE2 FOREIGN KEY (DEVICE_TYPE_ID ) CONSTRAINT fk_DM_DEVICE_DM_DEVICE_TYPE2 FOREIGN KEY (DEVICE_TYPE_ID )
REFERENCES DM_DEVICE_TYPE (ID) REFERENCES DM_DEVICE_TYPE (ID)
); )
/
-- Generate ID using sequence and trigger -- Generate ID using sequence and trigger
CREATE SEQUENCE DM_DEVICE_seq START WITH 1 INCREMENT BY 1; CREATE SEQUENCE DM_DEVICE_seq START WITH 1 INCREMENT BY 1 NOCACHE
/
CREATE OR REPLACE TRIGGER DM_DEVICE_seq_tr CREATE OR REPLACE TRIGGER DM_DEVICE_seq_tr
BEFORE INSERT ON DM_DEVICE FOR EACH ROW BEFORE INSERT
WHEN (NEW.ID IS NULL) ON DM_DEVICE
BEGIN REFERENCING NEW AS NEW
FOR EACH ROW
WHEN (NEW.ID IS NULL)
BEGIN
SELECT DM_DEVICE_seq.NEXTVAL INTO :NEW.ID FROM DUAL; SELECT DM_DEVICE_seq.NEXTVAL INTO :NEW.ID FROM DUAL;
END; END;
/ /
CREATE TABLE DM_OPERATION ( CREATE TABLE DM_OPERATION (
@ -44,54 +50,57 @@ CREATE TABLE DM_OPERATION (
CREATED_TIMESTAMP TIMESTAMP(0) NOT NULL, CREATED_TIMESTAMP TIMESTAMP(0) NOT NULL,
RECEIVED_TIMESTAMP TIMESTAMP(0) NULL, RECEIVED_TIMESTAMP TIMESTAMP(0) NULL,
OPERATION_CODE VARCHAR2(1000) NOT NULL, OPERATION_CODE VARCHAR2(1000) NOT NULL,
PRIMARY KEY (ID) CONSTRAINT PK_DM_OPERATION PRIMARY KEY (ID)
); )
/
-- Generate ID using sequence and trigger -- Generate ID using sequence and trigger
CREATE SEQUENCE DM_OPERATION_seq START WITH 1 INCREMENT BY 1; CREATE SEQUENCE DM_OPERATION_seq START WITH 1 INCREMENT BY 1 NOCACHE
/
CREATE OR REPLACE TRIGGER DM_OPERATION_seq_tr CREATE OR REPLACE TRIGGER DM_OPERATION_seq_tr
BEFORE INSERT ON DM_OPERATION FOR EACH ROW BEFORE INSERT
WHEN (NEW.ID IS NULL) ON DM_OPERATION
BEGIN REFERENCING NEW AS NEW
FOR EACH ROW
WHEN (NEW.ID IS NULL)
BEGIN
SELECT DM_OPERATION_seq.NEXTVAL INTO :NEW.ID FROM DUAL; SELECT DM_OPERATION_seq.NEXTVAL INTO :NEW.ID FROM DUAL;
END; END;
/ /
CREATE TABLE DM_CONFIG_OPERATION ( CREATE TABLE DM_CONFIG_OPERATION (
OPERATION_ID NUMBER(10) NOT NULL, OPERATION_ID NUMBER(10) NOT NULL,
OPERATION_CONFIG BLOB DEFAULT NULL, OPERATION_CONFIG BLOB DEFAULT NULL,
PRIMARY KEY (OPERATION_ID), CONSTRAINT PK_DM_CONFIG_OPERATION PRIMARY KEY (OPERATION_ID),
CONSTRAINT fk_dm_operation_config FOREIGN KEY (OPERATION_ID) REFERENCES CONSTRAINT fk_dm_operation_config FOREIGN KEY (OPERATION_ID) REFERENCES
DM_OPERATION (ID) DM_OPERATION (ID)
); )
/
CREATE TABLE DM_COMMAND_OPERATION ( CREATE TABLE DM_COMMAND_OPERATION (
OPERATION_ID NUMBER(10) NOT NULL, OPERATION_ID NUMBER(10) NOT NULL,
ENABLED CHAR(1) DEFAULT FALSE NOT NULL, ENABLED NUMBER(10) DEFAULT 0 NOT NULL,
PRIMARY KEY (OPERATION_ID), CONSTRAINT PK_DM_COMMAND_OPERATION PRIMARY KEY (OPERATION_ID),
CONSTRAINT fk_dm_operation_command FOREIGN KEY (OPERATION_ID) REFERENCES CONSTRAINT fk_dm_operation_command FOREIGN KEY (OPERATION_ID) REFERENCES
DM_OPERATION (ID) DM_OPERATION (ID)
); )
/
CREATE TABLE DM_POLICY_OPERATION ( CREATE TABLE DM_POLICY_OPERATION (
OPERATION_ID NUMBER(10) NOT NULL, OPERATION_ID NUMBER(10) NOT NULL,
ENABLED NUMBER(10) DEFAULT 0 NOT NULL, ENABLED NUMBER(10) DEFAULT 0 NOT NULL,
OPERATION_DETAILS BLOB DEFAULT NULL, OPERATION_DETAILS BLOB DEFAULT NULL,
PRIMARY KEY (OPERATION_ID), CONSTRAINT PK_DM_POLICY_OPERATION PRIMARY KEY (OPERATION_ID),
CONSTRAINT fk_dm_operation_policy FOREIGN KEY (OPERATION_ID) REFERENCES CONSTRAINT fk_dm_operation_policy FOREIGN KEY (OPERATION_ID) REFERENCES
DM_OPERATION (ID) DM_OPERATION (ID)
); )
/
CREATE TABLE DM_PROFILE_OPERATION ( CREATE TABLE DM_PROFILE_OPERATION (
OPERATION_ID NUMBER(10) NOT NULL, OPERATION_ID NUMBER(10) NOT NULL,
ENABLED NUMBER(10) DEFAULT 0 NOT NULL, ENABLED NUMBER(10) DEFAULT 0 NOT NULL,
OPERATION_DETAILS BLOB DEFAULT NULL, OPERATION_DETAILS BLOB DEFAULT NULL,
PRIMARY KEY (OPERATION_ID), CONSTRAINT PK_DM_PROFILE_OPERATION PRIMARY KEY (OPERATION_ID),
CONSTRAINT fk_dm_operation_profile FOREIGN KEY (OPERATION_ID) REFERENCES CONSTRAINT fk_dm_operation_profile FOREIGN KEY (OPERATION_ID) REFERENCES
DM_OPERATION (ID) DM_OPERATION (ID)
); )
/
CREATE TABLE DM_ENROLMENT ( CREATE TABLE DM_ENROLMENT (
ID NUMBER(10) NOT NULL, ID NUMBER(10) NOT NULL,
DEVICE_ID NUMBER(10) NOT NULL, DEVICE_ID NUMBER(10) NOT NULL,
@ -101,43 +110,49 @@ CREATE TABLE DM_ENROLMENT (
DATE_OF_ENROLMENT TIMESTAMP(0) DEFAULT NULL, DATE_OF_ENROLMENT TIMESTAMP(0) DEFAULT NULL,
DATE_OF_LAST_UPDATE TIMESTAMP(0) DEFAULT NULL, DATE_OF_LAST_UPDATE TIMESTAMP(0) DEFAULT NULL,
TENANT_ID NUMBER(10) NOT NULL, TENANT_ID NUMBER(10) NOT NULL,
PRIMARY KEY (ID), CONSTRAINT PK_DM_ENROLMENT PRIMARY KEY (ID),
CONSTRAINT fk_dm_device_enrolment FOREIGN KEY (DEVICE_ID) REFERENCES CONSTRAINT fk_dm_device_enrolment FOREIGN KEY (DEVICE_ID) REFERENCES
DM_DEVICE (ID) DM_DEVICE (ID)
); )
/
-- Generate ID using sequence and trigger -- Generate ID using sequence and trigger
CREATE SEQUENCE DM_ENROLMENT_seq START WITH 1 INCREMENT BY 1; CREATE SEQUENCE DM_ENROLMENT_seq START WITH 1 INCREMENT BY 1 NOCACHE
/
CREATE OR REPLACE TRIGGER DM_ENROLMENT_seq_tr CREATE OR REPLACE TRIGGER DM_ENROLMENT_seq_tr
BEFORE INSERT ON DM_ENROLMENT FOR EACH ROW BEFORE INSERT
WHEN (NEW.ID IS NULL) ON DM_ENROLMENT
BEGIN REFERENCING NEW AS NEW
FOR EACH ROW
WHEN (NEW.ID IS NULL)
BEGIN
SELECT DM_ENROLMENT_seq.NEXTVAL INTO :NEW.ID FROM DUAL; SELECT DM_ENROLMENT_seq.NEXTVAL INTO :NEW.ID FROM DUAL;
END; END;
/ /
CREATE TABLE DM_ENROLMENT_OP_MAPPING ( CREATE TABLE DM_ENROLMENT_op_map (
ID NUMBER(10) NOT NULL, ID NUMBER(10) NOT NULL,
ENROLMENT_ID NUMBER(10) NOT NULL, ENROLMENT_ID NUMBER(10) NOT NULL,
OPERATION_ID NUMBER(10) NOT NULL, OPERATION_ID NUMBER(10) NOT NULL,
STATUS VARCHAR2(50) NULL, STATUS VARCHAR2(50) NULL,
PRIMARY KEY (ID), PRIMARY KEY (ID),
CONSTRAINT fk_dm_device_operation_mapping_device FOREIGN KEY (ENROLMENT_ID) REFERENCES CONSTRAINT fk_dm_device_op_map_device FOREIGN KEY (ENROLMENT_ID) REFERENCES
DM_ENROLMENT (ID), DM_ENROLMENT (ID),
CONSTRAINT fk_dm_device_operation_mapping_operation FOREIGN KEY (OPERATION_ID) REFERENCES CONSTRAINT fk_dm_device_op_map_operation FOREIGN KEY (OPERATION_ID) REFERENCES
DM_OPERATION (ID) DM_OPERATION (ID)
); )
/
-- Generate ID using sequence and trigger -- Generate ID using sequence and trigger
CREATE SEQUENCE DM_ENROLMENT_OP_MAPPING_seq START WITH 1 INCREMENT BY 1; CREATE SEQUENCE DM_ENROLMENT_op_map_seq START WITH 1 INCREMENT BY 1 NOCACHE
/
CREATE OR REPLACE TRIGGER DM_ENROLMENT_OP_MAPPING_seq_tr CREATE OR REPLACE TRIGGER DM_ENROLMENT_op_map_seq_tr
BEFORE INSERT ON DM_ENROLMENT_OP_MAPPING FOR EACH ROW BEFORE INSERT
WHEN (NEW.ID IS NULL) ON DM_ENROLMENT_op_map
BEGIN REFERENCING NEW AS NEW
SELECT DM_ENROLMENT_OP_MAPPING_seq.NEXTVAL INTO :NEW.ID FROM DUAL; FOR EACH ROW
END; WHEN (NEW.ID IS NULL)
BEGIN
SELECT DM_ENROLMENT_op_map_seq.NEXTVAL INTO :NEW.ID FROM DUAL;
END;
/ /
CREATE TABLE DM_DEVICE_OPERATION_RESPONSE ( CREATE TABLE DM_DEVICE_OPERATION_RESPONSE (
@ -145,29 +160,28 @@ CREATE TABLE DM_DEVICE_OPERATION_RESPONSE (
DEVICE_ID NUMBER(10) NOT NULL, DEVICE_ID NUMBER(10) NOT NULL,
OPERATION_ID NUMBER(10) NOT NULL, OPERATION_ID NUMBER(10) NOT NULL,
OPERATION_RESPONSE BLOB DEFAULT NULL, OPERATION_RESPONSE BLOB DEFAULT NULL,
PRIMARY KEY (ID), CONSTRAINT PK_DM_DEVICE_OP_RESPONSE PRIMARY KEY (ID),
CONSTRAINT fk_dm_device_operation_response_device FOREIGN KEY (DEVICE_ID) REFERENCES CONSTRAINT fk_dm_device_op_res_device FOREIGN KEY (DEVICE_ID) REFERENCES
DM_DEVICE (ID), DM_DEVICE (ID),
CONSTRAINT fk_dm_device_operation_response_operation FOREIGN KEY (OPERATION_ID) REFERENCES CONSTRAINT fk_dm_device_op_res_operation FOREIGN KEY (OPERATION_ID) REFERENCES
DM_OPERATION (ID) DM_OPERATION (ID)
); )
/
-- Generate ID using sequence and trigger -- Generate ID using sequence and trigger
CREATE SEQUENCE DM_DEVICE_OPERATION_RESPONSE_seq START WITH 1 INCREMENT BY 1; CREATE SEQUENCE DM_DEVICE_OP_RESPONSE_seq START WITH 1 INCREMENT BY 1 NOCACHE
/
CREATE OR REPLACE TRIGGER DM_DEVICE_OPERATION_RESPONSE_seq_tr CREATE OR REPLACE TRIGGER DM_DEVICE_OP_RESPONSE_seq_tr
BEFORE INSERT ON DM_DEVICE_OPERATION_RESPONSE FOR EACH ROW BEFORE INSERT
WHEN (NEW.ID IS NULL) ON DM_DEVICE_OPERATION_RESPONSE
BEGIN REFERENCING NEW AS NEW
SELECT DM_DEVICE_OPERATION_RESPONSE_seq.NEXTVAL INTO :NEW.ID FROM DUAL; FOR EACH ROW
END; WHEN (NEW.ID IS NULL)
BEGIN
SELECT DM_DEVICE_OP_RESPONSE_seq.NEXTVAL INTO :NEW.ID FROM DUAL;
END;
/ /
-- POLICY RELATED TABLES --- -- POLICY RELATED TABLES ---
CREATE TABLE DM_PROFILE ( CREATE TABLE DM_PROFILE (
ID NUMBER(10) NOT NULL , ID NUMBER(10) NOT NULL ,
PROFILE_NAME VARCHAR2(45) NOT NULL , PROFILE_NAME VARCHAR2(45) NOT NULL ,
@ -175,27 +189,27 @@ CREATE TABLE DM_PROFILE (
DEVICE_TYPE_ID NUMBER(10) NOT NULL , DEVICE_TYPE_ID NUMBER(10) NOT NULL ,
CREATED_TIME TIMESTAMP(0) NOT NULL , CREATED_TIME TIMESTAMP(0) NOT NULL ,
UPDATED_TIME TIMESTAMP(0) NOT NULL , UPDATED_TIME TIMESTAMP(0) NOT NULL ,
PRIMARY KEY (ID) , CONSTRAINT PK_DM_PROFILE PRIMARY KEY (ID) ,
CONSTRAINT DM_PROFILE_DEVICE_TYPE CONSTRAINT DM_PROFILE_DEVICE_TYPE
FOREIGN KEY (DEVICE_TYPE_ID ) FOREIGN KEY (DEVICE_TYPE_ID )
REFERENCES DM_DEVICE_TYPE (ID ) REFERENCES DM_DEVICE_TYPE (ID )
); )
/
-- Generate ID using sequence and trigger -- Generate ID using sequence and trigger
CREATE SEQUENCE DM_PROFILE_seq START WITH 1 INCREMENT BY 1; CREATE SEQUENCE DM_PROFILE_seq START WITH 1 INCREMENT BY 1 NOCACHE
/
CREATE OR REPLACE TRIGGER DM_PROFILE_seq_tr CREATE OR REPLACE TRIGGER DM_PROFILE_seq_tr
BEFORE INSERT ON DM_PROFILE FOR EACH ROW BEFORE INSERT
WHEN (NEW.ID IS NULL) ON DM_PROFILE
BEGIN REFERENCING NEW AS NEW
FOR EACH ROW
WHEN (NEW.ID IS NULL)
BEGIN
SELECT DM_PROFILE_seq.NEXTVAL INTO :NEW.ID FROM DUAL; SELECT DM_PROFILE_seq.NEXTVAL INTO :NEW.ID FROM DUAL;
END; END;
/ /
CREATE TABLE DM_POLICY ( CREATE TABLE DM_POLICY (
ID NUMBER(10) NOT NULL , ID NUMBER(10) NOT NULL ,
NAME VARCHAR2(45) DEFAULT NULL , NAME VARCHAR2(45) DEFAULT NULL ,
@ -207,72 +221,70 @@ CREATE TABLE DM_POLICY (
PRIORITY NUMBER(10) NOT NULL, PRIORITY NUMBER(10) NOT NULL,
ACTIVE NUMBER(10) NOT NULL, ACTIVE NUMBER(10) NOT NULL,
UPDATED NUMBER(10) NULL, UPDATED NUMBER(10) NULL,
PRIMARY KEY (ID) , CONSTRAINT PK_DM_PROFILE_DM_POLICY PRIMARY KEY (ID) ,
CONSTRAINT FK_DM_PROFILE_DM_POLICY CONSTRAINT FK_DM_PROFILE_DM_POLICY
FOREIGN KEY (PROFILE_ID ) FOREIGN KEY (PROFILE_ID )
REFERENCES DM_PROFILE (ID ) REFERENCES DM_PROFILE (ID )
); )
/
-- Generate ID using sequence and trigger -- Generate ID using sequence and trigger
CREATE SEQUENCE DM_POLICY_seq START WITH 1 INCREMENT BY 1; CREATE SEQUENCE DM_POLICY_seq START WITH 1 INCREMENT BY 1 NOCACHE
/
CREATE OR REPLACE TRIGGER DM_POLICY_seq_tr CREATE OR REPLACE TRIGGER DM_POLICY_seq_tr
BEFORE INSERT ON DM_POLICY FOR EACH ROW BEFORE INSERT
WHEN (NEW.ID IS NULL) ON DM_POLICY
BEGIN REFERENCING NEW AS NEW
FOR EACH ROW
WHEN (NEW.ID IS NULL)
BEGIN
SELECT DM_POLICY_seq.NEXTVAL INTO :NEW.ID FROM DUAL; SELECT DM_POLICY_seq.NEXTVAL INTO :NEW.ID FROM DUAL;
END; END;
/ /
CREATE TABLE DM_DEVICE_POLICY ( CREATE TABLE DM_DEVICE_POLICY (
ID NUMBER(10) NOT NULL , ID NUMBER(10) NOT NULL ,
DEVICE_ID NUMBER(10) NOT NULL , DEVICE_ID NUMBER(10) NOT NULL ,
ENROLMENT_ID NUMBER(10) NOT NULL, ENROLMENT_ID NUMBER(10) NOT NULL,
DEVICE BLOB NOT NULL, DEVICE BLOB NOT NULL,
POLICY_ID NUMBER(10) NOT NULL , POLICY_ID NUMBER(10) NOT NULL ,
PRIMARY KEY (ID) , CONSTRAINT PK_POLICY_DEVICE_POLICY PRIMARY KEY (ID) ,
CONSTRAINT FK_POLICY_DEVICE_POLICY CONSTRAINT FK_POLICY_DEVICE_POLICY
FOREIGN KEY (POLICY_ID ) FOREIGN KEY (POLICY_ID )
REFERENCES DM_POLICY (ID ) REFERENCES DM_POLICY (ID ),
,
CONSTRAINT FK_DEVICE_DEVICE_POLICY CONSTRAINT FK_DEVICE_DEVICE_POLICY
FOREIGN KEY (DEVICE_ID ) FOREIGN KEY (DEVICE_ID )
REFERENCES DM_DEVICE (ID ) REFERENCES DM_DEVICE (ID )
); )
/
-- Generate ID using sequence and trigger -- Generate ID using sequence and trigger
CREATE SEQUENCE DM_DEVICE_POLICY_seq START WITH 1 INCREMENT BY 1; CREATE SEQUENCE DM_DEVICE_POLICY_seq START WITH 1 INCREMENT BY 1 NOCACHE
/
CREATE OR REPLACE TRIGGER DM_DEVICE_POLICY_seq_tr CREATE OR REPLACE TRIGGER DM_DEVICE_POLICY_seq_tr
BEFORE INSERT ON DM_DEVICE_POLICY FOR EACH ROW BEFORE INSERT
WHEN (NEW.ID IS NULL) ON DM_DEVICE_POLICY
BEGIN REFERENCING NEW AS NEW
FOR EACH ROW
WHEN (NEW.ID IS NULL)
BEGIN
SELECT DM_DEVICE_POLICY_seq.NEXTVAL INTO :NEW.ID FROM DUAL; SELECT DM_DEVICE_POLICY_seq.NEXTVAL INTO :NEW.ID FROM DUAL;
END; END;
/ /
CREATE TABLE DM_DEVICE_TYPE_POLICY ( CREATE TABLE DM_DEVICE_TYPE_POLICY (
ID NUMBER(10) NOT NULL , ID NUMBER(10) NOT NULL ,
DEVICE_TYPE_ID NUMBER(10) NOT NULL , DEVICE_TYPE_ID NUMBER(10) NOT NULL ,
POLICY_ID NUMBER(10) NOT NULL , POLICY_ID NUMBER(10) NOT NULL ,
PRIMARY KEY (ID) , CONSTRAINT PK_DEV_TYPE_POLICY PRIMARY KEY (ID) ,
CONSTRAINT FK_DEVICE_TYPE_POLICY CONSTRAINT FK_DEV_TYPE_POLICY
FOREIGN KEY (POLICY_ID ) FOREIGN KEY (POLICY_ID )
REFERENCES DM_POLICY (ID ) REFERENCES DM_POLICY (ID ),
, CONSTRAINT FK_DEV_TYPE_POLICY_DEV_TYPE
CONSTRAINT FK_DEVICE_TYPE_POLICY_DEVICE_TYPE
FOREIGN KEY (DEVICE_TYPE_ID ) FOREIGN KEY (DEVICE_TYPE_ID )
REFERENCES DM_DEVICE_TYPE (ID ) REFERENCES DM_DEVICE_TYPE (ID )
); )
/
CREATE TABLE DM_PROFILE_FEATURES ( CREATE TABLE DM_PROFILE_FEATURES (
@ -282,73 +294,78 @@ CREATE TABLE DM_PROFILE_FEATURES (
DEVICE_TYPE_ID NUMBER(10) NOT NULL, DEVICE_TYPE_ID NUMBER(10) NOT NULL,
TENANT_ID NUMBER(10) NOT NULL , TENANT_ID NUMBER(10) NOT NULL ,
CONTENT BLOB DEFAULT NULL NULL, CONTENT BLOB DEFAULT NULL NULL,
PRIMARY KEY (ID), CONSTRAINT PK_DM_PROF_DM_POLICY_FEATURES PRIMARY KEY (ID),
CONSTRAINT FK_DM_PROFILE_DM_POLICY_FEATURES CONSTRAINT FK_DM_PROF_DM_POLICY_FEATURES
FOREIGN KEY (PROFILE_ID) FOREIGN KEY (PROFILE_ID)
REFERENCES DM_PROFILE (ID) REFERENCES DM_PROFILE (ID)
); )
/
-- Generate ID using sequence and trigger -- Generate ID using sequence and trigger
CREATE SEQUENCE DM_PROFILE_FEATURES_seq START WITH 1 INCREMENT BY 1; CREATE SEQUENCE DM_PROFILE_FEATURES_seq START WITH 1 INCREMENT BY 1 NOCACHE
/
CREATE OR REPLACE TRIGGER DM_PROFILE_FEATURES_seq_tr CREATE OR REPLACE TRIGGER DM_PROFILE_FEATURES_seq_tr
BEFORE INSERT ON DM_PROFILE_FEATURES FOR EACH ROW BEFORE INSERT
WHEN (NEW.ID IS NULL) ON DM_PROFILE_FEATURES
BEGIN REFERENCING NEW AS NEW
FOR EACH ROW
WHEN (NEW.ID IS NULL)
BEGIN
SELECT DM_PROFILE_FEATURES_seq.NEXTVAL INTO :NEW.ID FROM DUAL; SELECT DM_PROFILE_FEATURES_seq.NEXTVAL INTO :NEW.ID FROM DUAL;
END; END;
/ /
CREATE TABLE DM_ROLE_POLICY ( CREATE TABLE DM_ROLE_POLICY (
ID NUMBER(10) NOT NULL , ID NUMBER(10) NOT NULL ,
ROLE_NAME VARCHAR2(45) NOT NULL , ROLE_NAME VARCHAR2(45) NOT NULL ,
POLICY_ID NUMBER(10) NOT NULL , POLICY_ID NUMBER(10) NOT NULL ,
PRIMARY KEY (ID) , CONSTRAINT PK_ROLE_POLICY_POLICY PRIMARY KEY (ID) ,
CONSTRAINT FK_ROLE_POLICY_POLICY CONSTRAINT FK_ROLE_POLICY_POLICY
FOREIGN KEY (POLICY_ID ) FOREIGN KEY (POLICY_ID )
REFERENCES DM_POLICY (ID ) REFERENCES DM_POLICY (ID )
); )
/
-- Generate ID using sequence and trigger -- Generate ID using sequence and trigger
CREATE SEQUENCE DM_ROLE_POLICY_seq START WITH 1 INCREMENT BY 1; CREATE SEQUENCE DM_ROLE_POLICY_seq START WITH 1 INCREMENT BY 1 NOCACHE
/
CREATE OR REPLACE TRIGGER DM_ROLE_POLICY_seq_tr CREATE OR REPLACE TRIGGER DM_ROLE_POLICY_seq_tr
BEFORE INSERT ON DM_ROLE_POLICY FOR EACH ROW BEFORE INSERT
WHEN (NEW.ID IS NULL) ON DM_ROLE_POLICY
BEGIN REFERENCING NEW AS NEW
FOR EACH ROW
WHEN (NEW.ID IS NULL)
BEGIN
SELECT DM_ROLE_POLICY_seq.NEXTVAL INTO :NEW.ID FROM DUAL; SELECT DM_ROLE_POLICY_seq.NEXTVAL INTO :NEW.ID FROM DUAL;
END; END;
/ /
CREATE TABLE DM_USER_POLICY ( CREATE TABLE DM_USER_POLICY (
ID NUMBER(10) NOT NULL , ID NUMBER(10) NOT NULL ,
POLICY_ID NUMBER(10) NOT NULL , POLICY_ID NUMBER(10) NOT NULL ,
USERNAME VARCHAR2(45) NOT NULL , USERNAME VARCHAR2(45) NOT NULL ,
PRIMARY KEY (ID) , CONSTRAINT PK_DM_USER_POLICY PRIMARY KEY (ID) ,
CONSTRAINT DM_POLICY_USER_POLICY CONSTRAINT FK_DM_POLICY_USER_POLICY
FOREIGN KEY (POLICY_ID ) FOREIGN KEY (POLICY_ID )
REFERENCES DM_POLICY (ID ) REFERENCES DM_POLICY (ID )
); )
/
-- Generate ID using sequence and trigger -- Generate ID using sequence and trigger
CREATE SEQUENCE DM_USER_POLICY_seq START WITH 1 INCREMENT BY 1; CREATE SEQUENCE DM_USER_POLICY_seq START WITH 1 INCREMENT BY 1 NOCACHE
/
CREATE OR REPLACE TRIGGER DM_USER_POLICY_seq_tr CREATE OR REPLACE TRIGGER DM_USER_POLICY_seq_tr
BEFORE INSERT ON DM_USER_POLICY FOR EACH ROW BEFORE INSERT
WHEN (NEW.ID IS NULL) ON DM_USER_POLICY
BEGIN REFERENCING NEW AS NEW
FOR EACH ROW
WHEN (NEW.ID IS NULL)
BEGIN
SELECT DM_USER_POLICY_seq.NEXTVAL INTO :NEW.ID FROM DUAL; SELECT DM_USER_POLICY_seq.NEXTVAL INTO :NEW.ID FROM DUAL;
END; END;
/ /
CREATE TABLE DM_DEVICE_POLICY_APPLIED ( CREATE TABLE DM_DEVICE_POLICY_APPLIED (
ID NUMBER(10) NOT NULL , ID NUMBER(10) NOT NULL ,
DEVICE_ID NUMBER(10) NOT NULL , DEVICE_ID NUMBER(10) NOT NULL ,
ENROLMENT_ID NUMBER(10) NOT NULL, ENROLMENT_ID NUMBER(10) NOT NULL,
@ -359,68 +376,75 @@ END;
CREATED_TIME TIMESTAMP(0) NULL , CREATED_TIME TIMESTAMP(0) NULL ,
UPDATED_TIME TIMESTAMP(0) NULL , UPDATED_TIME TIMESTAMP(0) NULL ,
APPLIED_TIME TIMESTAMP(0) NULL , APPLIED_TIME TIMESTAMP(0) NULL ,
PRIMARY KEY (ID) , CONSTRAINT PK_DM_POLICY_DEV_APPLIED PRIMARY KEY (ID) ,
CONSTRAINT FK_DM_POLICY_DEVCIE_APPLIED CONSTRAINT FK_DM_POLICY_DEV_APPLIED
FOREIGN KEY (DEVICE_ID ) FOREIGN KEY (DEVICE_ID )
REFERENCES DM_DEVICE (ID ) REFERENCES DM_DEVICE (ID ),
); CONSTRAINT FK_DM_POLICY_DEV_APPLY_POLICY
FOREIGN KEY (POLICY_ID )
REFERENCES DM_POLICY (ID )
)
/
-- Generate ID using sequence and trigger -- Generate ID using sequence and trigger
CREATE SEQUENCE DM_DEVICE_POLICY_APPLIED_seq START WITH 1 INCREMENT BY 1; CREATE SEQUENCE DM_DEVICE_POLICY_APPLIED_seq START WITH 1 INCREMENT BY 1 NOCACHE
/
CREATE OR REPLACE TRIGGER DM_DEVICE_POLICY_APPLIED_seq_tr CREATE OR REPLACE TRIGGER DM_DEV_POLICY_APPLIED_seq_tr
BEFORE INSERT ON DM_DEVICE_POLICY_APPLIED FOR EACH ROW BEFORE INSERT
WHEN (NEW.ID IS NULL) ON DM_DEVICE_POLICY_APPLIED
REFERENCING NEW AS NEW
FOR EACH ROW
WHEN (NEW.ID IS NULL)
BEGIN BEGIN
SELECT DM_DEVICE_POLICY_APPLIED_seq.NEXTVAL INTO :NEW.ID FROM DUAL; SELECT DM_DEVICE_POLICY_APPLIED_seq.NEXTVAL INTO :NEW.ID FROM DUAL;
END; END;
/ /
CREATE TABLE DM_CRITERIA ( CREATE TABLE DM_CRITERIA (
ID NUMBER(10) NOT NULL, ID NUMBER(10) NOT NULL,
TENANT_ID NUMBER(10) NOT NULL, TENANT_ID NUMBER(10) NOT NULL,
NAME VARCHAR2(50) NULL, NAME VARCHAR2(50) NULL,
PRIMARY KEY (ID) CONSTRAINT PK_DM_CRITERIA PRIMARY KEY (ID)
); )
/
-- Generate ID using sequence and trigger -- Generate ID using sequence and trigger
CREATE SEQUENCE DM_CRITERIA_seq START WITH 1 INCREMENT BY 1; CREATE SEQUENCE DM_CRITERIA_seq START WITH 1 INCREMENT BY 1 NOCACHE
/
CREATE OR REPLACE TRIGGER DM_CRITERIA_seq_tr CREATE OR REPLACE TRIGGER DM_CRITERIA_seq_tr
BEFORE INSERT ON DM_CRITERIA FOR EACH ROW BEFORE INSERT
WHEN (NEW.ID IS NULL) ON DM_CRITERIA
BEGIN REFERENCING NEW AS NEW
FOR EACH ROW
WHEN (NEW.ID IS NULL)
BEGIN
SELECT DM_CRITERIA_seq.NEXTVAL INTO :NEW.ID FROM DUAL; SELECT DM_CRITERIA_seq.NEXTVAL INTO :NEW.ID FROM DUAL;
END; END;
/ /
CREATE TABLE DM_POLICY_CRITERIA ( CREATE TABLE DM_POLICY_CRITERIA (
ID NUMBER(10) NOT NULL, ID NUMBER(10) NOT NULL,
CRITERIA_ID NUMBER(10) NOT NULL, CRITERIA_ID NUMBER(10) NOT NULL,
POLICY_ID NUMBER(10) NOT NULL, POLICY_ID NUMBER(10) NOT NULL,
PRIMARY KEY (ID), CONSTRAINT PK_DM_POLICY_CRITERIA PRIMARY KEY (ID),
CONSTRAINT FK_CRITERIA_POLICY_CRITERIA CONSTRAINT FK_CRITERIA_POLICY_CRITERIA
FOREIGN KEY (CRITERIA_ID) FOREIGN KEY (CRITERIA_ID)
REFERENCES DM_CRITERIA (ID) REFERENCES DM_CRITERIA (ID),
,
CONSTRAINT FK_POLICY_POLICY_CRITERIA CONSTRAINT FK_POLICY_POLICY_CRITERIA
FOREIGN KEY (POLICY_ID) FOREIGN KEY (POLICY_ID)
REFERENCES DM_POLICY (ID) REFERENCES DM_POLICY (ID)
); )
/
-- Generate ID using sequence and trigger -- Generate ID using sequence and trigger
CREATE SEQUENCE DM_POLICY_CRITERIA_seq START WITH 1 INCREMENT BY 1; CREATE SEQUENCE DM_POLICY_CRITERIA_seq START WITH 1 INCREMENT BY 1 NOCACHE
/
CREATE OR REPLACE TRIGGER DM_POLICY_CRITERIA_seq_tr CREATE OR REPLACE TRIGGER DM_POLICY_CRITERIA_seq_tr
BEFORE INSERT ON DM_POLICY_CRITERIA FOR EACH ROW BEFORE INSERT
WHEN (NEW.ID IS NULL) ON DM_POLICY_CRITERIA
BEGIN REFERENCING NEW AS NEW
FOR EACH ROW
WHEN (NEW.ID IS NULL)
BEGIN
SELECT DM_POLICY_CRITERIA_seq.NEXTVAL INTO :NEW.ID FROM DUAL; SELECT DM_POLICY_CRITERIA_seq.NEXTVAL INTO :NEW.ID FROM DUAL;
END; END;
/ /
CREATE TABLE DM_POLICY_CRITERIA_PROPERTIES ( CREATE TABLE DM_POLICY_CRITERIA_PROPERTIES (
@ -429,22 +453,25 @@ CREATE TABLE DM_POLICY_CRITERIA_PROPERTIES (
PROP_KEY VARCHAR2(45) NULL, PROP_KEY VARCHAR2(45) NULL,
PROP_VALUE VARCHAR2(100) NULL, PROP_VALUE VARCHAR2(100) NULL,
CONTENT BLOB NULL , CONTENT BLOB NULL ,
PRIMARY KEY (ID), CONSTRAINT PK_DM_POLICY_CRITERIA_PROP PRIMARY KEY (ID),
CONSTRAINT FK_POLICY_CRITERIA_PROPERTIES CONSTRAINT FK_POLICY_CRITERIA_PROP
FOREIGN KEY (POLICY_CRITERION_ID) FOREIGN KEY (POLICY_CRITERION_ID)
REFERENCES DM_POLICY_CRITERIA (ID) REFERENCES DM_POLICY_CRITERIA (ID)
ON DELETE CASCADE ON DELETE CASCADE
); )
/
-- Generate ID using sequence and trigger -- Generate ID using sequence and trigger
CREATE SEQUENCE DM_POLICY_CRITERIA_PROPERTIES_seq START WITH 1 INCREMENT BY 1; CREATE SEQUENCE DM_POLICY_CRITERIA_PROP_seq START WITH 1 INCREMENT BY 1 NOCACHE
/
CREATE OR REPLACE TRIGGER DM_POLICY_CRITERIA_PROPERTIES_seq_tr CREATE OR REPLACE TRIGGER DM_POLICY_CRITERIA_PROP_seq_tr
BEFORE INSERT ON DM_POLICY_CRITERIA_PROPERTIES FOR EACH ROW BEFORE INSERT
WHEN (NEW.ID IS NULL) ON DM_POLICY_CRITERIA_PROPERTIES
BEGIN REFERENCING NEW AS NEW
SELECT DM_POLICY_CRITERIA_PROPERTIES_seq.NEXTVAL INTO :NEW.ID FROM DUAL; FOR EACH ROW
END; WHEN (NEW.ID IS NULL)
BEGIN
SELECT DM_POLICY_CRITERIA_PROP_seq.NEXTVAL INTO :NEW.ID FROM DUAL;
END;
/ /
CREATE TABLE DM_POLICY_COMPLIANCE_STATUS ( CREATE TABLE DM_POLICY_COMPLIANCE_STATUS (
@ -458,91 +485,73 @@ CREATE TABLE DM_POLICY_COMPLIANCE_STATUS (
LAST_REQUESTED_TIME TIMESTAMP(0) NULL, LAST_REQUESTED_TIME TIMESTAMP(0) NULL,
LAST_FAILED_TIME TIMESTAMP(0) NULL, LAST_FAILED_TIME TIMESTAMP(0) NULL,
ATTEMPTS NUMBER(10) NULL, ATTEMPTS NUMBER(10) NULL,
PRIMARY KEY (ID), CONSTRAINT PK_DM_POLICY_COMP_STATUS PRIMARY KEY (ID),
CONSTRAINT DEVICE_ID_UNIQUE UNIQUE (DEVICE_ID), CONSTRAINT DEVICE_ID_UNIQUE UNIQUE (DEVICE_ID),
CONSTRAINT FK_POLICY_COMPLIANCE_STATUS_POLICY CONSTRAINT FK_POLICY_COMP_STATUS_POLICY
FOREIGN KEY (POLICY_ID) FOREIGN KEY (POLICY_ID)
REFERENCES DM_POLICY (ID) REFERENCES DM_POLICY (ID)
); )
/
-- Generate ID using sequence and trigger -- Generate ID using sequence and trigger
CREATE SEQUENCE DM_POLICY_COMPLIANCE_STATUS_seq START WITH 1 INCREMENT BY 1; CREATE SEQUENCE DM_POLICY_COMP_STATUS_seq START WITH 1 INCREMENT BY 1 NOCACHE
/
CREATE OR REPLACE TRIGGER DM_POLICY_COMPLIANCE_STATUS_seq_tr CREATE OR REPLACE TRIGGER DM_POLICY_COMP_STATUS_seq_tr
BEFORE INSERT ON DM_POLICY_COMPLIANCE_STATUS FOR EACH ROW BEFORE INSERT
WHEN (NEW.ID IS NULL) ON DM_POLICY_COMPLIANCE_STATUS
BEGIN REFERENCING NEW AS NEW
SELECT DM_POLICY_COMPLIANCE_STATUS_seq.NEXTVAL INTO :NEW.ID FROM DUAL; FOR EACH ROW
END; WHEN (NEW.ID IS NULL)
BEGIN
SELECT DM_POLICY_COMP_STATUS_seq.NEXTVAL INTO :NEW.ID FROM DUAL;
END;
/ /
CREATE TABLE DM_POLICY_CHANGE_MGT ( CREATE TABLE DM_POLICY_CHANGE_MGT (
ID NUMBER(10) NOT NULL, ID NUMBER(10) NOT NULL,
POLICY_ID NUMBER(10) NOT NULL, POLICY_ID NUMBER(10) NOT NULL,
DEVICE_TYPE_ID NUMBER(10) NOT NULL, DEVICE_TYPE_ID NUMBER(10) NOT NULL,
TENANT_ID NUMBER(10) NOT NULL, TENANT_ID NUMBER(10) NOT NULL,
PRIMARY KEY (ID) CONSTRAINT PK_DM_POLICY_CHANGE_MGT PRIMARY KEY (ID)
); )
/
-- Generate ID using sequence and trigger -- Generate ID using sequence and trigger
CREATE SEQUENCE DM_POLICY_CHANGE_MGT_seq START WITH 1 INCREMENT BY 1; CREATE SEQUENCE DM_POLICY_CHANGE_MGT_seq START WITH 1 INCREMENT BY 1 NOCACHE
/
CREATE OR REPLACE TRIGGER DM_POLICY_CHANGE_MGT_seq_tr CREATE OR REPLACE TRIGGER DM_POLICY_CHANGE_MGT_seq_tr
BEFORE INSERT ON DM_POLICY_CHANGE_MGT FOR EACH ROW BEFORE INSERT
WHEN (NEW.ID IS NULL) ON DM_POLICY_CHANGE_MGT
BEGIN REFERENCING NEW AS NEW
FOR EACH ROW
WHEN (NEW.ID IS NULL)
BEGIN
SELECT DM_POLICY_CHANGE_MGT_seq.NEXTVAL INTO :NEW.ID FROM DUAL; SELECT DM_POLICY_CHANGE_MGT_seq.NEXTVAL INTO :NEW.ID FROM DUAL;
END; END;
/ /
CREATE TABLE DM_POLICY_COMPLIANCE_FEATURES ( CREATE TABLE DM_POLICY_COMPLIANCE_FEATURES (
ID NUMBER(10) NOT NULL, ID NUMBER(10) NOT NULL,
COMPLIANCE_STATUS_ID NUMBER(10) NOT NULL, COMPLIANCE_STATUS_ID NUMBER(10) NOT NULL,
TENANT_ID NUMBER(10) NOT NULL, TENANT_ID NUMBER(10) NOT NULL,
FEATURE_CODE VARCHAR2(15) NOT NULL, FEATURE_CODE VARCHAR2(15) NOT NULL,
STATUS NUMBER(10) NULL, STATUS NUMBER(10) NULL,
PRIMARY KEY (ID), CONSTRAINT PK_COMPLIANCE_FEATURES_STATUS PRIMARY KEY (ID),
CONSTRAINT FK_COMPLIANCE_FEATURES_STATUS CONSTRAINT FK_COMPLIANCE_FEATURES_STATUS
FOREIGN KEY (COMPLIANCE_STATUS_ID) FOREIGN KEY (COMPLIANCE_STATUS_ID)
REFERENCES DM_POLICY_COMPLIANCE_STATUS (ID) REFERENCES DM_POLICY_COMPLIANCE_STATUS (ID)
); )
-- Generate ID using sequence and trigger
CREATE SEQUENCE DM_POLICY_COMPLIANCE_FEATURES_seq START WITH 1 INCREMENT BY 1;
CREATE OR REPLACE TRIGGER DM_POLICY_COMPLIANCE_FEATURES_seq_tr
BEFORE INSERT ON DM_POLICY_COMPLIANCE_FEATURES FOR EACH ROW
WHEN (NEW.ID IS NULL)
BEGIN
SELECT DM_POLICY_COMPLIANCE_FEATURES_seq.NEXTVAL INTO :NEW.ID FROM DUAL;
END;
/ /
CREATE TABLE DM_ENROLMENT (
ID NUMBER(10) NOT NULL,
DEVICE_ID NUMBER(10) NOT NULL,
OWNER VARCHAR2(50) NOT NULL,
OWNERSHIP VARCHAR2(45) DEFAULT NULL,
STATUS VARCHAR2(50) NULL,
DATE_OF_ENROLMENT TIMESTAMP(0) DEFAULT NULL,
DATE_OF_LAST_UPDATE TIMESTAMP(0) DEFAULT NULL,
TENANT_ID NUMBER(10) NOT NULL,
PRIMARY KEY (ID),
CONSTRAINT fk_dm_device_enrolment FOREIGN KEY (DEVICE_ID) REFERENCES
DM_DEVICE (ID)
);
-- Generate ID using sequence and trigger -- Generate ID using sequence and trigger
CREATE SEQUENCE DM_ENROLMENT_seq START WITH 1 INCREMENT BY 1; CREATE SEQUENCE DM_POLICY_COMP_FEATURES_seq START WITH 1 INCREMENT BY 1 NOCACHE
/
CREATE OR REPLACE TRIGGER DM_ENROLMENT_seq_tr CREATE OR REPLACE TRIGGER DM_POLICY_COMP_FEATURES_seq_tr
BEFORE INSERT ON DM_ENROLMENT FOR EACH ROW BEFORE INSERT
WHEN (NEW.ID IS NULL) ON DM_POLICY_COMPLIANCE_FEATURES
BEGIN REFERENCING NEW AS NEW
SELECT DM_ENROLMENT_seq.NEXTVAL INTO :NEW.ID FROM DUAL; FOR EACH ROW
END; WHEN (NEW.ID IS NULL)
BEGIN
SELECT DM_POLICY_COMP_FEATURES_seq.NEXTVAL INTO :NEW.ID FROM DUAL;
END;
/ /
CREATE TABLE DM_APPLICATION ( CREATE TABLE DM_APPLICATION (
@ -557,41 +566,48 @@ CREATE TABLE DM_APPLICATION (
IMAGE_URL VARCHAR2(100) DEFAULT NULL, IMAGE_URL VARCHAR2(100) DEFAULT NULL,
APP_PROPERTIES BLOB NULL, APP_PROPERTIES BLOB NULL,
TENANT_ID NUMBER(10) NOT NULL, TENANT_ID NUMBER(10) NOT NULL,
PRIMARY KEY (ID) CONSTRAINT PK_DM_APPLICATION PRIMARY KEY (ID)
); )
/
-- Generate ID using sequence and trigger -- Generate ID using sequence and trigger
CREATE SEQUENCE DM_APPLICATION_seq START WITH 1 INCREMENT BY 1; CREATE SEQUENCE DM_APPLICATION_seq START WITH 1 INCREMENT BY 1 NOCACHE
/
CREATE OR REPLACE TRIGGER DM_APPLICATION_seq_tr CREATE OR REPLACE TRIGGER DM_APPLICATION_seq_tr
BEFORE INSERT ON DM_APPLICATION FOR EACH ROW BEFORE INSERT
WHEN (NEW.ID IS NULL) ON DM_APPLICATION
BEGIN REFERENCING NEW AS NEW
FOR EACH ROW
WHEN (NEW.ID IS NULL)
BEGIN
SELECT DM_APPLICATION_seq.NEXTVAL INTO :NEW.ID FROM DUAL; SELECT DM_APPLICATION_seq.NEXTVAL INTO :NEW.ID FROM DUAL;
END; END;
/ /
CREATE TABLE DM_DEVICE_APPLICATION_MAPPING ( CREATE TABLE DM_DEVICE_APPLICATION_MAPPING (
ID NUMBER(10) NOT NULL, ID NUMBER(10) NOT NULL,
DEVICE_ID NUMBER(10) NOT NULL, DEVICE_ID NUMBER(10) NOT NULL,
APPLICATION_ID NUMBER(10) NOT NULL, APPLICATION_ID NUMBER(10) NOT NULL,
TENANT_ID NUMBER(10) NOT NULL, TENANT_ID NUMBER(10) NOT NULL,
PRIMARY KEY (ID), CONSTRAINT PK_DM_DEVICE_APP_MAPPING PRIMARY KEY (ID),
CONSTRAINT fk_dm_device FOREIGN KEY (DEVICE_ID) REFERENCES CONSTRAINT fk_dm_device FOREIGN KEY (DEVICE_ID) REFERENCES
DM_DEVICE (ID), DM_DEVICE (ID),
CONSTRAINT fk_dm_application FOREIGN KEY (APPLICATION_ID) REFERENCES CONSTRAINT fk_dm_application FOREIGN KEY (APPLICATION_ID) REFERENCES
DM_APPLICATION (ID) DM_APPLICATION (ID)
); )
/
-- Generate ID using sequence and trigger -- Generate ID using sequence and trigger
CREATE SEQUENCE DM_DEVICE_APPLICATION_MAPPING_seq START WITH 1 INCREMENT BY 1; CREATE SEQUENCE DM_DEVICE_APP_MAPPING_seq START WITH 1 INCREMENT BY 1 NOCACHE
/
CREATE OR REPLACE TRIGGER DM_DEVICE_APPLICATION_MAPPING_seq_tr CREATE OR REPLACE TRIGGER DM_DEVICE_APP_MAPPING_seq_tr
BEFORE INSERT ON DM_DEVICE_APPLICATION_MAPPING FOR EACH ROW BEFORE INSERT
WHEN (NEW.ID IS NULL) ON DM_DEVICE_APPLICATION_MAPPING
BEGIN REFERENCING NEW AS NEW
SELECT DM_DEVICE_APPLICATION_MAPPING_seq.NEXTVAL INTO :NEW.ID FROM DUAL; FOR EACH ROW
END; WHEN (NEW.ID IS NULL)
BEGIN
SELECT DM_DEVICE_APP_MAPPING_seq.NEXTVAL INTO :NEW.ID FROM DUAL;
END;
/ /
-- POLICY RELATED TABLES FINISHED -- -- POLICY RELATED TABLES FINISHED --
@ -604,23 +620,26 @@ CREATE TABLE DM_NOTIFICATION (
TENANT_ID NUMBER(10) NOT NULL, TENANT_ID NUMBER(10) NOT NULL,
STATUS VARCHAR2(10) NULL, STATUS VARCHAR2(10) NULL,
DESCRIPTION VARCHAR2(100) NULL, DESCRIPTION VARCHAR2(100) NULL,
PRIMARY KEY (NOTIFICATION_ID), CONSTRAINT PK_DM_NOTIFICATION PRIMARY KEY (NOTIFICATION_ID),
CONSTRAINT fk_dm_device_notification FOREIGN KEY (DEVICE_ID) REFERENCES CONSTRAINT fk_dm_device_notification FOREIGN KEY (DEVICE_ID) REFERENCES
DM_DEVICE (ID), DM_DEVICE (ID),
CONSTRAINT fk_dm_operation_notification FOREIGN KEY (OPERATION_ID) REFERENCES CONSTRAINT fk_dm_operation_notification FOREIGN KEY (OPERATION_ID) REFERENCES
DM_OPERATION (ID) DM_OPERATION (ID)
); )
/
-- Generate ID using sequence and trigger -- Generate ID using sequence and trigger
CREATE SEQUENCE DM_NOTIFICATION_seq START WITH 1 INCREMENT BY 1; CREATE SEQUENCE DM_NOTIFICATION_seq START WITH 1 INCREMENT BY 1 NOCACHE
/
CREATE OR REPLACE TRIGGER DM_NOTIFICATION_seq_tr CREATE OR REPLACE TRIGGER DM_NOTIFICATION_seq_tr
BEFORE INSERT ON DM_NOTIFICATION FOR EACH ROW BEFORE INSERT
WHEN (NEW.NOTIFICATION_ID IS NULL) ON DM_NOTIFICATION
BEGIN REFERENCING NEW AS NEW
FOR EACH ROW
WHEN (NEW.NOTIFICATION_ID IS NULL)
BEGIN
SELECT DM_NOTIFICATION_seq.NEXTVAL INTO :NEW.NOTIFICATION_ID FROM DUAL; SELECT DM_NOTIFICATION_seq.NEXTVAL INTO :NEW.NOTIFICATION_ID FROM DUAL;
END; END;
/ /
-- NOTIFICATION TABLE END -- -- NOTIFICATION TABLE END --

@ -333,3 +333,4 @@ CREATE TABLE IF NOT EXISTS DM_NOTIFICATION (
); );
-- NOTIFICATION TABLE END -- -- NOTIFICATION TABLE END --

@ -1465,7 +1465,7 @@
<tomcat.jdbc.pooling.version>7.0.34.wso2v2</tomcat.jdbc.pooling.version> <tomcat.jdbc.pooling.version>7.0.34.wso2v2</tomcat.jdbc.pooling.version>
<!-- Carbon Deployment --> <!-- Carbon Deployment -->
<carbon.deployment.version>4.5.2</carbon.deployment.version> <carbon.deployment.version>4.6.0-alpha</carbon.deployment.version>
<!-- Carbon Identity --> <!-- Carbon Identity -->
<carbon.identity.version>4.6.0-SNAPSHOT</carbon.identity.version> <carbon.identity.version>4.6.0-SNAPSHOT</carbon.identity.version>

Loading…
Cancel
Save