Adding some fixes for the application management and visibility management.

feature/appm-store/pbac
sinthuja 7 years ago
parent 887675fda2
commit 2d4de10c6c

@ -37,7 +37,7 @@ public interface ApplicationManager {
* @return Created application
* @throws ApplicationManagementException Application Management Exception
*/
public Application createApplication(Application application) throws ApplicationManagementException;
Application createApplication(Application application) throws ApplicationManagementException;
/**
* Updates an already existing application.
@ -45,14 +45,14 @@ public interface ApplicationManager {
* @return Updated Application
* @throws ApplicationManagementException Application Management Exception
*/
public Application editApplication(Application application) throws ApplicationManagementException;
Application editApplication(Application application) throws ApplicationManagementException;
/**
* Delete an application identified by the unique ID.
* @param uuid Unique ID for tha application
* @throws ApplicationManagementException Application Management Exception
*/
public void deleteApplication(String uuid) throws ApplicationManagementException;
void deleteApplication(String uuid) throws ApplicationManagementException;
/**
* To get the applications based on the search filter.
@ -60,7 +60,7 @@ public interface ApplicationManager {
* @return Applications that matches the given filter criteria.
* @throws ApplicationManagementException Application Management Exception
*/
public ApplicationList getApplications(Filter filter) throws ApplicationManagementException;
ApplicationList getApplications(Filter filter) throws ApplicationManagementException;
/**
* To change the lifecycle of the Application.
@ -69,7 +69,7 @@ public interface ApplicationManager {
* @param lifecycleIdentifier New life-cycle that need to be changed.
* @throws ApplicationManagementException Application Management Exception.
*/
public void changeLifecycle(String applicationUuid, String lifecycleIdentifier) throws
void changeLifecycle(String applicationUuid, String lifecycleIdentifier) throws
ApplicationManagementException;
/**
@ -79,7 +79,7 @@ public interface ApplicationManager {
* @return the List of possible states
* @throws ApplicationManagementException Application Management Exception
*/
public List<LifecycleStateTransition> getLifeCycleStates(String applicationUUID)
List<LifecycleStateTransition> getLifeCycleStates(String applicationUUID)
throws ApplicationManagementException;
/**
@ -89,7 +89,5 @@ public interface ApplicationManager {
* @return the Application identified by the UUID
* @throws ApplicationManagementException Application Management Exception.
*/
public Application getApplication(String uuid) throws ApplicationManagementException;
Application getApplication(String uuid) throws ApplicationManagementException;
}

@ -35,23 +35,23 @@ public interface VisibilityManager {
* Update (if there is already existing configuration for the application)
* the visibility related configuration for the application
*
* @param applicationUUID The ID of the application
* @param applicationID The ID of the application
* @param visibility The visibility configuration for the particular application.
*/
void put(String applicationUUID, Visibility visibility) throws VisibilityManagementException;
Visibility put(int applicationID, Visibility visibility) throws VisibilityManagementException;
/**
* Returns the Visibility configuration of the provided applicationUUID.
*
* @param applicationUUID The ID of the application
* @param applicationID The ID of the application
* @return Visibility configuration
*/
Visibility get(String applicationUUID) throws VisibilityManagementException;
Visibility get(int applicationID) throws VisibilityManagementException;
/**
* Remove the visibility configuration mapping for the provided application.
*
* @param applicationUUID The ID of the application
* @param applicationID The ID of the application
*/
void remove(String applicationUUID) throws VisibilityManagementException;
void remove(int applicationID) throws VisibilityManagementException;
}

