mirror of
https://repository.entgra.net/community/device-mgt-core.git
synced 2025-10-06 02:01:45 +00:00
Added MySQL DAO
This commit is contained in:
parent
1095151085
commit
c53e5d5e70
@ -2009,7 +2009,7 @@ parameters:
|
||||
name: limit
|
||||
in: query
|
||||
description: |
|
||||
Maximum size of resource array to return.
|
||||
Maximum length of resource array to return.
|
||||
default: 25
|
||||
type: integer
|
||||
|
||||
|
||||
@ -1568,7 +1568,7 @@ parameters:
|
||||
name: limit
|
||||
in: query
|
||||
description: |
|
||||
Maximum size of resource array to return.
|
||||
Maximum length of resource array to return.
|
||||
default: 25
|
||||
type: integer
|
||||
|
||||
|
||||
@ -21,6 +21,7 @@ package org.wso2.carbon.device.application.mgt.api.common;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.GsonBuilder;
|
||||
import org.wso2.carbon.device.application.mgt.core.jaxrs.AnnotationExclusionStrategy;
|
||||
|
||||
import javax.ws.rs.Consumes;
|
||||
import javax.ws.rs.Produces;
|
||||
@ -50,7 +51,7 @@ public class GsonMessageBodyHandler implements MessageBodyWriter<Object>, Messag
|
||||
|
||||
private Gson getGson() {
|
||||
if (gson == null) {
|
||||
final GsonBuilder gsonBuilder = new GsonBuilder();
|
||||
final GsonBuilder gsonBuilder = new GsonBuilder().setExclusionStrategies(new AnnotationExclusionStrategy());
|
||||
gson = gsonBuilder.create();
|
||||
}
|
||||
return gson;
|
||||
|
||||
@ -1,88 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||
* Version 2.0 (the "License"); you may not use this file except
|
||||
* in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*
|
||||
*/
|
||||
package org.wso2.carbon.device.application.mgt.api.dto;
|
||||
|
||||
import org.codehaus.jackson.annotate.JsonIgnore;
|
||||
import org.wso2.carbon.device.application.mgt.core.dto.Application;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class StoreApplication {
|
||||
|
||||
private int id;
|
||||
|
||||
private String uuid;
|
||||
|
||||
private String iconName;
|
||||
|
||||
private String bannerName;
|
||||
|
||||
private List<String> screenshotNames;
|
||||
|
||||
private Application application;
|
||||
|
||||
@JsonIgnore
|
||||
public int getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(int id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getUuid() {
|
||||
return uuid;
|
||||
}
|
||||
|
||||
public void setUuid(String uuid) {
|
||||
this.uuid = uuid;
|
||||
}
|
||||
|
||||
public String getIconName() {
|
||||
return iconName;
|
||||
}
|
||||
|
||||
public void setIconName(String iconName) {
|
||||
this.iconName = iconName;
|
||||
}
|
||||
|
||||
public String getBannerName() {
|
||||
return bannerName;
|
||||
}
|
||||
|
||||
public void setBannerName(String bannerName) {
|
||||
this.bannerName = bannerName;
|
||||
}
|
||||
|
||||
public List<String> getScreenshotNames() {
|
||||
return screenshotNames;
|
||||
}
|
||||
|
||||
public void setScreenshotNames(List<String> screenshotNames) {
|
||||
this.screenshotNames = screenshotNames;
|
||||
}
|
||||
|
||||
public Application getApplication() {
|
||||
return application;
|
||||
}
|
||||
|
||||
public void setApplication(Application application) {
|
||||
this.application = application;
|
||||
}
|
||||
}
|
||||
@ -1,59 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||
* Version 2.0 (the "License"); you may not use this file except
|
||||
* in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*
|
||||
*/
|
||||
package org.wso2.carbon.device.application.mgt.api.responses;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import org.apache.commons.beanutils.BeanUtils;
|
||||
import org.wso2.carbon.device.application.mgt.api.dto.StoreApplication;
|
||||
import org.wso2.carbon.device.application.mgt.core.dto.Application;
|
||||
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@XmlRootElement
|
||||
public class ApplicationsListResponse {
|
||||
|
||||
@ApiModelProperty(value = "List of applications types returned")
|
||||
@JsonProperty("applications")
|
||||
@XmlElement
|
||||
private List<StoreApplication> applications;
|
||||
|
||||
public ApplicationsListResponse(List<org.wso2.carbon.device.application.mgt.core.dto.StoreApplication> applications)
|
||||
throws InvocationTargetException, IllegalAccessException {
|
||||
this.applications = new ArrayList<>();
|
||||
for(org.wso2.carbon.device.application.mgt.core.dto.StoreApplication applicationDTO : applications){
|
||||
StoreApplication application = new StoreApplication();
|
||||
BeanUtils.copyProperties(application, applicationDTO);
|
||||
this.applications.add(application);
|
||||
}
|
||||
}
|
||||
|
||||
public List<StoreApplication> getApplications() {
|
||||
return applications;
|
||||
}
|
||||
|
||||
public void setApplications(List<StoreApplication> applications) {
|
||||
this.applications = applications;
|
||||
}
|
||||
|
||||
}
|
||||
@ -20,12 +20,11 @@ package org.wso2.carbon.device.application.mgt.api.services;
|
||||
|
||||
import io.swagger.annotations.*;
|
||||
import org.wso2.carbon.device.application.mgt.api.beans.ErrorResponse;
|
||||
import org.wso2.carbon.device.application.mgt.api.responses.ApplicationsListResponse;
|
||||
import org.wso2.carbon.device.application.mgt.core.dto.ApplicationList;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.ws.rs.*;
|
||||
import javax.ws.rs.core.Context;
|
||||
import javax.ws.rs.core.MediaType;
|
||||
import javax.ws.rs.core.Response;
|
||||
|
||||
@Api(value = "Application Management", description = "This API carries all device management related operations " +
|
||||
"such as get all the available devices, etc.")
|
||||
@ -57,7 +56,7 @@ public interface ApplicationManagementService {
|
||||
@ApiResponse(
|
||||
code = 200,
|
||||
message = "OK. \n Successfully got application list.",
|
||||
response = ApplicationsListResponse.class),
|
||||
response = ApplicationList.class),
|
||||
@ApiResponse(
|
||||
code = 304,
|
||||
message = "Not Modified. \n " +
|
||||
@ -67,8 +66,8 @@ public interface ApplicationManagementService {
|
||||
message = "Internal Server Error. \n Error occurred while getting the application list.",
|
||||
response = ErrorResponse.class)
|
||||
})
|
||||
ApplicationsListResponse getApplications(@Context final HttpServletResponse servletResponse,
|
||||
@ApiParam(
|
||||
Response getApplications(
|
||||
@ApiParam(
|
||||
name = "If-Modified-Since",
|
||||
value = "Validates if the requested variant has not been modified since the time specified",
|
||||
required = false)
|
||||
|
||||
@ -18,20 +18,17 @@
|
||||
*/
|
||||
package org.wso2.carbon.device.application.mgt.api.services.impl;
|
||||
|
||||
import org.apache.commons.beanutils.BeanUtils;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.wso2.carbon.device.application.mgt.api.responses.ApplicationsListResponse;
|
||||
import org.wso2.carbon.device.application.mgt.core.components.ApplicationManager;
|
||||
import org.wso2.carbon.device.application.mgt.core.exception.ApplicationManagerException;
|
||||
import org.wso2.carbon.device.application.mgt.core.dto.ApplicationList;
|
||||
import org.wso2.carbon.device.application.mgt.core.util.ApplicationManagementUtil;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.ws.rs.*;
|
||||
import javax.ws.rs.core.Context;
|
||||
import javax.ws.rs.Consumes;
|
||||
import javax.ws.rs.GET;
|
||||
import javax.ws.rs.Path;
|
||||
import javax.ws.rs.Produces;
|
||||
import javax.ws.rs.core.Response;
|
||||
import java.io.IOException;
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
|
||||
@Produces({ "application/json"})
|
||||
@Consumes({ "application/json"})
|
||||
@ -43,21 +40,15 @@ public class ApplicationManagementServiceImpl {
|
||||
@GET
|
||||
@Consumes("application/json")
|
||||
@Path("applications")
|
||||
public ApplicationsListResponse getApplications(@Context final HttpServletResponse servletResponse) {
|
||||
public Response getApplications() {
|
||||
ApplicationManager applicationManager = ApplicationManagementUtil.getApplicationManager();
|
||||
try {
|
||||
ApplicationsListResponse applicationsListResponse =
|
||||
new ApplicationsListResponse(applicationManager.getApplications());
|
||||
return applicationsListResponse;
|
||||
ApplicationList applications = applicationManager.getApplications();
|
||||
return Response.status(Response.Status.OK).entity(applications).build();
|
||||
} catch (Exception e) {
|
||||
String msg = "Error occurred while getting the application list";
|
||||
log.error(msg, e);
|
||||
try {
|
||||
servletResponse.sendError(Response.Status.NOT_FOUND.getStatusCode());
|
||||
} catch (IOException e1) {
|
||||
log.error(msg, e1);
|
||||
}
|
||||
return null;
|
||||
return Response.status(Response.Status.NOT_FOUND).build();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -17,6 +17,6 @@ http://cxf.apache.org/jaxrs http://cxf.apache.org/schemas/jaxrs.xsd">
|
||||
</jaxrs:server>
|
||||
|
||||
<bean id="applicationMgtServiceBean" class="org.wso2.carbon.device.application.mgt.api.services.impl.ApplicationManagementServiceImpl"/>
|
||||
<bean id="jsonProvider" class="org.codehaus.jackson.jaxrs.JacksonJsonProvider"/>
|
||||
<bean id="jsonProvider" class="org.wso2.carbon.device.application.mgt.api.common.GsonMessageBodyHandler"/>
|
||||
|
||||
</beans>
|
||||
@ -85,6 +85,7 @@
|
||||
org.json,
|
||||
org.xml.sax,
|
||||
javax.sql,
|
||||
com.google.gson,
|
||||
<!--javax.cache,-->
|
||||
javax.naming,
|
||||
javax.xml.bind.annotation,
|
||||
@ -93,6 +94,7 @@
|
||||
org.wso2.carbon.device.mgt.common.*,
|
||||
io.swagger.annotations.*;resolution:=optional,
|
||||
org.wso2.carbon.device.mgt.core.*,
|
||||
org.wso2.carbon.device.mgt.core.utils.*,
|
||||
org.wso2.carbon.registry.indexing.*,
|
||||
<!--org.bouncycastle.pkcs.jcajce-->
|
||||
</Import-Package>
|
||||
|
||||
@ -19,16 +19,15 @@
|
||||
package org.wso2.carbon.device.application.mgt.core.components;
|
||||
|
||||
import org.wso2.carbon.device.application.mgt.core.dto.Application;
|
||||
import org.wso2.carbon.device.application.mgt.core.dto.StoreApplication;
|
||||
import org.wso2.carbon.device.application.mgt.core.dto.ApplicationList;
|
||||
import org.wso2.carbon.device.application.mgt.core.exception.ApplicationManagerException;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public interface ApplicationManager {
|
||||
|
||||
public void createApplication(Application application) throws ApplicationManagerException;
|
||||
|
||||
public List<StoreApplication> getApplications() throws ApplicationManagerException;
|
||||
public ApplicationList getApplications() throws ApplicationManagerException;
|
||||
|
||||
}
|
||||
|
||||
@ -22,16 +22,12 @@ import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.wso2.carbon.device.application.mgt.core.components.ApplicationManager;
|
||||
import org.wso2.carbon.device.application.mgt.core.dao.ApplicationManagementDAO;
|
||||
import org.wso2.carbon.device.application.mgt.core.dao.ApplicationManagementDAOException;
|
||||
import org.wso2.carbon.device.application.mgt.core.dao.ApplicationManagementDAOImpl;
|
||||
import org.wso2.carbon.device.application.mgt.core.dto.Application;
|
||||
import org.wso2.carbon.device.application.mgt.core.dto.StoreApplication;
|
||||
import org.wso2.carbon.device.application.mgt.core.dto.ApplicationList;
|
||||
import org.wso2.carbon.device.application.mgt.core.exception.ApplicationManagerException;
|
||||
import org.wso2.carbon.device.application.mgt.core.internal.ApplicationManagementDataHolder;
|
||||
import org.wso2.carbon.device.application.mgt.core.util.ConnectionManagerUtil;
|
||||
|
||||
import java.sql.SQLException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class ApplicationManagerImpl implements ApplicationManager {
|
||||
@ -56,11 +52,10 @@ public class ApplicationManagerImpl implements ApplicationManager {
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<StoreApplication> getApplications() throws ApplicationManagerException {
|
||||
public ApplicationList getApplications() throws ApplicationManagerException {
|
||||
ConnectionManagerUtil.openConnection();
|
||||
ApplicationManagementDAO applicationManagementDAO = ApplicationManagementDataHolder.getInstance().getApplicationManagementDAO();
|
||||
List<StoreApplication> applications = null;
|
||||
applications = applicationManagementDAO.getApplications();
|
||||
ApplicationList applications = applicationManagementDAO.getApplications();
|
||||
ConnectionManagerUtil.closeConnection();
|
||||
return applications;
|
||||
}
|
||||
|
||||
@ -18,9 +18,8 @@
|
||||
*/
|
||||
package org.wso2.carbon.device.application.mgt.core.dao;
|
||||
|
||||
import org.apache.axis2.databinding.types.Day;
|
||||
import org.wso2.carbon.device.application.mgt.core.dto.Application;
|
||||
import org.wso2.carbon.device.application.mgt.core.dto.StoreApplication;
|
||||
import org.wso2.carbon.device.application.mgt.core.dto.ApplicationList;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
@ -58,8 +57,8 @@ public interface ApplicationManagementDAO {
|
||||
}
|
||||
}
|
||||
|
||||
public void createApplication(StoreApplication application) throws ApplicationManagementDAOException;
|
||||
public void createApplication(Application application) throws ApplicationManagementDAOException;
|
||||
|
||||
public List<StoreApplication> getApplications() throws ApplicationManagementDAOException;
|
||||
public ApplicationList getApplications() throws ApplicationManagementDAOException;
|
||||
|
||||
}
|
||||
|
||||
@ -0,0 +1,58 @@
|
||||
/*
|
||||
* Copyright (c) 2017, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||
* Version 2.0 (the "License"); you may not use this file except
|
||||
* in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*
|
||||
*/
|
||||
package org.wso2.carbon.device.application.mgt.core.dao;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.wso2.carbon.device.application.mgt.core.config.datasource.DataSourceConfig;
|
||||
import org.wso2.carbon.device.application.mgt.core.dao.impl.GenericAppManagementDAO;
|
||||
import org.wso2.carbon.device.application.mgt.core.util.ConnectionManagerUtil;
|
||||
|
||||
import javax.sql.DataSource;
|
||||
import java.sql.SQLException;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class ApplicationManagementDAOFactory {
|
||||
|
||||
public static final String H2 = "H2";
|
||||
private ApplicationManagementDAO.DatabaseType databaseType;
|
||||
private static DataSource dataSource;
|
||||
|
||||
private static final Log log = LogFactory.getLog(ApplicationManagementDAOFactory.class);
|
||||
|
||||
public ApplicationManagementDAOFactory(DataSourceConfig dataSourceConfig) {
|
||||
dataSource = ConnectionManagerUtil.resolveDataSource(dataSourceConfig);
|
||||
ConnectionManagerUtil.setDataSource(dataSource);
|
||||
String databaseEngine = H2;
|
||||
try {
|
||||
databaseEngine = dataSource.getConnection().getMetaData().getDatabaseProductName();
|
||||
} catch (SQLException e) {
|
||||
log.error("Error occurred while retrieving config.datasource connection", e);
|
||||
}
|
||||
this.databaseType = ApplicationManagementDAO.DatabaseType.lookup(databaseEngine);
|
||||
}
|
||||
|
||||
public ApplicationManagementDAO getApplicationManagementDAO(){
|
||||
switch (databaseType) {
|
||||
default:
|
||||
return new GenericAppManagementDAO();
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,96 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||
* Version 2.0 (the "License"); you may not use this file except
|
||||
* in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*
|
||||
*/
|
||||
package org.wso2.carbon.device.application.mgt.core.dao;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.json.JSONException;
|
||||
import org.wso2.carbon.device.application.mgt.core.config.datasource.DataSourceConfig;
|
||||
import org.wso2.carbon.device.application.mgt.core.dto.StoreApplication;
|
||||
import org.wso2.carbon.device.application.mgt.core.util.ConnectionManagerUtil;
|
||||
import org.wso2.carbon.device.application.mgt.core.dto.Application;
|
||||
|
||||
import javax.sql.DataSource;
|
||||
import java.sql.Connection;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class ApplicationManagementDAOImpl implements ApplicationManagementDAO {
|
||||
|
||||
private DatabaseType databaseType;
|
||||
private static DataSource dataSource;
|
||||
|
||||
private static final String TABLE_PREFIX = "APPM";
|
||||
|
||||
private static final Log log = LogFactory.getLog(ApplicationManagementDAOImpl.class);
|
||||
|
||||
public ApplicationManagementDAOImpl(DataSourceConfig dataSourceConfig) {
|
||||
dataSource = ConnectionManagerUtil.resolveDataSource(dataSourceConfig);
|
||||
ConnectionManagerUtil.setDataSource(dataSource);
|
||||
String databaseEngine = "H2";
|
||||
try {
|
||||
databaseEngine = dataSource.getConnection().getMetaData().getDatabaseProductName();
|
||||
} catch (SQLException e) {
|
||||
log.error("Error occurred while retrieving config.datasource connection", e);
|
||||
}
|
||||
this.databaseType = DatabaseType.lookup(databaseEngine);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void createApplication(StoreApplication application) throws ApplicationManagementDAOException {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<StoreApplication> getApplications() throws ApplicationManagementDAOException {
|
||||
|
||||
Connection conn = null;
|
||||
PreparedStatement stmt = null;
|
||||
ResultSet rs = null;
|
||||
String sql = null;
|
||||
List<StoreApplication> applications;
|
||||
|
||||
try {
|
||||
conn = ConnectionManagerUtil.getCurrentConnection().get();
|
||||
switch (databaseType) {
|
||||
case H2:
|
||||
case MYSQL:
|
||||
sql = "SELECT * FROM APPM_STORE_APPLICATION";
|
||||
}
|
||||
|
||||
stmt = conn.prepareStatement(sql);
|
||||
rs = stmt.executeQuery();
|
||||
applications = new ArrayList<>();
|
||||
while (rs.next()) {
|
||||
applications.add(ApplicationManagementDAOUtil.loadApplication(rs));
|
||||
}
|
||||
|
||||
} catch (SQLException e) {
|
||||
throw new ApplicationManagementDAOException("Error occurred while getting application List", e);
|
||||
} catch (JSONException e) {
|
||||
throw new ApplicationManagementDAOException("Error occurred while parsing JSON", e);
|
||||
} finally {
|
||||
ApplicationManagementDAOUtil.cleanupResources(stmt, rs);
|
||||
}
|
||||
return applications;
|
||||
}
|
||||
}
|
||||
@ -24,26 +24,49 @@ import org.json.JSONArray;
|
||||
import org.json.JSONException;
|
||||
import org.wso2.carbon.device.application.mgt.core.dto.Application;
|
||||
import org.wso2.carbon.device.application.mgt.core.dto.ApplicationType;
|
||||
import org.wso2.carbon.device.application.mgt.core.dto.StoreApplication;
|
||||
import org.wso2.carbon.device.application.mgt.core.dto.Category;
|
||||
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public class ApplicationManagementDAOUtil {
|
||||
|
||||
private static final Log log = LogFactory.getLog(ApplicationManagementDAOUtil.class);
|
||||
|
||||
public static StoreApplication loadApplication(ResultSet rs) throws SQLException, JSONException {
|
||||
public static Application loadApplication(ResultSet rs , ResultSet rsProperties) throws SQLException, JSONException {
|
||||
Application application = new Application();
|
||||
application.setId(rs.getInt("ID"));
|
||||
application.setName(rs.getString("NAME"));
|
||||
application.setUuid(rs.getString("UUID"));
|
||||
application.setDescription(rs.getString("DESCRIPTION"));
|
||||
application.setIconName(rs.getString("ICON_NAME"));
|
||||
application.setBannerName(rs.getString("BANNER_NAME"));
|
||||
application.setVideoName(rs.getString("VIDEO_NAME"));
|
||||
application.setScreenshots(jsonArrayStringToList(rs.getString("SCREENSHOTS")));
|
||||
application.setTags(jsonArrayStringToList(rs.getString("TAGS")));
|
||||
application.setCreatedAt(rs.getDate("CREATED_AT"));
|
||||
application.setModifiedAt(rs.getDate("MODIFIED_AT"));
|
||||
|
||||
ApplicationType applicationType = new ApplicationType();
|
||||
StoreApplication storeApplication = new StoreApplication();
|
||||
storeApplication.setUuid(rs.getString("UUID"));
|
||||
storeApplication.setIconName(rs.getString("ICON_NAME"));
|
||||
storeApplication.setBannerName(rs.getString("BANNER_NAME"));
|
||||
storeApplication.setScreenshotNames(jsonArrayStringToList(rs.getString("SCREENSHOTS")));
|
||||
return storeApplication;
|
||||
applicationType.setName(rs.getString("AT_NAME"));
|
||||
applicationType.setCode(rs.getString("AT_CODE"));
|
||||
application.setApplicationType(applicationType);
|
||||
|
||||
Map<String, String> properties = new HashMap<>();
|
||||
while (rsProperties.next()){
|
||||
properties.put(rsProperties.getString("PROP_KEY"), rsProperties.getString("PROP_VAL"));
|
||||
}
|
||||
application.setProperties(properties);
|
||||
|
||||
Category category = new Category();
|
||||
category.setName(rs.getString("CT_NAME"));
|
||||
application.setCategory(category);
|
||||
return application;
|
||||
}
|
||||
|
||||
public static void cleanupResources(PreparedStatement stmt, ResultSet rs) {
|
||||
|
||||
@ -0,0 +1,102 @@
|
||||
/*
|
||||
* Copyright (c) 2017, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||
* Version 2.0 (the "License"); you may not use this file except
|
||||
* in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*
|
||||
*/
|
||||
package org.wso2.carbon.device.application.mgt.core.dao.impl;
|
||||
|
||||
import org.json.JSONException;
|
||||
import org.wso2.carbon.device.application.mgt.core.dao.ApplicationManagementDAO;
|
||||
import org.wso2.carbon.device.application.mgt.core.dao.ApplicationManagementDAOException;
|
||||
import org.wso2.carbon.device.application.mgt.core.dao.ApplicationManagementDAOUtil;
|
||||
import org.wso2.carbon.device.application.mgt.core.dto.Application;
|
||||
import org.wso2.carbon.device.application.mgt.core.dto.ApplicationList;
|
||||
import org.wso2.carbon.device.application.mgt.core.dto.Pagination;
|
||||
import org.wso2.carbon.device.application.mgt.core.util.ConnectionManagerUtil;
|
||||
|
||||
import java.sql.Connection;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class GenericAppManagementDAO implements ApplicationManagementDAO {
|
||||
|
||||
@Override
|
||||
public void createApplication(Application application) throws ApplicationManagementDAOException {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public ApplicationList getApplications() throws ApplicationManagementDAOException {
|
||||
|
||||
Connection conn = null;
|
||||
PreparedStatement stmt = null;
|
||||
ResultSet rs = null;
|
||||
String sql = null;
|
||||
ApplicationList applicationList = new ApplicationList();
|
||||
List<Application> applications = new ArrayList<>();
|
||||
Pagination pagination = new Pagination();
|
||||
|
||||
try {
|
||||
|
||||
conn = ConnectionManagerUtil.getCurrentConnection().get();
|
||||
|
||||
sql = "SELECT SQL_CALC_FOUND_ROWS AP.*, AT.NAME AS AT_NAME, AT.CODE AS AT_CODE, CT.NAME AS CT_NAME " +
|
||||
"FROM APPM_APPLICATION AS AP " +
|
||||
"INNER JOIN APPM_APPLICATION_TYPE AS AT ON AP.APPLICATION_TYPE_ID = AT.ID " +
|
||||
"INNER JOIN APPM_APPLICATION_CATEGORY AS CT ON AP.CATEGORY_ID = CT.ID;";
|
||||
|
||||
stmt = conn.prepareStatement(sql);
|
||||
rs = stmt.executeQuery();
|
||||
|
||||
int length = 0;
|
||||
sql = "SELECT FOUND_ROWS() AS COUNT;";
|
||||
stmt = conn.prepareStatement(sql);
|
||||
ResultSet rsCount = stmt.executeQuery();
|
||||
if(rsCount.next()){
|
||||
pagination.setCount(rsCount.getInt("COUNT"));
|
||||
}
|
||||
|
||||
while (rs.next()) {
|
||||
|
||||
//Getting properties
|
||||
sql = "SELECT * FROM APPM_APPLICATION_PROPERTIES WHERE APPLICATION_ID=?";
|
||||
stmt = conn.prepareStatement(sql);
|
||||
stmt.setInt(1, rs.getInt("ID"));
|
||||
ResultSet rsProperties = stmt.executeQuery();
|
||||
|
||||
applications.add(ApplicationManagementDAOUtil.loadApplication(rs, rsProperties));
|
||||
length++;
|
||||
}
|
||||
|
||||
pagination.setLength(length);
|
||||
|
||||
applicationList.setApplications(applications);
|
||||
applicationList.setPagination(pagination);
|
||||
|
||||
} catch (SQLException e) {
|
||||
throw new ApplicationManagementDAOException("Error occurred while getting application List", e);
|
||||
} catch (JSONException e) {
|
||||
throw new ApplicationManagementDAOException("Error occurred while parsing JSON", e);
|
||||
} finally {
|
||||
ApplicationManagementDAOUtil.cleanupResources(stmt, rs);
|
||||
}
|
||||
return applicationList;
|
||||
|
||||
}
|
||||
}
|
||||
@ -18,16 +18,46 @@
|
||||
*/
|
||||
package org.wso2.carbon.device.application.mgt.core.dto;
|
||||
|
||||
|
||||
import org.wso2.carbon.device.application.mgt.core.jaxrs.Exclude;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public class Application {
|
||||
|
||||
@Exclude
|
||||
private int id;
|
||||
|
||||
private String name;
|
||||
|
||||
private String uuid;
|
||||
|
||||
private String description;
|
||||
|
||||
private String iconName;
|
||||
|
||||
private String bannerName;
|
||||
|
||||
private String videoName;
|
||||
|
||||
private List<String> screenshots;
|
||||
|
||||
private List<String> tags;
|
||||
|
||||
private Date createdAt;
|
||||
|
||||
private Date modifiedAt;
|
||||
|
||||
private ApplicationType applicationType;
|
||||
|
||||
private Category category;
|
||||
|
||||
private Map<String, String> properties;
|
||||
|
||||
public Application() {
|
||||
}
|
||||
|
||||
public int getId() {
|
||||
return id;
|
||||
@ -45,6 +75,14 @@ public class Application {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public String getUuid() {
|
||||
return uuid;
|
||||
}
|
||||
|
||||
public void setUuid(String uuid) {
|
||||
this.uuid = uuid;
|
||||
}
|
||||
|
||||
public String getDescription() {
|
||||
return description;
|
||||
}
|
||||
@ -53,6 +91,62 @@ public class Application {
|
||||
this.description = description;
|
||||
}
|
||||
|
||||
public String getIconName() {
|
||||
return iconName;
|
||||
}
|
||||
|
||||
public void setIconName(String iconName) {
|
||||
this.iconName = iconName;
|
||||
}
|
||||
|
||||
public String getBannerName() {
|
||||
return bannerName;
|
||||
}
|
||||
|
||||
public void setBannerName(String bannerName) {
|
||||
this.bannerName = bannerName;
|
||||
}
|
||||
|
||||
public String getVideoName() {
|
||||
return videoName;
|
||||
}
|
||||
|
||||
public void setVideoName(String videoName) {
|
||||
this.videoName = videoName;
|
||||
}
|
||||
|
||||
public List<String> getScreenshots() {
|
||||
return screenshots;
|
||||
}
|
||||
|
||||
public void setScreenshots(List<String> screenshots) {
|
||||
this.screenshots = screenshots;
|
||||
}
|
||||
|
||||
public List<String> getTags() {
|
||||
return tags;
|
||||
}
|
||||
|
||||
public void setTags(List<String> tags) {
|
||||
this.tags = tags;
|
||||
}
|
||||
|
||||
public Date getCreatedAt() {
|
||||
return createdAt;
|
||||
}
|
||||
|
||||
public void setCreatedAt(Date createdAt) {
|
||||
this.createdAt = createdAt;
|
||||
}
|
||||
|
||||
public Date getModifiedAt() {
|
||||
return modifiedAt;
|
||||
}
|
||||
|
||||
public void setModifiedAt(Date modifiedAt) {
|
||||
this.modifiedAt = modifiedAt;
|
||||
}
|
||||
|
||||
public ApplicationType getApplicationType() {
|
||||
return applicationType;
|
||||
}
|
||||
@ -61,6 +155,14 @@ public class Application {
|
||||
this.applicationType = applicationType;
|
||||
}
|
||||
|
||||
public Category getCategory() {
|
||||
return category;
|
||||
}
|
||||
|
||||
public void setCategory(Category category) {
|
||||
this.category = category;
|
||||
}
|
||||
|
||||
public Map<String, String> getProperties() {
|
||||
return properties;
|
||||
}
|
||||
|
||||
@ -0,0 +1,44 @@
|
||||
/*
|
||||
* Copyright (c) 2017, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||
* Version 2.0 (the "License"); you may not use this file except
|
||||
* in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*
|
||||
*/
|
||||
package org.wso2.carbon.device.application.mgt.core.dto;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class ApplicationList {
|
||||
|
||||
private List<Application> applications;
|
||||
|
||||
private Pagination pagination;
|
||||
|
||||
public List<Application> getApplications() {
|
||||
return applications;
|
||||
}
|
||||
|
||||
public void setApplications(List<Application> applications) {
|
||||
this.applications = applications;
|
||||
}
|
||||
|
||||
public Pagination getPagination() {
|
||||
return pagination;
|
||||
}
|
||||
|
||||
public void setPagination(Pagination pagination) {
|
||||
this.pagination = pagination;
|
||||
}
|
||||
}
|
||||
@ -18,11 +18,18 @@
|
||||
*/
|
||||
package org.wso2.carbon.device.application.mgt.core.dto;
|
||||
|
||||
import org.wso2.carbon.device.application.mgt.core.jaxrs.Exclude;
|
||||
|
||||
public class ApplicationType {
|
||||
|
||||
protected int id;
|
||||
protected String name;
|
||||
protected String code;
|
||||
@Exclude
|
||||
private int id;
|
||||
|
||||
private String name;
|
||||
|
||||
private String code;
|
||||
|
||||
private String parameters;
|
||||
|
||||
public int getId() {
|
||||
return id;
|
||||
@ -48,4 +55,11 @@ public class ApplicationType {
|
||||
this.code = code;
|
||||
}
|
||||
|
||||
public String getParameters() {
|
||||
return parameters;
|
||||
}
|
||||
|
||||
public void setParameters(String parameters) {
|
||||
this.parameters = parameters;
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,55 @@
|
||||
/*
|
||||
* Copyright (c) 2017, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||
* Version 2.0 (the "License"); you may not use this file except
|
||||
* in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*
|
||||
*/
|
||||
package org.wso2.carbon.device.application.mgt.core.dto;
|
||||
|
||||
import org.wso2.carbon.device.application.mgt.core.jaxrs.Exclude;
|
||||
|
||||
public class Category {
|
||||
|
||||
@Exclude
|
||||
private int id;
|
||||
|
||||
private String name;
|
||||
|
||||
private String description;
|
||||
|
||||
public int getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(int id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public String getDescription() {
|
||||
return description;
|
||||
}
|
||||
|
||||
public void setDescription(String description) {
|
||||
this.description = description;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,62 @@
|
||||
/*
|
||||
* Copyright (c) 2017, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||
* Version 2.0 (the "License"); you may not use this file except
|
||||
* in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*
|
||||
*/
|
||||
package org.wso2.carbon.device.application.mgt.core.dto;
|
||||
|
||||
public class Pagination {
|
||||
|
||||
private int offset;
|
||||
|
||||
private int limit;
|
||||
|
||||
private int length;
|
||||
|
||||
private int count;
|
||||
|
||||
public int getOffset() {
|
||||
return offset;
|
||||
}
|
||||
|
||||
public void setOffset(int offset) {
|
||||
this.offset = offset;
|
||||
}
|
||||
|
||||
public int getLimit() {
|
||||
return limit;
|
||||
}
|
||||
|
||||
public void setLimit(int limit) {
|
||||
this.limit = limit;
|
||||
}
|
||||
|
||||
public int getLength() {
|
||||
return length;
|
||||
}
|
||||
|
||||
public void setLength(int length) {
|
||||
this.length = length;
|
||||
}
|
||||
|
||||
public int getCount() {
|
||||
return count;
|
||||
}
|
||||
|
||||
public void setCount(int count) {
|
||||
this.count = count;
|
||||
}
|
||||
}
|
||||
@ -1,79 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||
* Version 2.0 (the "License"); you may not use this file except
|
||||
* in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*
|
||||
*/
|
||||
package org.wso2.carbon.device.application.mgt.core.dto;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class StoreApplication {
|
||||
|
||||
private int id;
|
||||
private String uuid;
|
||||
private String iconName;
|
||||
private String bannerName;
|
||||
private List<String> screenshotNames;
|
||||
private Application application;
|
||||
|
||||
public int getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(int id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getUuid() {
|
||||
return uuid;
|
||||
}
|
||||
|
||||
public void setUuid(String uuid) {
|
||||
this.uuid = uuid;
|
||||
}
|
||||
|
||||
public String getIconName() {
|
||||
return iconName;
|
||||
}
|
||||
|
||||
public void setIconName(String iconName) {
|
||||
this.iconName = iconName;
|
||||
}
|
||||
|
||||
public String getBannerName() {
|
||||
return bannerName;
|
||||
}
|
||||
|
||||
public void setBannerName(String bannerName) {
|
||||
this.bannerName = bannerName;
|
||||
}
|
||||
|
||||
public List<String> getScreenshotNames() {
|
||||
return screenshotNames;
|
||||
}
|
||||
|
||||
public void setScreenshotNames(List<String> screenshotNames) {
|
||||
this.screenshotNames = screenshotNames;
|
||||
}
|
||||
|
||||
public Application getApplication() {
|
||||
return application;
|
||||
}
|
||||
|
||||
public void setApplication(Application application) {
|
||||
this.application = application;
|
||||
}
|
||||
}
|
||||
@ -27,7 +27,7 @@ import org.wso2.carbon.device.application.mgt.core.components.impl.ApplicationMa
|
||||
import org.wso2.carbon.device.application.mgt.core.config.ApplicationConfigurationManager;
|
||||
import org.wso2.carbon.device.application.mgt.core.config.datasource.DataSourceConfig;
|
||||
import org.wso2.carbon.device.application.mgt.core.dao.ApplicationManagementDAO;
|
||||
import org.wso2.carbon.device.application.mgt.core.dao.ApplicationManagementDAOImpl;
|
||||
import org.wso2.carbon.device.application.mgt.core.dao.ApplicationManagementDAOFactory;
|
||||
import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService;
|
||||
|
||||
import javax.naming.NamingException;
|
||||
@ -55,7 +55,8 @@ public class ApplicationManagementServiceComponent {
|
||||
|
||||
DataSourceConfig dataSourceConfig = ApplicationConfigurationManager.getInstance()
|
||||
.getApplicationManagerConfiguration().getApplicationManagerRepository().getDataSourceConfig();
|
||||
ApplicationManagementDAO applicationManagementDAO = new ApplicationManagementDAOImpl(dataSourceConfig);
|
||||
ApplicationManagementDAO applicationManagementDAO = new ApplicationManagementDAOFactory(dataSourceConfig)
|
||||
.getApplicationManagementDAO();
|
||||
ApplicationManagementDataHolder.getInstance()
|
||||
.setApplicationManagementDAO(applicationManagementDAO);
|
||||
|
||||
|
||||
@ -0,0 +1,35 @@
|
||||
/*
|
||||
* Copyright (c) 2017, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||
* Version 2.0 (the "License"); you may not use this file except
|
||||
* in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*
|
||||
*/
|
||||
package org.wso2.carbon.device.application.mgt.core.jaxrs;
|
||||
|
||||
import com.google.gson.ExclusionStrategy;
|
||||
import com.google.gson.FieldAttributes;
|
||||
|
||||
public class AnnotationExclusionStrategy implements ExclusionStrategy {
|
||||
|
||||
@Override
|
||||
public boolean shouldSkipField(FieldAttributes f) {
|
||||
return f.getAnnotation(Exclude.class) != null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean shouldSkipClass(Class<?> clazz) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,29 @@
|
||||
/*
|
||||
* Copyright (c) 2017, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||
* Version 2.0 (the "License"); you may not use this file except
|
||||
* in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*
|
||||
*/
|
||||
package org.wso2.carbon.device.application.mgt.core.jaxrs;
|
||||
|
||||
import java.lang.annotation.ElementType;
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.lang.annotation.Target;
|
||||
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@Target(ElementType.FIELD)
|
||||
public @interface Exclude {
|
||||
}
|
||||
@ -468,7 +468,7 @@
|
||||
-->
|
||||
<FileUploadConfig>
|
||||
<!--
|
||||
The total file upload size limit in MB
|
||||
The total file upllengthsize limit in MB
|
||||
-->
|
||||
<TotalFileSizeLimit>100</TotalFileSizeLimit>
|
||||
|
||||
|
||||
@ -62,7 +62,7 @@ org.eclipse.osgi/defaultprofile/logfilename =
|
||||
# requested.
|
||||
org.eclipse.osgi/defaultprofile/logsynchronously = false
|
||||
|
||||
# Specify the size of the default profile implementation log buffer.
|
||||
# Specify the length of the default profile implementation log buffer.
|
||||
org.eclipse.osgi/defaultprofile/buffersize = 256
|
||||
|
||||
#### Monitoring settings
|
||||
|
||||
@ -47,7 +47,7 @@
|
||||
<!-- fileEncoding Encoding to be used to read static resources -->
|
||||
<!-- [platform default] -->
|
||||
<!-- -->
|
||||
<!-- input Input buffer size (in bytes) when reading -->
|
||||
<!-- input Input buflengthsize (in bytes) when reading -->
|
||||
<!-- resources to be served. [2048] -->
|
||||
<!-- -->
|
||||
<!-- listings Should directory listings be produced if there -->
|
||||
@ -56,7 +56,7 @@
|
||||
<!-- entries can be slow and may consume -->
|
||||
<!-- significant proportions of server resources. -->
|
||||
<!-- -->
|
||||
<!-- output Output buffer size (in bytes) when writing -->
|
||||
<!-- output Output buflengthsize (in bytes) when writing -->
|
||||
<!-- resources to be served. [2048] -->
|
||||
<!-- -->
|
||||
<!-- readonly Is this context "read only", so HTTP -->
|
||||
@ -67,7 +67,7 @@
|
||||
<!-- contents. [null] -->
|
||||
<!-- -->
|
||||
<!-- sendfileSize If the connector used supports sendfile, this -->
|
||||
<!-- represents the minimal file size in KB for -->
|
||||
<!-- represents the minimal flengthsize in KB for -->
|
||||
<!-- which sendfile will be used. Use a negative -->
|
||||
<!-- value to always disable sendfile. [48] -->
|
||||
<!-- -->
|
||||
|
||||
@ -383,7 +383,7 @@
|
||||
<div class="modal-body add-margin-top-2x add-margin-bottom-2x">
|
||||
<input id="edit-device-name" style="color:#3f3f3f;padding:5px" type="text"
|
||||
value=""
|
||||
placeholder="Type here" size="60">
|
||||
placeholder="Type here" length="60">
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<div class="buttons">
|
||||
@ -535,7 +535,7 @@
|
||||
}
|
||||
|
||||
.select2-selection__choice {
|
||||
font-size: medium;
|
||||
font-length: medium;
|
||||
}
|
||||
</style>
|
||||
{{/zone}}
|
||||
|
||||
@ -414,7 +414,7 @@
|
||||
}
|
||||
|
||||
.select2-selection__choice {
|
||||
font-size: medium;
|
||||
font-length: medium;
|
||||
}
|
||||
</style>
|
||||
{{/zone}}
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
@footer-height: 40px;
|
||||
@footer-background: #000000;
|
||||
@footer-color: #FFFFFF;
|
||||
@footer-font-size: 12px;
|
||||
@footer-font-length: 12px;
|
||||
@footer-letter-spacing: 1px;
|
||||
@footer-font-weight: 500;
|
||||
|
||||
|
||||
@ -83,7 +83,7 @@
|
||||
&:after {
|
||||
content: " ";
|
||||
display: block;
|
||||
font-size: 0;
|
||||
font-length: 0;
|
||||
height: 0;
|
||||
clear: both;
|
||||
visibility: hidden;
|
||||
@ -613,7 +613,7 @@ header .brand {
|
||||
display: inline-block;
|
||||
line-height: 1;
|
||||
font-weight: 500;
|
||||
font-size: 17px;
|
||||
font-length: 17px;
|
||||
margin: 0 0 0 5px;
|
||||
color: @base-light-color;
|
||||
padding: 6px 0 0 0;
|
||||
@ -699,7 +699,7 @@ header .dropdown[aria-expanded=true], header .dropdown:hover {
|
||||
height: @navbar-height;
|
||||
padding: 0 8px;
|
||||
line-height: @navbar-height;
|
||||
font-size: 18px;
|
||||
font-length: 18px;
|
||||
background: @optional-color;
|
||||
color: @base-light-color;
|
||||
|
||||
@ -737,7 +737,7 @@ header .dropdown[aria-expanded=true], header .dropdown:hover {
|
||||
.navbar > .container .navbar-brand a,
|
||||
.navbar > .container-fluid .navbar-brand a {
|
||||
color: @base-light-color;
|
||||
font-size: 16px;
|
||||
font-length: 16px;
|
||||
}
|
||||
|
||||
.navbar-default .navbar-collapse, .navbar-default .navbar-form {
|
||||
@ -798,7 +798,7 @@ header .dropdown[aria-expanded=true], header .dropdown:hover {
|
||||
}
|
||||
|
||||
.navbar-collapse.tiles ul.nav li a i {
|
||||
font-size: 46px;
|
||||
font-length: 46px;
|
||||
display: block;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
@ -913,7 +913,7 @@ ul.sidebar-messages > li {
|
||||
|
||||
.sidebar-nav > .sidebar-brand {
|
||||
height: 65px;
|
||||
font-size: 18px;
|
||||
font-length: 18px;
|
||||
line-height: 60px;
|
||||
}
|
||||
|
||||
@ -999,7 +999,7 @@ footer > .container-fluid p {
|
||||
}
|
||||
|
||||
footer .icon {
|
||||
font-size: 21px;
|
||||
font-length: 21px;
|
||||
vertical-align: middle;
|
||||
color: @footer-color;
|
||||
}
|
||||
@ -1054,7 +1054,7 @@ footer a {
|
||||
width: 50px;
|
||||
line-height: 1;
|
||||
padding: 0 10px;
|
||||
font-size: 12px;
|
||||
font-length: 12px;
|
||||
background: @base-dark-color;
|
||||
color: @base-light-color;
|
||||
}
|
||||
@ -1221,7 +1221,7 @@ footer a {
|
||||
|
||||
.dropdown-menu.tiles li a .icon {
|
||||
display: block;
|
||||
font-size: 35px;
|
||||
font-length: 35px;
|
||||
margin: 3px 0 7px;
|
||||
height: 35px;
|
||||
}
|
||||
@ -1229,7 +1229,7 @@ footer a {
|
||||
.dropdown-menu.tiles li a .name {
|
||||
display: block;
|
||||
line-height: 14px;
|
||||
font-size: 12px;
|
||||
font-length: 12px;
|
||||
height: 28px;
|
||||
overflow: hidden;
|
||||
}
|
||||
@ -1395,7 +1395,7 @@ footer a {
|
||||
.loading .loading-animation p {
|
||||
color: @loading-color;
|
||||
text-align: center;
|
||||
font-size: 11px;
|
||||
font-length: 11px;
|
||||
margin-top: 4px;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
@ -1418,7 +1418,7 @@ footer a {
|
||||
}
|
||||
|
||||
.input-group-btn .control-label {
|
||||
font-size: 14px;
|
||||
font-length: 14px;
|
||||
padding-top: 0;
|
||||
margin: 0 5px;
|
||||
}
|
||||
@ -1880,7 +1880,7 @@ table.dataTable thead .sorting_desc:after {
|
||||
.dataTables_wrapper ul.sort-list li a.sorting_desc:before {
|
||||
font-family: @font-icons;
|
||||
margin-right: 10px;
|
||||
font-size: 11px;
|
||||
font-length: 11px;
|
||||
.opacity(1);
|
||||
}
|
||||
|
||||
@ -2097,7 +2097,7 @@ table.dataTable.dtr-inline.collapsed > tbody > tr {
|
||||
|
||||
.panel-default > .panel-heading {
|
||||
background: transparent;
|
||||
font-size: 24px;
|
||||
font-length: 24px;
|
||||
font-weight: 500;
|
||||
border-bottom: 1px solid #e4e4e4;
|
||||
padding-bottom: 10px;
|
||||
@ -2184,7 +2184,7 @@ ul.tiles li a {
|
||||
|
||||
ul.tiles .icon {
|
||||
display: block;
|
||||
font-size: 15px;
|
||||
font-length: 15px;
|
||||
margin: 0 auto 5px;
|
||||
}
|
||||
|
||||
@ -2286,7 +2286,7 @@ a.list-group-item:hover {
|
||||
width: 20px;
|
||||
text-align: center;
|
||||
line-height: 20px;
|
||||
font-size: 10px;
|
||||
font-length: 10px;
|
||||
display: inline-block;
|
||||
margin-right: 10px;
|
||||
}
|
||||
@ -2363,11 +2363,11 @@ a.list-group-item:hover {
|
||||
}
|
||||
|
||||
.asset-desc .asset-name {
|
||||
font-size: 24px;
|
||||
font-length: 24px;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.asset-desc .asset-publisher {
|
||||
font-size: 14px;
|
||||
font-length: 14px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
@ -468,7 +468,7 @@
|
||||
-->
|
||||
<FileUploadConfig>
|
||||
<!--
|
||||
The total file upload size limit in MB
|
||||
The total file upllengthsize limit in MB
|
||||
-->
|
||||
<TotalFileSizeLimit>100</TotalFileSizeLimit>
|
||||
|
||||
|
||||
@ -62,7 +62,7 @@ org.eclipse.osgi/defaultprofile/logfilename =
|
||||
# requested.
|
||||
org.eclipse.osgi/defaultprofile/logsynchronously = false
|
||||
|
||||
# Specify the size of the default profile implementation log buffer.
|
||||
# Specify the length of the default profile implementation log buffer.
|
||||
org.eclipse.osgi/defaultprofile/buffersize = 256
|
||||
|
||||
#### Monitoring settings
|
||||
|
||||
@ -47,7 +47,7 @@
|
||||
<!-- fileEncoding Encoding to be used to read static resources -->
|
||||
<!-- [platform default] -->
|
||||
<!-- -->
|
||||
<!-- input Input buffer size (in bytes) when reading -->
|
||||
<!-- input Input buflengthsize (in bytes) when reading -->
|
||||
<!-- resources to be served. [2048] -->
|
||||
<!-- -->
|
||||
<!-- listings Should directory listings be produced if there -->
|
||||
@ -56,7 +56,7 @@
|
||||
<!-- entries can be slow and may consume -->
|
||||
<!-- significant proportions of server resources. -->
|
||||
<!-- -->
|
||||
<!-- output Output buffer size (in bytes) when writing -->
|
||||
<!-- output Output buflengthsize (in bytes) when writing -->
|
||||
<!-- resources to be served. [2048] -->
|
||||
<!-- -->
|
||||
<!-- readonly Is this context "read only", so HTTP -->
|
||||
@ -67,7 +67,7 @@
|
||||
<!-- contents. [null] -->
|
||||
<!-- -->
|
||||
<!-- sendfileSize If the connector used supports sendfile, this -->
|
||||
<!-- represents the minimal file size in KB for -->
|
||||
<!-- represents the minimal flengthsize in KB for -->
|
||||
<!-- which sendfile will be used. Use a negative -->
|
||||
<!-- value to always disable sendfile. [48] -->
|
||||
<!-- -->
|
||||
|
||||
@ -24,6 +24,6 @@
|
||||
</JndiLookupDefinition>
|
||||
</DataSourceConfiguration>
|
||||
</ManagementRepository>
|
||||
<!-- Default page size of GET certificates API -->
|
||||
<!-- Default plengthsize of GET certificates API -->
|
||||
<DefaultPageSize>10</DefaultPageSize>
|
||||
</CertificateConfigurations>
|
||||
@ -52,7 +52,7 @@
|
||||
<!--<Enable>true</Enable>-->
|
||||
<!--<Frequency>600000</Frequency>-->
|
||||
<!--</TaskConfiguration>-->
|
||||
<!-- Default Page size configuration for paginated DM APIs-->
|
||||
<!-- Default Plengthsize configuration for paginated DM APIs-->
|
||||
<PaginationConfiguration>
|
||||
<DeviceListPageSize>20</DeviceListPageSize>
|
||||
<GroupListPageSize>20</GroupListPageSize>
|
||||
|
||||
@ -24,7 +24,7 @@
|
||||
<title>WSO2 IoT Server</title>
|
||||
</head>
|
||||
<body style="color: #666666; background-color:#cdcdcd; padding: 0px; margin: 0px;">
|
||||
<div style="background-color:#cdcdcd; font-size: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; padding: 20px 0px; margin: 0px;">
|
||||
<div style="background-color:#cdcdcd; font-length: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; padding: 20px 0px; margin: 0px;">
|
||||
<div style="width: 86%; max-width: 650px; padding: 2%; background-color: #ffffff; margin: auto; border-radius: 14px;">
|
||||
<div style="background-color: #49c8f5; line-height: 0px; border-top-left-radius: 10px; border-top-right-radius: 10px; padding: 0px 10px 0px 0px;">
|
||||
<div style="display: inline-block; line-height: 0px;">
|
||||
@ -33,23 +33,23 @@
|
||||
</div>
|
||||
</div>
|
||||
<div style="background-color: #ffffff; line-height: 170%; color: #666666; padding: 20px 25px;">
|
||||
<p style="font-size: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; margin: 5px 0px 20px;">
|
||||
<p style="font-length: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; margin: 5px 0px 20px;">
|
||||
Hi $first-name,
|
||||
</p>
|
||||
|
||||
<p style="font-size: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; margin: 5px 0px;">
|
||||
<p style="font-length: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; margin: 5px 0px;">
|
||||
You have been invited to enrol devices with WSO2 IoT Server.
|
||||
Click <a href="$base-url-https/devicemgt/device/enroll">here</a> to enrol the WSO2 IoT Server devices to begin.</p>
|
||||
|
||||
<p style="font-size: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; margin: 5px 0px;">
|
||||
<p style="font-length: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; margin: 5px 0px;">
|
||||
Should you need assistance, please contact your administrator.
|
||||
</p>
|
||||
|
||||
<p style="font-size: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; margin: 20px 0px 5px;">
|
||||
<p style="font-length: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; margin: 20px 0px 5px;">
|
||||
Regards,
|
||||
</p>
|
||||
|
||||
<p style="font-size: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; margin: 5px 0px;">
|
||||
<p style="font-length: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; margin: 5px 0px;">
|
||||
WSO2 IoT Server Administrator
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@ -24,7 +24,7 @@
|
||||
<title>WSO2 IoT Server</title>
|
||||
</head>
|
||||
<body style="color: #666666; background-color:#cdcdcd; padding: 0px; margin: 0px;">
|
||||
<div style="background-color:#cdcdcd; font-size: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; padding: 20px 0px; margin: 0px;">
|
||||
<div style="background-color:#cdcdcd; font-length: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; padding: 20px 0px; margin: 0px;">
|
||||
<div style="width: 86%; max-width: 650px; padding: 2%; background-color: #ffffff; margin: auto; border-radius: 14px;">
|
||||
<div style="background-color: #49c8f5; line-height: 0px; border-top-left-radius: 10px; border-top-right-radius: 10px; padding: 0px 10px 0px 0px;">
|
||||
<div style="display: inline-block; line-height: 0px;">
|
||||
@ -33,33 +33,33 @@
|
||||
</div>
|
||||
</div>
|
||||
<div style="background-color: #ffffff; line-height: 170%; color: #666666; padding: 20px 25px;">
|
||||
<p style="font-size: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; margin: 5px 0px 20px;">
|
||||
<p style="font-length: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; margin: 5px 0px 20px;">
|
||||
Hi $first-name,
|
||||
</p>
|
||||
|
||||
<p style="font-size: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; margin: 5px 0px;">
|
||||
<p style="font-length: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; margin: 5px 0px;">
|
||||
You have been registered in WSO2 IoT Server and invited to enrol your device.
|
||||
Click <a href="$base-url-https/devicemgt/device/enroll">here</a> to enrol the WSO2 IoT Server devices to begin.</p>
|
||||
|
||||
<p style="font-size: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; margin: 5px 0px;">
|
||||
<p style="font-length: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; margin: 5px 0px;">
|
||||
Use following credentials to log in to WSO2 IoT Server.
|
||||
</p>
|
||||
|
||||
<p style="font-size: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; margin: 5px 0px;">
|
||||
<p style="font-length: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; margin: 5px 0px;">
|
||||
<b>Username:</b> $username
|
||||
<br/>
|
||||
<b>Password:</b> $password
|
||||
</p>
|
||||
|
||||
<p style="font-size: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; margin: 5px 0px;">
|
||||
<p style="font-length: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; margin: 5px 0px;">
|
||||
Should you need assistance, please contact your administrator.
|
||||
</p>
|
||||
|
||||
<p style="font-size: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; margin: 20px 0px 5px;">
|
||||
<p style="font-length: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; margin: 20px 0px 5px;">
|
||||
Regards,
|
||||
</p>
|
||||
|
||||
<p style="font-size: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; margin: 5px 0px;">
|
||||
<p style="font-length: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; margin: 5px 0px;">
|
||||
WSO2 IoT Server Administrator
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@ -24,7 +24,7 @@
|
||||
<title>WSO2 IoT Server</title>
|
||||
</head>
|
||||
<body style="color: #666666; background-color:#cdcdcd; padding: 0px; margin: 0px;">
|
||||
<div style="background-color:#cdcdcd; font-size: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; padding: 20px 0px; margin: 0px;">
|
||||
<div style="background-color:#cdcdcd; font-length: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; padding: 20px 0px; margin: 0px;">
|
||||
<div style="width: 86%; max-width: 650px; padding: 2%; background-color: #ffffff; margin: auto; border-radius: 14px;">
|
||||
<div style="background-color: #49c8f5; line-height: 0px; border-top-left-radius: 10px; border-top-right-radius: 10px; padding: 0px 10px 0px 0px;">
|
||||
<div style="display: inline-block; line-height: 0px;">
|
||||
@ -33,24 +33,24 @@
|
||||
</div>
|
||||
</div>
|
||||
<div style="background-color: #ffffff; line-height: 170%; color: #666666; padding: 20px 25px;">
|
||||
<p style="font-size: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; margin: 5px 0px 20px;">
|
||||
<p style="font-length: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; margin: 5px 0px 20px;">
|
||||
Hi,
|
||||
</p>
|
||||
|
||||
<p style="font-size: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; margin: 5px 0px;">
|
||||
<p style="font-length: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; margin: 5px 0px;">
|
||||
You have been invited by $first-name to enrol your $device-type device in WSO2 IoT Server.
|
||||
Click <a href="$base-url-https/devicemgt/device/$device-type/enroll">here</a> to begin device
|
||||
enrolment.</p>
|
||||
|
||||
<p style="font-size: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; margin: 5px 0px;">
|
||||
<p style="font-length: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; margin: 5px 0px;">
|
||||
Should you need assistance, please contact your administrator.
|
||||
</p>
|
||||
|
||||
<p style="font-size: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; margin: 20px 0px 5px;">
|
||||
<p style="font-length: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; margin: 20px 0px 5px;">
|
||||
Regards,
|
||||
</p>
|
||||
|
||||
<p style="font-size: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; margin: 5px 0px;">
|
||||
<p style="font-length: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; margin: 5px 0px;">
|
||||
WSO2 IoT Administrator
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@ -24,7 +24,7 @@
|
||||
<title>WSO2 IoT Server</title>
|
||||
</head>
|
||||
<body style="color: #666666; background-color:#cdcdcd; padding: 0px; margin: 0px;">
|
||||
<div style="background-color:#cdcdcd; font-size: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; padding: 20px 0px; margin: 0px;">
|
||||
<div style="background-color:#cdcdcd; font-length: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; padding: 20px 0px; margin: 0px;">
|
||||
<div style="width: 86%; max-width: 650px; padding: 2%; background-color: #ffffff; margin: auto; border-radius: 14px;">
|
||||
<div style="background-color: #49c8f5; line-height: 0px; border-top-left-radius: 10px; border-top-right-radius: 10px; padding: 0px 10px 0px 0px;">
|
||||
<div style="display: inline-block; line-height: 0px;">
|
||||
@ -33,23 +33,23 @@
|
||||
</div>
|
||||
</div>
|
||||
<div style="background-color: #ffffff; line-height: 170%; color: #666666; padding: 20px 25px;">
|
||||
<p style="font-size: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; margin: 5px 0px 20px;">
|
||||
<p style="font-length: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; margin: 5px 0px 20px;">
|
||||
Hi $first-name,
|
||||
</p>
|
||||
|
||||
<p style="font-size: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; margin: 5px 0px;">
|
||||
<p style="font-length: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; margin: 5px 0px;">
|
||||
You have been invited to enrol your device in WSO2 IoT Server.
|
||||
Click <a href="$base-url-https/devicemgt/device/enroll">here</a> to begin device enrolment.</p>
|
||||
|
||||
<p style="font-size: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; margin: 5px 0px;">
|
||||
<p style="font-length: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; margin: 5px 0px;">
|
||||
Should you need assistance, please contact your administrator.
|
||||
</p>
|
||||
|
||||
<p style="font-size: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; margin: 20px 0px 5px;">
|
||||
<p style="font-length: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; margin: 20px 0px 5px;">
|
||||
Regards,
|
||||
</p>
|
||||
|
||||
<p style="font-size: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; margin: 5px 0px;">
|
||||
<p style="font-length: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; margin: 5px 0px;">
|
||||
WSO2 IoT Administrator
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@ -24,7 +24,7 @@
|
||||
<title>WSO2 IoT Server</title>
|
||||
</head>
|
||||
<body style="color: #666666; background-color:#cdcdcd; padding: 0px; margin: 0px;">
|
||||
<div style="background-color:#cdcdcd; font-size: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; padding: 20px 0px; margin: 0px;">
|
||||
<div style="background-color:#cdcdcd; font-length: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; padding: 20px 0px; margin: 0px;">
|
||||
<div style="width: 86%; max-width: 650px; padding: 2%; background-color: #ffffff; margin: auto; border-radius: 14px;">
|
||||
<div style="background-color: #49c8f5; line-height: 0px; border-top-left-radius: 10px; border-top-right-radius: 10px; padding: 0px 10px 0px 0px;">
|
||||
<div style="display: inline-block; line-height: 0px;">
|
||||
@ -33,33 +33,33 @@
|
||||
</div>
|
||||
</div>
|
||||
<div style="background-color: #ffffff; line-height: 170%; color: #666666; padding: 20px 25px;">
|
||||
<p style="font-size: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; margin: 5px 0px 20px;">
|
||||
<p style="font-length: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; margin: 5px 0px 20px;">
|
||||
Hi $first-name,
|
||||
</p>
|
||||
|
||||
<p style="font-size: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; margin: 5px 0px;">
|
||||
<p style="font-length: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; margin: 5px 0px;">
|
||||
You have been registered in WSO2 IoT and invited to enrol your device.
|
||||
Click <a href="$base-url-https/devicemgt/device/enroll">here</a> to begin device enrolment.</p>
|
||||
|
||||
<p style="font-size: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; margin: 5px 0px;">
|
||||
<p style="font-length: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; margin: 5px 0px;">
|
||||
Use following credentials to log in to WSO2 IoT Device Management application.
|
||||
</p>
|
||||
|
||||
<p style="font-size: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; margin: 5px 0px;">
|
||||
<p style="font-length: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; margin: 5px 0px;">
|
||||
<b>Username:</b> $username
|
||||
<br/>
|
||||
<b>Password:</b> $password
|
||||
</p>
|
||||
|
||||
<p style="font-size: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; margin: 5px 0px;">
|
||||
<p style="font-length: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; margin: 5px 0px;">
|
||||
Should you need assistance, please contact your administrator.
|
||||
</p>
|
||||
|
||||
<p style="font-size: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; margin: 20px 0px 5px;">
|
||||
<p style="font-length: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; margin: 20px 0px 5px;">
|
||||
Regards,
|
||||
</p>
|
||||
|
||||
<p style="font-size: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; margin: 5px 0px;">
|
||||
<p style="font-length: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; margin: 5px 0px;">
|
||||
WSO2 IoT Administrator
|
||||
</p>
|
||||
</div>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user