@ -71,7 +71,7 @@ public class GenericApplicationDAOImpl extends AbstractDAOImpl implements Applic
+ "VIDEO_NAME, SCREEN_SHOT_COUNT, CREATED_BY, CREATED_AT, MODIFIED_AT, "
+ "APPLICATION_CATEGORY_ID, PLATFORM_ID, TENANT_ID, LIFECYCLE_STATE_ID, "
+ "LIFECYCLE_STATE_MODIFIED_AT, LIFECYCLE_STATE_MODIFIED_BY) VALUES "
+ "(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
+ "(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
stmt = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
stmt.setString(++index, application.getUuid());
@ -132,7 +132,7 @@ public class GenericApplicationDAOImpl extends AbstractDAOImpl implements Applic
try {
conn = this.getDBConnection();
sql += "SELECT APP.*, APL.NAME AS APL_NAME, "
sql += "SELECT APP.*, APL.NAME AS APL_NAME, APL.IDENTIFIER AS APL_IDENTIFIER,"
+ "CAT.ID AS CAT_ID, CAT.NAME AS CAT_NAME, LS.NAME AS LS_NAME, LS.IDENTIFIER AS LS_IDENTIFIER, "
+ "LS.DESCRIPTION AS LS_DESCRIPTION FROM APPM_APPLICATION AS APP INNER JOIN APPM_PLATFORM AS "
+ "APL ON APP.PLATFORM_ID = APL.ID INNER JOIN APPM_APPLICATION_CATEGORY AS CAT ON "
@ -265,7 +265,7 @@ public class GenericApplicationDAOImpl extends AbstractDAOImpl implements Applic
try {
conn = this.getDBConnection();
sql += "SELECT APP.*, APL.NAME AS APL_NAME, "
sql += "SELECT APP.*, APL.NAME AS APL_NAME, APL.IDENTIFIER AS APL_IDENTIFIER,"
+ "CAT.ID AS CAT_ID, CAT.NAME AS CAT_NAME, LS.NAME AS LS_NAME, LS.IDENTIFIER AS LS_IDENTIFIER, "
+ "LS.DESCRIPTION AS LS_DESCRIPTION FROM APPM_APPLICATION AS APP INNER JOIN APPM_PLATFORM AS "
+ "APL ON APP.PLATFORM_ID = APL.ID INNER JOIN APPM_APPLICATION_CATEGORY AS CAT ON "

@ -51,11 +51,11 @@ public class GenericVisibilityDAOImpl extends AbstractDAOImpl implements Visibil
}
return -1;
} catch (DBConnectionException e) {
throw new VisibilityManagementDAOException("Error occured while obtaining the connection " +
"for the visibility management of applicatons");
throw new VisibilityManagementDAOException("Error occurred while obtaining the connection " +
"for the visibility management of applications", e);
} catch (SQLException e) {
throw new VisibilityManagementDAOException("Error occured when trying to get the ID of the" +
" visibility type - " + visibilityType.toString());
throw new VisibilityManagementDAOException("Error occurred when trying to get the ID of the" +
" visibility type - " + visibilityType.toString(), e);
} finally {
Util.cleanupResources(stmt, resultSet);
}
@ -67,7 +67,7 @@ public class GenericVisibilityDAOImpl extends AbstractDAOImpl implements Visibil
PreparedStatement stmt = null;
try {
Connection connection = getDBConnection();
String sql = "INSERT INTO APPM_VISIBILITY (?, ?, ?)";
String sql = "INSERT INTO APPM_VISIBILITY (VALUE, RESOURCE_TYPE_ID, APPLICATION_ID) VALUES (?, ?, ?)";
stmt = connection.prepareStatement(sql);
if (allowedList == null) {
stmt.setString(1, null);
@ -84,11 +84,11 @@ public class GenericVisibilityDAOImpl extends AbstractDAOImpl implements Visibil
stmt.executeBatch();
}
} catch (DBConnectionException e) {
throw new VisibilityManagementDAOException("Error occured while obtaining the connection " +
"for adding the visibility mapping for the application ID - " + applicationID);
throw new VisibilityManagementDAOException("Error occurred while obtaining the connection " +
"for adding the visibility mapping for the application ID - " + applicationID, e);
} catch (SQLException e) {
throw new VisibilityManagementDAOException("Error occured while adding the visibility mapping " +
"for the application ID - " + applicationID);
throw new VisibilityManagementDAOException("Error occurred while adding the visibility mapping " +
"for the application ID - " + applicationID, e);
} finally {
Util.cleanupResources(stmt, null);
}
@ -104,11 +104,11 @@ public class GenericVisibilityDAOImpl extends AbstractDAOImpl implements Visibil
stmt.setInt(1, applicationId);
stmt.execute();
} catch (DBConnectionException e) {
throw new VisibilityManagementDAOException("Error occured while obtaining the connection " +
"for deleting the visibility mapping for the application ID - " + applicationId);
throw new VisibilityManagementDAOException("Error occurred while obtaining the connection " +
"for deleting the visibility mapping for the application ID - " + applicationId, e);
} catch (SQLException e) {
throw new VisibilityManagementDAOException("Error occured while deleting the visibility mapping " +
"for the application ID - " + applicationId);
throw new VisibilityManagementDAOException("Error occurred while deleting the visibility mapping " +
"for the application ID - " + applicationId, e);
} finally {
Util.cleanupResources(stmt, null);
}
@ -144,11 +144,11 @@ public class GenericVisibilityDAOImpl extends AbstractDAOImpl implements Visibil
}
return visibility;
} catch (DBConnectionException e) {
throw new VisibilityManagementDAOException("Error occured while obtaining the connection " +
"for getting the visibility mapping for the application ID - " + applicationId);
throw new VisibilityManagementDAOException("Error occurred while obtaining the connection " +
"for getting the visibility mapping for the application ID - " + applicationId, e);
} catch (SQLException e) {
throw new VisibilityManagementDAOException("Error occured while getting the visibility mapping " +
"for the application ID - " + applicationId);
throw new VisibilityManagementDAOException("Error occurred while getting the visibility mapping " +
"for the application ID - " + applicationId, e);
} finally {
Util.cleanupResources(stmt, resultSet);
}

@ -22,19 +22,11 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.wso2.carbon.CarbonConstants;
import org.wso2.carbon.context.PrivilegedCarbonContext;
import org.wso2.carbon.device.application.mgt.common.Application;
import org.wso2.carbon.device.application.mgt.common.ApplicationList;
import org.wso2.carbon.device.application.mgt.common.Filter;
import org.wso2.carbon.device.application.mgt.common.Lifecycle;
import org.wso2.carbon.device.application.mgt.common.LifecycleState;
import org.wso2.carbon.device.application.mgt.common.LifecycleStateTransition;
import org.wso2.carbon.device.application.mgt.common.Platform;
import org.wso2.carbon.device.application.mgt.common.User;
import org.wso2.carbon.device.application.mgt.common.*;
import org.wso2.carbon.device.application.mgt.common.exception.ApplicationManagementException;
import org.wso2.carbon.device.application.mgt.common.services.ApplicationManager;
import org.wso2.carbon.device.application.mgt.core.dao.ApplicationDAO;
import org.wso2.carbon.device.application.mgt.core.dao.LifecycleStateDAO;
import org.wso2.carbon.device.application.mgt.core.dao.PlatformDAO;
import org.wso2.carbon.device.application.mgt.core.dao.common.DAOFactory;
import org.wso2.carbon.device.application.mgt.core.exception.ApplicationManagementDAOException;
import org.wso2.carbon.device.application.mgt.core.exception.NotFoundException;
@ -71,14 +63,15 @@ public class ApplicationManagerImpl implements ApplicationManager {
application.setCreatedAt(new Date());
application.setModifiedAt(new Date());
try {
ConnectionManagerUtil.beginDBTransaction();
Platform platform = DataHolder.getInstance().getPlatformManager().getPlatform(application.getUser()
.getTenantId(), application.getPlatform().getIdentifier());
// Validating the platform
Platform platform = DataHolder.getInstance().getPlatformManager()
.getPlatform(application.getUser().getTenantId(), application.getPlatform().getIdentifier());
if (platform == null) {
throw new NotFoundException("Invalid platform");
}
ConnectionManagerUtil.beginDBTransaction();
// Validating the platform
application.setPlatform(platform);
if (log.isDebugEnabled()) {
log.debug("Application creation pre-conditions are met and the platform mentioned by identifier "
@ -97,6 +90,7 @@ public class ApplicationManagerImpl implements ApplicationManager {
application.setCurrentLifecycle(lifecycle);
application = DAOFactory.getApplicationDAO().createApplication(application);
DataHolder.getInstance().getVisibilityManager().put(application.getId(), application.getVisibility());
ConnectionManagerUtil.commitDBTransaction();
return application;
} catch (ApplicationManagementException e) {
@ -120,24 +114,27 @@ public class ApplicationManagerImpl implements ApplicationManager {
+ "application with the UUID " + application.getUuid());
}
try {
ConnectionManagerUtil.beginDBTransaction();
if (application.getPlatform() != null && application.getPlatform().getIdentifier() != null) {
Platform platform = DataHolder.getInstance().getPlatformManager()
.getPlatform(tenantId, application.getPlatform().getIdentifier());
if (platform == null) {
ConnectionManagerUtil.commitDBTransaction();
throw new NotFoundException(
"Platform specified by identifier " + application.getPlatform().getIdentifier()
+ " is not found. Please give a valid platform identifier.");
}
application.setPlatform(platform);
ConnectionManagerUtil.beginDBTransaction();
ApplicationDAO applicationDAO = DAOFactory.getApplicationDAO();
application.setModifiedAt(new Date());
Application modifiedApplication = applicationDAO.editApplication(application, tenantId);
Visibility visibility = DataHolder.getInstance().getVisibilityManager().put(application.getId(),
application.getVisibility());
modifiedApplication.setVisibility(visibility);
ConnectionManagerUtil.commitDBTransaction();
return modifiedApplication;
} else {
throw new NotFoundException("Platform information not available with the application!");
}
ApplicationDAO applicationDAO = DAOFactory.getApplicationDAO();
application.setModifiedAt(new Date());
Application modifiedApplication = applicationDAO.editApplication(application, tenantId);
DataHolder.getInstance().getVisibilityManager().put(application.getUuid(), application.getVisibility());
ConnectionManagerUtil.commitDBTransaction();
return modifiedApplication;
} catch (ApplicationManagementDAOException e) {
ConnectionManagerUtil.rollbackDBTransaction();
throw e;
@ -160,8 +157,8 @@ public class ApplicationManagerImpl implements ApplicationManager {
int appId = applicationDAO.getApplicationId(uuid, tenantId);
applicationDAO.deleteTags(appId);
applicationDAO.deleteProperties(appId);
DataHolder.getInstance().getVisibilityManager().remove(appId);
applicationDAO.deleteApplication(uuid, tenantId);
DataHolder.getInstance().getVisibilityManager().remove(uuid);
ConnectionManagerUtil.commitDBTransaction();
} catch (ApplicationManagementDAOException e) {
ConnectionManagerUtil.rollbackDBTransaction();
@ -192,7 +189,7 @@ public class ApplicationManagerImpl implements ApplicationManager {
ApplicationDAO applicationDAO = DAOFactory.getApplicationDAO();
ApplicationList applicationList = applicationDAO.getApplications(filter, tenantId);
for (Application application : applicationList.getApplications()) {
application.setVisibility(DataHolder.getInstance().getVisibilityManager().get(application.getUuid()));
application.setVisibility(DataHolder.getInstance().getVisibilityManager().get(application.getId()));
}
return applicationList;
} finally {
@ -307,8 +304,10 @@ public class ApplicationManagerImpl implements ApplicationManager {
}
try {
ConnectionManagerUtil.openDBConnection();
Application application = DAOFactory.getApplicationDAO().getApplication(uuid, tenantId, userName);
application.setVisibility(DataHolder.getInstance().getVisibilityManager().get(uuid));
Application application = DAOFactory.getApplicationDAO().getApplication(uuid, tenantId, userName);
if (application != null) {
application.setVisibility(DataHolder.getInstance().getVisibilityManager().get(application.getId()));
}
return application;
} finally {
ConnectionManagerUtil.closeDBConnection();

@ -17,16 +17,12 @@
*/
package org.wso2.carbon.device.application.mgt.core.impl;
import org.wso2.carbon.device.application.mgt.common.Application;
import org.wso2.carbon.device.application.mgt.common.Visibility;
import org.wso2.carbon.device.application.mgt.common.exception.ApplicationManagementException;
import org.wso2.carbon.device.application.mgt.common.exception.DBConnectionException;
import org.wso2.carbon.device.application.mgt.common.exception.TransactionManagementException;
import org.wso2.carbon.device.application.mgt.common.exception.VisibilityManagementException;
import org.wso2.carbon.device.application.mgt.common.services.VisibilityManager;
import org.wso2.carbon.device.application.mgt.core.dao.VisibilityDAO;
import org.wso2.carbon.device.application.mgt.core.dao.common.DAOFactory;
import org.wso2.carbon.device.application.mgt.core.internal.DataHolder;
import org.wso2.carbon.device.application.mgt.core.util.ConnectionManagerUtil;
/**
@ -35,36 +31,35 @@ import org.wso2.carbon.device.application.mgt.core.util.ConnectionManagerUtil;
public class VisibilityManagerImpl implements VisibilityManager {
@Override
public void put(String applicationUUID, Visibility visibility) throws VisibilityManagementException {
public Visibility put(int applicationID, Visibility visibility) throws VisibilityManagementException {
if (visibility == null){
visibility = new Visibility();
visibility.setType(Visibility.Type.PUBLIC);
}
if (visibility.getAllowedList() == null && !visibility.getType().equals(Visibility.Type.PUBLIC)) {
throw new VisibilityManagementException("Visibility is configured for '" + visibility.getType()
+ "' but doesn't have any allowed list provided!");
}
boolean isTransactionStarted = false;
try {
Application application = DataHolder.getInstance().getApplicationManager().getApplication(applicationUUID);
if (application != null) {
isTransactionStarted = ConnectionManagerUtil.isTransactionStarted();
if (!isTransactionStarted) {
ConnectionManagerUtil.beginDBTransaction();
}
int id = application.getId();
VisibilityDAO visibilityDAO = DAOFactory.getVisibilityDAO();
int visibilityTypeId = visibilityDAO.getVisibilityID(visibility.getType());
visibilityDAO.delete(id);
visibilityDAO.add(id, visibilityTypeId, visibility.getAllowedList());
if (!isTransactionStarted) {
ConnectionManagerUtil.commitDBTransaction();
}
} else {
throw new VisibilityManagementException("No application was found with application UUID - " + applicationUUID);
isTransactionStarted = ConnectionManagerUtil.isTransactionStarted();
if (!isTransactionStarted) {
ConnectionManagerUtil.beginDBTransaction();
}
VisibilityDAO visibilityDAO = DAOFactory.getVisibilityDAO();
int visibilityTypeId = visibilityDAO.getVisibilityID(visibility.getType());
visibilityDAO.delete(applicationID);
visibilityDAO.add(applicationID, visibilityTypeId, visibility.getAllowedList());
if (!isTransactionStarted) {
ConnectionManagerUtil.commitDBTransaction();
}
return visibility;
} catch (ApplicationManagementException e) {
if (!isTransactionStarted){
if (!isTransactionStarted) {
ConnectionManagerUtil.rollbackDBTransaction();
}
throw new VisibilityManagementException("Problem occured when trying to fetch the application with UUID - "
+ applicationUUID, e);
throw new VisibilityManagementException("Problem occured when trying to fetch the application with ID - "
+ applicationID, e);
} finally {
if (!isTransactionStarted) {
ConnectionManagerUtil.closeDBConnection();
@ -73,47 +68,39 @@ public class VisibilityManagerImpl implements VisibilityManager {
}
@Override
public Visibility get(String applicationUUID) throws VisibilityManagementException {
public Visibility get(int applicationID) throws VisibilityManagementException {
try {
Application application = DataHolder.getInstance().getApplicationManager().getApplication(applicationUUID);
if (application != null) {
int id = application.getId();
VisibilityDAO visibilityDAO = DAOFactory.getVisibilityDAO();
return visibilityDAO.get(id);
} else {
throw new VisibilityManagementException("No application was found with application UUID - " + applicationUUID);
VisibilityDAO visibilityDAO = DAOFactory.getVisibilityDAO();
Visibility visibility = visibilityDAO.get(applicationID);
if (visibility.getType() == null && (visibility.getAllowedList() == null || visibility.getAllowedList().isEmpty())){
visibility.setType(Visibility.Type.PUBLIC);
}
return visibility;
} catch (ApplicationManagementException e) {
throw new VisibilityManagementException("Problem occured when trying to fetch the application with UUID - "
+ applicationUUID, e);
throw new VisibilityManagementException("Problem occured when trying to fetch the application with ID - "
+ applicationID, e);
}
}
@Override
public void remove(String applicationUUID) throws VisibilityManagementException {
public void remove(int applicationID) throws VisibilityManagementException {
boolean isTransactionStarted = false;
try {
Application application = DataHolder.getInstance().getApplicationManager().getApplication(applicationUUID);
if (application != null) {
isTransactionStarted = ConnectionManagerUtil.isTransactionStarted();
if (!isTransactionStarted) {
ConnectionManagerUtil.beginDBTransaction();
}
int id = application.getId();
VisibilityDAO visibilityDAO = DAOFactory.getVisibilityDAO();
visibilityDAO.delete(id);
if (!isTransactionStarted) {
ConnectionManagerUtil.commitDBTransaction();
}
} else {
throw new VisibilityManagementException("No application was found with application UUID - " + applicationUUID);
isTransactionStarted = ConnectionManagerUtil.isTransactionStarted();
if (!isTransactionStarted) {
ConnectionManagerUtil.beginDBTransaction();
}
VisibilityDAO visibilityDAO = DAOFactory.getVisibilityDAO();
visibilityDAO.delete(applicationID);
if (!isTransactionStarted) {
ConnectionManagerUtil.commitDBTransaction();
}
} catch (ApplicationManagementException e) {
if (!isTransactionStarted){
if (!isTransactionStarted) {
ConnectionManagerUtil.rollbackDBTransaction();
}
throw new VisibilityManagementException("Problem occurred when trying to fetch the application with UUID - "
+ applicationUUID, e);
throw new VisibilityManagementException("Problem occurred when trying to fetch the application with ID - "
+ applicationID, e);
} finally {
if (!isTransactionStarted) {
ConnectionManagerUtil.closeDBConnection();

@ -7,7 +7,6 @@
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS APPM_PLATFORM (
ID INT NOT NULL AUTO_INCREMENT UNIQUE,
IDENTIFIER VARCHAR (100) NOT NULL,
TENANT_ID INT NOT NULL ,
NAME VARCHAR (255),
FILE_BASED BOOLEAN,
@ -220,6 +219,13 @@ CREATE TABLE IF NOT EXISTS APPM_RESOURCE_TYPE (
DESCRIPTION TEXT NULL,
PRIMARY KEY (ID));
INSERT INTO APPM_RESOURCE_TYPE (NAME , DESCRIPTION) VALUES ('PUBLIC', 'OPEN VISIBILITY, CAN BE VIEWED BY ALL LOGGED IN USERS');
INSERT INTO APPM_RESOURCE_TYPE (NAME , DESCRIPTION) VALUES ('ROLES', 'ROLE BASED RESTRICTION, CAN BE VIEWED BY ONLY GIVEN
SET OF USER WHO HAVE THE SPECIFIED ROLE');
INSERT INTO APPM_RESOURCE_TYPE (NAME , DESCRIPTION) VALUES ('DEVICE_GROUPS', 'DEVICE GROUP LEVEL RESTRICTION,
CAN BE VIEWED BY THE DEVICES/ROLES BELONG TO THE GROUP');
-- -----------------------------------------------------
-- Table APPM_SUBSCRIPTION
-- -----------------------------------------------------
@ -310,29 +316,22 @@ CREATE INDEX FK_APPLICATION_TAG_APPLICATION ON APPM_APPLICATION_TAG(APPLICATION_
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS APPM_VISIBILITY (
ID INT NOT NULL AUTO_INCREMENT,
VALUE VARCHAR(255) NOT NULL,
VALUE VARCHAR(255),
RESOURCE_TYPE_ID INT NOT NULL,
APPLICATION_RELEASE_ID INT NULL,
APPLICATION_ID INT NULL,
PRIMARY KEY (ID, RESOURCE_TYPE_ID),
CONSTRAINT fk_APPM_VISIBILITY_APPM_RESOURCE_TYPE1
FOREIGN KEY (RESOURCE_TYPE_ID)
REFERENCES APPM_RESOURCE_TYPE (ID)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT fk_APPM_VISIBILITY_APPM_APPLICATION_RELEASE1
FOREIGN KEY (APPLICATION_RELEASE_ID)
REFERENCES APPM_APPLICATION_RELEASE (ID)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
ON DELETE CASCADE,
ON UPDATE CASCADE,
CONSTRAINT fk_APPM_VISIBILITY_APPM_APPLICATION1
FOREIGN KEY (APPLICATION_ID)
REFERENCES APPM_APPLICATION (ID)
ON DELETE NO ACTION
ON UPDATE NO ACTION);
ON DELETE CASCADE,
ON UPDATE CASCADE);
CREATE INDEX FK_APPM_VISIBILITY_RESOURCE_TYPE ON APPM_VISIBILITY(RESOURCE_TYPE_ID ASC);
CREATE INDEX FK_VISIBILITY_APPLICATION_RELEASE ON APPM_VISIBILITY(APPLICATION_RELEASE_ID ASC);
CREATE INDEX FK_VISIBILITY_APPLICATION ON APPM_VISIBILITY(APPLICATION_ID ASC);
-- -----------------------------------------------------

@ -1,7 +1,6 @@
IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[APPM_PLATFORM]') AND TYPE IN (N'U'))
CREATE TABLE APPM_PLATFORM (
ID INT IDENTITY(1,1) NOT NULL UNIQUE,
IDENTIFIER VARCHAR (100) NOT NULL,
TENANT_ID INT NOT NULL ,
NAME VARCHAR (255),
FILE_BASED BIT,

@ -16,7 +16,6 @@ SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES';
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS APPM_PLATFORM (
ID INT NOT NULL AUTO_INCREMENT UNIQUE,
IDENTIFIER VARCHAR (100) NOT NULL,
TENANT_ID INT NOT NULL ,
NAME VARCHAR (255),
FILE_BASED BOOLEAN,
@ -233,6 +232,12 @@ CREATE TABLE IF NOT EXISTS `APPM_RESOURCE_TYPE` (
PRIMARY KEY (`ID`))
ENGINE = InnoDB;
INSERT INTO APPM_RESOURCE_TYPE (NAME , DESCRIPTION) VALUES ('PUBLIC', 'OPEN VISIBILITY, CAN BE VIEWED BY ALL LOGGED IN USERS');
INSERT INTO APPM_RESOURCE_TYPE (NAME , DESCRIPTION) VALUES ('ROLES', 'ROLE BASED RESTRICTION, CAN BE VIEWED BY ONLY GIVEN
SET OF USER WHO HAVE THE SPECIFIED ROLE');
INSERT INTO APPM_RESOURCE_TYPE (NAME , DESCRIPTION) VALUES ('DEVICE_GROUPS', 'DEVICE GROUP LEVEL RESTRICTION,
CAN BE VIEWED BY THE DEVICES/ROLES BELONG TO THE GROUP');
-- -----------------------------------------------------
-- Table `APPM_SUBSCRIPTION`
@ -350,7 +355,7 @@ CREATE TABLE IF NOT EXISTS `APPM_APPLICATION_TAG` (
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `APPM_VISIBILITY` (
`ID` INT NOT NULL AUTO_INCREMENT,
`VALUE` VARCHAR(255) NOT NULL,
`VALUE` VARCHAR(255),
`RESOURCE_TYPE_ID` INT NOT NULL,
`APPLICATION_ID` INT NULL,
PRIMARY KEY (`ID`),

@ -7,7 +7,6 @@
-- -----------------------------------------------------
CREATE TABLE APPM_PLATFORM (
ID INT UNIQUE,
IDENTIFIER VARCHAR (100) NOT NULL,
TENANT_ID INT NOT NULL ,
NAME VARCHAR (255),
FILE_BASED NUMBER (1),

@ -4,7 +4,6 @@ CREATE SEQUENCE APPM_PLATFORM_PK_SEQ;
CREATE TABLE APPM_PLATFORM (
ID INT DEFAULT NEXTVAL('APPM_PLATFORM_PK_SEQ') UNIQUE,
IDENTIFIER VARCHAR (100) NOT NULL,
TENANT_ID INT NOT NULL ,
NAME VARCHAR (255),
FILE_BASED BOOLEAN,

Loading…
Cancel
Save