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
493de22d85
commit
9d5e912d11
@ -2009,7 +2009,7 @@ parameters:
|
|||||||
name: limit
|
name: limit
|
||||||
in: query
|
in: query
|
||||||
description: |
|
description: |
|
||||||
Maximum size of resource array to return.
|
Maximum length of resource array to return.
|
||||||
default: 25
|
default: 25
|
||||||
type: integer
|
type: integer
|
||||||
|
|
||||||
|
|||||||
@ -1568,7 +1568,7 @@ parameters:
|
|||||||
name: limit
|
name: limit
|
||||||
in: query
|
in: query
|
||||||
description: |
|
description: |
|
||||||
Maximum size of resource array to return.
|
Maximum length of resource array to return.
|
||||||
default: 25
|
default: 25
|
||||||
type: integer
|
type: integer
|
||||||
|
|
||||||
|
|||||||
@ -21,6 +21,7 @@ package org.wso2.carbon.device.application.mgt.api.common;
|
|||||||
|
|
||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
import com.google.gson.GsonBuilder;
|
import com.google.gson.GsonBuilder;
|
||||||
|
import org.wso2.carbon.device.application.mgt.core.jaxrs.AnnotationExclusionStrategy;
|
||||||
|
|
||||||
import javax.ws.rs.Consumes;
|
import javax.ws.rs.Consumes;
|
||||||
import javax.ws.rs.Produces;
|
import javax.ws.rs.Produces;
|
||||||
@ -50,7 +51,7 @@ public class GsonMessageBodyHandler implements MessageBodyWriter<Object>, Messag
|
|||||||
|
|
||||||
private Gson getGson() {
|
private Gson getGson() {
|
||||||
if (gson == null) {
|
if (gson == null) {
|
||||||
final GsonBuilder gsonBuilder = new GsonBuilder();
|
final GsonBuilder gsonBuilder = new GsonBuilder().setExclusionStrategies(new AnnotationExclusionStrategy());
|
||||||
gson = gsonBuilder.create();
|
gson = gsonBuilder.create();
|
||||||
}
|
}
|
||||||
return gson;
|
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 io.swagger.annotations.*;
|
||||||
import org.wso2.carbon.device.application.mgt.api.beans.ErrorResponse;
|
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.*;
|
||||||
import javax.ws.rs.core.Context;
|
|
||||||
import javax.ws.rs.core.MediaType;
|
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 " +
|
@Api(value = "Application Management", description = "This API carries all device management related operations " +
|
||||||
"such as get all the available devices, etc.")
|
"such as get all the available devices, etc.")
|
||||||
@ -57,7 +56,7 @@ public interface ApplicationManagementService {
|
|||||||
@ApiResponse(
|
@ApiResponse(
|
||||||
code = 200,
|
code = 200,
|
||||||
message = "OK. \n Successfully got application list.",
|
message = "OK. \n Successfully got application list.",
|
||||||
response = ApplicationsListResponse.class),
|
response = ApplicationList.class),
|
||||||
@ApiResponse(
|
@ApiResponse(
|
||||||
code = 304,
|
code = 304,
|
||||||
message = "Not Modified. \n " +
|
message = "Not Modified. \n " +
|
||||||
@ -67,7 +66,7 @@ public interface ApplicationManagementService {
|
|||||||
message = "Internal Server Error. \n Error occurred while getting the application list.",
|
message = "Internal Server Error. \n Error occurred while getting the application list.",
|
||||||
response = ErrorResponse.class)
|
response = ErrorResponse.class)
|
||||||
})
|
})
|
||||||
ApplicationsListResponse getApplications(@Context final HttpServletResponse servletResponse,
|
Response getApplications(
|
||||||
@ApiParam(
|
@ApiParam(
|
||||||
name = "If-Modified-Since",
|
name = "If-Modified-Since",
|
||||||
value = "Validates if the requested variant has not been modified since the time specified",
|
value = "Validates if the requested variant has not been modified since the time specified",
|
||||||
|
|||||||
@ -18,20 +18,17 @@
|
|||||||
*/
|
*/
|
||||||
package org.wso2.carbon.device.application.mgt.api.services.impl;
|
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.Log;
|
||||||
import org.apache.commons.logging.LogFactory;
|
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.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 org.wso2.carbon.device.application.mgt.core.util.ApplicationManagementUtil;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.ws.rs.Consumes;
|
||||||
import javax.ws.rs.*;
|
import javax.ws.rs.GET;
|
||||||
import javax.ws.rs.core.Context;
|
import javax.ws.rs.Path;
|
||||||
|
import javax.ws.rs.Produces;
|
||||||
import javax.ws.rs.core.Response;
|
import javax.ws.rs.core.Response;
|
||||||
import java.io.IOException;
|
|
||||||
import java.lang.reflect.InvocationTargetException;
|
|
||||||
|
|
||||||
@Produces({ "application/json"})
|
@Produces({ "application/json"})
|
||||||
@Consumes({ "application/json"})
|
@Consumes({ "application/json"})
|
||||||
@ -43,21 +40,15 @@ public class ApplicationManagementServiceImpl {
|
|||||||
@GET
|
@GET
|
||||||
@Consumes("application/json")
|
@Consumes("application/json")
|
||||||
@Path("applications")
|
@Path("applications")
|
||||||
public ApplicationsListResponse getApplications(@Context final HttpServletResponse servletResponse) {
|
public Response getApplications() {
|
||||||
ApplicationManager applicationManager = ApplicationManagementUtil.getApplicationManager();
|
ApplicationManager applicationManager = ApplicationManagementUtil.getApplicationManager();
|
||||||
try {
|
try {
|
||||||
ApplicationsListResponse applicationsListResponse =
|
ApplicationList applications = applicationManager.getApplications();
|
||||||
new ApplicationsListResponse(applicationManager.getApplications());
|
return Response.status(Response.Status.OK).entity(applications).build();
|
||||||
return applicationsListResponse;
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
String msg = "Error occurred while getting the application list";
|
String msg = "Error occurred while getting the application list";
|
||||||
log.error(msg, e);
|
log.error(msg, e);
|
||||||
try {
|
return Response.status(Response.Status.NOT_FOUND).build();
|
||||||
servletResponse.sendError(Response.Status.NOT_FOUND.getStatusCode());
|
|
||||||
} catch (IOException e1) {
|
|
||||||
log.error(msg, e1);
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -17,6 +17,6 @@ http://cxf.apache.org/jaxrs http://cxf.apache.org/schemas/jaxrs.xsd">
|
|||||||
</jaxrs:server>
|
</jaxrs:server>
|
||||||
|
|
||||||
<bean id="applicationMgtServiceBean" class="org.wso2.carbon.device.application.mgt.api.services.impl.ApplicationManagementServiceImpl"/>
|
<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>
|
</beans>
|
||||||
@ -85,6 +85,7 @@
|
|||||||
org.json,
|
org.json,
|
||||||
org.xml.sax,
|
org.xml.sax,
|
||||||
javax.sql,
|
javax.sql,
|
||||||
|
com.google.gson,
|
||||||
<!--javax.cache,-->
|
<!--javax.cache,-->
|
||||||
javax.naming,
|
javax.naming,
|
||||||
javax.xml.bind.annotation,
|
javax.xml.bind.annotation,
|
||||||
@ -93,6 +94,7 @@
|
|||||||
org.wso2.carbon.device.mgt.common.*,
|
org.wso2.carbon.device.mgt.common.*,
|
||||||
io.swagger.annotations.*;resolution:=optional,
|
io.swagger.annotations.*;resolution:=optional,
|
||||||
org.wso2.carbon.device.mgt.core.*,
|
org.wso2.carbon.device.mgt.core.*,
|
||||||
|
org.wso2.carbon.device.mgt.core.utils.*,
|
||||||
org.wso2.carbon.registry.indexing.*,
|
org.wso2.carbon.registry.indexing.*,
|
||||||
<!--org.bouncycastle.pkcs.jcajce-->
|
<!--org.bouncycastle.pkcs.jcajce-->
|
||||||
</Import-Package>
|
</Import-Package>
|
||||||
|
|||||||
@ -19,16 +19,15 @@
|
|||||||
package org.wso2.carbon.device.application.mgt.core.components;
|
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.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.exception.ApplicationManagerException;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public interface ApplicationManager {
|
public interface ApplicationManager {
|
||||||
|
|
||||||
public void createApplication(Application application) throws ApplicationManagerException;
|
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.apache.commons.logging.LogFactory;
|
||||||
import org.wso2.carbon.device.application.mgt.core.components.ApplicationManager;
|
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.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.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.exception.ApplicationManagerException;
|
||||||
import org.wso2.carbon.device.application.mgt.core.internal.ApplicationManagementDataHolder;
|
import org.wso2.carbon.device.application.mgt.core.internal.ApplicationManagementDataHolder;
|
||||||
import org.wso2.carbon.device.application.mgt.core.util.ConnectionManagerUtil;
|
import org.wso2.carbon.device.application.mgt.core.util.ConnectionManagerUtil;
|
||||||
|
|
||||||
import java.sql.SQLException;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class ApplicationManagerImpl implements ApplicationManager {
|
public class ApplicationManagerImpl implements ApplicationManager {
|
||||||
@ -56,11 +52,10 @@ public class ApplicationManagerImpl implements ApplicationManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<StoreApplication> getApplications() throws ApplicationManagerException {
|
public ApplicationList getApplications() throws ApplicationManagerException {
|
||||||
ConnectionManagerUtil.openConnection();
|
ConnectionManagerUtil.openConnection();
|
||||||
ApplicationManagementDAO applicationManagementDAO = ApplicationManagementDataHolder.getInstance().getApplicationManagementDAO();
|
ApplicationManagementDAO applicationManagementDAO = ApplicationManagementDataHolder.getInstance().getApplicationManagementDAO();
|
||||||
List<StoreApplication> applications = null;
|
ApplicationList applications = applicationManagementDAO.getApplications();
|
||||||
applications = applicationManagementDAO.getApplications();
|
|
||||||
ConnectionManagerUtil.closeConnection();
|
ConnectionManagerUtil.closeConnection();
|
||||||
return applications;
|
return applications;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -18,9 +18,8 @@
|
|||||||
*/
|
*/
|
||||||
package org.wso2.carbon.device.application.mgt.core.dao;
|
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.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.HashMap;
|
||||||
import java.util.List;
|
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.json.JSONException;
|
||||||
import org.wso2.carbon.device.application.mgt.core.dto.Application;
|
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.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.PreparedStatement;
|
||||||
import java.sql.ResultSet;
|
import java.sql.ResultSet;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
public class ApplicationManagementDAOUtil {
|
public class ApplicationManagementDAOUtil {
|
||||||
|
|
||||||
private static final Log log = LogFactory.getLog(ApplicationManagementDAOUtil.class);
|
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();
|
ApplicationType applicationType = new ApplicationType();
|
||||||
StoreApplication storeApplication = new StoreApplication();
|
applicationType.setName(rs.getString("AT_NAME"));
|
||||||
storeApplication.setUuid(rs.getString("UUID"));
|
applicationType.setCode(rs.getString("AT_CODE"));
|
||||||
storeApplication.setIconName(rs.getString("ICON_NAME"));
|
application.setApplicationType(applicationType);
|
||||||
storeApplication.setBannerName(rs.getString("BANNER_NAME"));
|
|
||||||
storeApplication.setScreenshotNames(jsonArrayStringToList(rs.getString("SCREENSHOTS")));
|
Map<String, String> properties = new HashMap<>();
|
||||||
return storeApplication;
|
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) {
|
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;
|
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;
|
import java.util.Map;
|
||||||
|
|
||||||
public class Application {
|
public class Application {
|
||||||
|
|
||||||
|
@Exclude
|
||||||
private int id;
|
private int id;
|
||||||
|
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
|
private String uuid;
|
||||||
|
|
||||||
private String description;
|
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 ApplicationType applicationType;
|
||||||
|
|
||||||
|
private Category category;
|
||||||
|
|
||||||
private Map<String, String> properties;
|
private Map<String, String> properties;
|
||||||
|
|
||||||
|
public Application() {
|
||||||
|
}
|
||||||
|
|
||||||
public int getId() {
|
public int getId() {
|
||||||
return id;
|
return id;
|
||||||
@ -45,6 +75,14 @@ public class Application {
|
|||||||
this.name = name;
|
this.name = name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getUuid() {
|
||||||
|
return uuid;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUuid(String uuid) {
|
||||||
|
this.uuid = uuid;
|
||||||
|
}
|
||||||
|
|
||||||
public String getDescription() {
|
public String getDescription() {
|
||||||
return description;
|
return description;
|
||||||
}
|
}
|
||||||
@ -53,6 +91,62 @@ public class Application {
|
|||||||
this.description = description;
|
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() {
|
public ApplicationType getApplicationType() {
|
||||||
return applicationType;
|
return applicationType;
|
||||||
}
|
}
|
||||||
@ -61,6 +155,14 @@ public class Application {
|
|||||||
this.applicationType = applicationType;
|
this.applicationType = applicationType;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Category getCategory() {
|
||||||
|
return category;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCategory(Category category) {
|
||||||
|
this.category = category;
|
||||||
|
}
|
||||||
|
|
||||||
public Map<String, String> getProperties() {
|
public Map<String, String> getProperties() {
|
||||||
return properties;
|
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;
|
package org.wso2.carbon.device.application.mgt.core.dto;
|
||||||
|
|
||||||
|
import org.wso2.carbon.device.application.mgt.core.jaxrs.Exclude;
|
||||||
|
|
||||||
public class ApplicationType {
|
public class ApplicationType {
|
||||||
|
|
||||||
protected int id;
|
@Exclude
|
||||||
protected String name;
|
private int id;
|
||||||
protected String code;
|
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
private String code;
|
||||||
|
|
||||||
|
private String parameters;
|
||||||
|
|
||||||
public int getId() {
|
public int getId() {
|
||||||
return id;
|
return id;
|
||||||
@ -48,4 +55,11 @@ public class ApplicationType {
|
|||||||
this.code = code;
|
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.ApplicationConfigurationManager;
|
||||||
import org.wso2.carbon.device.application.mgt.core.config.datasource.DataSourceConfig;
|
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.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 org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService;
|
||||||
|
|
||||||
import javax.naming.NamingException;
|
import javax.naming.NamingException;
|
||||||
@ -55,7 +55,8 @@ public class ApplicationManagementServiceComponent {
|
|||||||
|
|
||||||
DataSourceConfig dataSourceConfig = ApplicationConfigurationManager.getInstance()
|
DataSourceConfig dataSourceConfig = ApplicationConfigurationManager.getInstance()
|
||||||
.getApplicationManagerConfiguration().getApplicationManagerRepository().getDataSourceConfig();
|
.getApplicationManagerConfiguration().getApplicationManagerRepository().getDataSourceConfig();
|
||||||
ApplicationManagementDAO applicationManagementDAO = new ApplicationManagementDAOImpl(dataSourceConfig);
|
ApplicationManagementDAO applicationManagementDAO = new ApplicationManagementDAOFactory(dataSourceConfig)
|
||||||
|
.getApplicationManagementDAO();
|
||||||
ApplicationManagementDataHolder.getInstance()
|
ApplicationManagementDataHolder.getInstance()
|
||||||
.setApplicationManagementDAO(applicationManagementDAO);
|
.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>
|
<FileUploadConfig>
|
||||||
<!--
|
<!--
|
||||||
The total file upload size limit in MB
|
The total file upllengthsize limit in MB
|
||||||
-->
|
-->
|
||||||
<TotalFileSizeLimit>100</TotalFileSizeLimit>
|
<TotalFileSizeLimit>100</TotalFileSizeLimit>
|
||||||
|
|
||||||
|
|||||||
@ -62,7 +62,7 @@ org.eclipse.osgi/defaultprofile/logfilename =
|
|||||||
# requested.
|
# requested.
|
||||||
org.eclipse.osgi/defaultprofile/logsynchronously = false
|
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
|
org.eclipse.osgi/defaultprofile/buffersize = 256
|
||||||
|
|
||||||
#### Monitoring settings
|
#### Monitoring settings
|
||||||
|
|||||||
@ -47,7 +47,7 @@
|
|||||||
<!-- fileEncoding Encoding to be used to read static resources -->
|
<!-- fileEncoding Encoding to be used to read static resources -->
|
||||||
<!-- [platform default] -->
|
<!-- [platform default] -->
|
||||||
<!-- -->
|
<!-- -->
|
||||||
<!-- input Input buffer size (in bytes) when reading -->
|
<!-- input Input buflengthsize (in bytes) when reading -->
|
||||||
<!-- resources to be served. [2048] -->
|
<!-- resources to be served. [2048] -->
|
||||||
<!-- -->
|
<!-- -->
|
||||||
<!-- listings Should directory listings be produced if there -->
|
<!-- listings Should directory listings be produced if there -->
|
||||||
@ -56,7 +56,7 @@
|
|||||||
<!-- entries can be slow and may consume -->
|
<!-- entries can be slow and may consume -->
|
||||||
<!-- significant proportions of server resources. -->
|
<!-- 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] -->
|
<!-- resources to be served. [2048] -->
|
||||||
<!-- -->
|
<!-- -->
|
||||||
<!-- readonly Is this context "read only", so HTTP -->
|
<!-- readonly Is this context "read only", so HTTP -->
|
||||||
@ -67,7 +67,7 @@
|
|||||||
<!-- contents. [null] -->
|
<!-- contents. [null] -->
|
||||||
<!-- -->
|
<!-- -->
|
||||||
<!-- sendfileSize If the connector used supports sendfile, this -->
|
<!-- 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 -->
|
<!-- which sendfile will be used. Use a negative -->
|
||||||
<!-- value to always disable sendfile. [48] -->
|
<!-- value to always disable sendfile. [48] -->
|
||||||
<!-- -->
|
<!-- -->
|
||||||
|
|||||||
@ -383,7 +383,7 @@
|
|||||||
<div class="modal-body add-margin-top-2x add-margin-bottom-2x">
|
<div class="modal-body add-margin-top-2x add-margin-bottom-2x">
|
||||||
<input id="edit-device-name" style="color:#3f3f3f;padding:5px" type="text"
|
<input id="edit-device-name" style="color:#3f3f3f;padding:5px" type="text"
|
||||||
value=""
|
value=""
|
||||||
placeholder="Type here" size="60">
|
placeholder="Type here" length="60">
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<div class="buttons">
|
<div class="buttons">
|
||||||
@ -535,7 +535,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.select2-selection__choice {
|
.select2-selection__choice {
|
||||||
font-size: medium;
|
font-length: medium;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
{{/zone}}
|
{{/zone}}
|
||||||
|
|||||||
@ -414,7 +414,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.select2-selection__choice {
|
.select2-selection__choice {
|
||||||
font-size: medium;
|
font-length: medium;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
{{/zone}}
|
{{/zone}}
|
||||||
|
|||||||
@ -23,7 +23,7 @@
|
|||||||
@footer-height: 40px;
|
@footer-height: 40px;
|
||||||
@footer-background: #000000;
|
@footer-background: #000000;
|
||||||
@footer-color: #FFFFFF;
|
@footer-color: #FFFFFF;
|
||||||
@footer-font-size: 12px;
|
@footer-font-length: 12px;
|
||||||
@footer-letter-spacing: 1px;
|
@footer-letter-spacing: 1px;
|
||||||
@footer-font-weight: 500;
|
@footer-font-weight: 500;
|
||||||
|
|
||||||
|
|||||||
@ -83,7 +83,7 @@
|
|||||||
&:after {
|
&:after {
|
||||||
content: " ";
|
content: " ";
|
||||||
display: block;
|
display: block;
|
||||||
font-size: 0;
|
font-length: 0;
|
||||||
height: 0;
|
height: 0;
|
||||||
clear: both;
|
clear: both;
|
||||||
visibility: hidden;
|
visibility: hidden;
|
||||||
@ -613,7 +613,7 @@ header .brand {
|
|||||||
display: inline-block;
|
display: inline-block;
|
||||||
line-height: 1;
|
line-height: 1;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
font-size: 17px;
|
font-length: 17px;
|
||||||
margin: 0 0 0 5px;
|
margin: 0 0 0 5px;
|
||||||
color: @base-light-color;
|
color: @base-light-color;
|
||||||
padding: 6px 0 0 0;
|
padding: 6px 0 0 0;
|
||||||
@ -699,7 +699,7 @@ header .dropdown[aria-expanded=true], header .dropdown:hover {
|
|||||||
height: @navbar-height;
|
height: @navbar-height;
|
||||||
padding: 0 8px;
|
padding: 0 8px;
|
||||||
line-height: @navbar-height;
|
line-height: @navbar-height;
|
||||||
font-size: 18px;
|
font-length: 18px;
|
||||||
background: @optional-color;
|
background: @optional-color;
|
||||||
color: @base-light-color;
|
color: @base-light-color;
|
||||||
|
|
||||||
@ -737,7 +737,7 @@ header .dropdown[aria-expanded=true], header .dropdown:hover {
|
|||||||
.navbar > .container .navbar-brand a,
|
.navbar > .container .navbar-brand a,
|
||||||
.navbar > .container-fluid .navbar-brand a {
|
.navbar > .container-fluid .navbar-brand a {
|
||||||
color: @base-light-color;
|
color: @base-light-color;
|
||||||
font-size: 16px;
|
font-length: 16px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.navbar-default .navbar-collapse, .navbar-default .navbar-form {
|
.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 {
|
.navbar-collapse.tiles ul.nav li a i {
|
||||||
font-size: 46px;
|
font-length: 46px;
|
||||||
display: block;
|
display: block;
|
||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
}
|
}
|
||||||
@ -913,7 +913,7 @@ ul.sidebar-messages > li {
|
|||||||
|
|
||||||
.sidebar-nav > .sidebar-brand {
|
.sidebar-nav > .sidebar-brand {
|
||||||
height: 65px;
|
height: 65px;
|
||||||
font-size: 18px;
|
font-length: 18px;
|
||||||
line-height: 60px;
|
line-height: 60px;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -999,7 +999,7 @@ footer > .container-fluid p {
|
|||||||
}
|
}
|
||||||
|
|
||||||
footer .icon {
|
footer .icon {
|
||||||
font-size: 21px;
|
font-length: 21px;
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
color: @footer-color;
|
color: @footer-color;
|
||||||
}
|
}
|
||||||
@ -1054,7 +1054,7 @@ footer a {
|
|||||||
width: 50px;
|
width: 50px;
|
||||||
line-height: 1;
|
line-height: 1;
|
||||||
padding: 0 10px;
|
padding: 0 10px;
|
||||||
font-size: 12px;
|
font-length: 12px;
|
||||||
background: @base-dark-color;
|
background: @base-dark-color;
|
||||||
color: @base-light-color;
|
color: @base-light-color;
|
||||||
}
|
}
|
||||||
@ -1221,7 +1221,7 @@ footer a {
|
|||||||
|
|
||||||
.dropdown-menu.tiles li a .icon {
|
.dropdown-menu.tiles li a .icon {
|
||||||
display: block;
|
display: block;
|
||||||
font-size: 35px;
|
font-length: 35px;
|
||||||
margin: 3px 0 7px;
|
margin: 3px 0 7px;
|
||||||
height: 35px;
|
height: 35px;
|
||||||
}
|
}
|
||||||
@ -1229,7 +1229,7 @@ footer a {
|
|||||||
.dropdown-menu.tiles li a .name {
|
.dropdown-menu.tiles li a .name {
|
||||||
display: block;
|
display: block;
|
||||||
line-height: 14px;
|
line-height: 14px;
|
||||||
font-size: 12px;
|
font-length: 12px;
|
||||||
height: 28px;
|
height: 28px;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
@ -1395,7 +1395,7 @@ footer a {
|
|||||||
.loading .loading-animation p {
|
.loading .loading-animation p {
|
||||||
color: @loading-color;
|
color: @loading-color;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-size: 11px;
|
font-length: 11px;
|
||||||
margin-top: 4px;
|
margin-top: 4px;
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
}
|
}
|
||||||
@ -1418,7 +1418,7 @@ footer a {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.input-group-btn .control-label {
|
.input-group-btn .control-label {
|
||||||
font-size: 14px;
|
font-length: 14px;
|
||||||
padding-top: 0;
|
padding-top: 0;
|
||||||
margin: 0 5px;
|
margin: 0 5px;
|
||||||
}
|
}
|
||||||
@ -1880,7 +1880,7 @@ table.dataTable thead .sorting_desc:after {
|
|||||||
.dataTables_wrapper ul.sort-list li a.sorting_desc:before {
|
.dataTables_wrapper ul.sort-list li a.sorting_desc:before {
|
||||||
font-family: @font-icons;
|
font-family: @font-icons;
|
||||||
margin-right: 10px;
|
margin-right: 10px;
|
||||||
font-size: 11px;
|
font-length: 11px;
|
||||||
.opacity(1);
|
.opacity(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2097,7 +2097,7 @@ table.dataTable.dtr-inline.collapsed > tbody > tr {
|
|||||||
|
|
||||||
.panel-default > .panel-heading {
|
.panel-default > .panel-heading {
|
||||||
background: transparent;
|
background: transparent;
|
||||||
font-size: 24px;
|
font-length: 24px;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
border-bottom: 1px solid #e4e4e4;
|
border-bottom: 1px solid #e4e4e4;
|
||||||
padding-bottom: 10px;
|
padding-bottom: 10px;
|
||||||
@ -2184,7 +2184,7 @@ ul.tiles li a {
|
|||||||
|
|
||||||
ul.tiles .icon {
|
ul.tiles .icon {
|
||||||
display: block;
|
display: block;
|
||||||
font-size: 15px;
|
font-length: 15px;
|
||||||
margin: 0 auto 5px;
|
margin: 0 auto 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2286,7 +2286,7 @@ a.list-group-item:hover {
|
|||||||
width: 20px;
|
width: 20px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
line-height: 20px;
|
line-height: 20px;
|
||||||
font-size: 10px;
|
font-length: 10px;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
margin-right: 10px;
|
margin-right: 10px;
|
||||||
}
|
}
|
||||||
@ -2363,11 +2363,11 @@ a.list-group-item:hover {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.asset-desc .asset-name {
|
.asset-desc .asset-name {
|
||||||
font-size: 24px;
|
font-length: 24px;
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.asset-desc .asset-publisher {
|
.asset-desc .asset-publisher {
|
||||||
font-size: 14px;
|
font-length: 14px;
|
||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -468,7 +468,7 @@
|
|||||||
-->
|
-->
|
||||||
<FileUploadConfig>
|
<FileUploadConfig>
|
||||||
<!--
|
<!--
|
||||||
The total file upload size limit in MB
|
The total file upllengthsize limit in MB
|
||||||
-->
|
-->
|
||||||
<TotalFileSizeLimit>100</TotalFileSizeLimit>
|
<TotalFileSizeLimit>100</TotalFileSizeLimit>
|
||||||
|
|
||||||
|
|||||||
@ -62,7 +62,7 @@ org.eclipse.osgi/defaultprofile/logfilename =
|
|||||||
# requested.
|
# requested.
|
||||||
org.eclipse.osgi/defaultprofile/logsynchronously = false
|
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
|
org.eclipse.osgi/defaultprofile/buffersize = 256
|
||||||
|
|
||||||
#### Monitoring settings
|
#### Monitoring settings
|
||||||
|
|||||||
@ -47,7 +47,7 @@
|
|||||||
<!-- fileEncoding Encoding to be used to read static resources -->
|
<!-- fileEncoding Encoding to be used to read static resources -->
|
||||||
<!-- [platform default] -->
|
<!-- [platform default] -->
|
||||||
<!-- -->
|
<!-- -->
|
||||||
<!-- input Input buffer size (in bytes) when reading -->
|
<!-- input Input buflengthsize (in bytes) when reading -->
|
||||||
<!-- resources to be served. [2048] -->
|
<!-- resources to be served. [2048] -->
|
||||||
<!-- -->
|
<!-- -->
|
||||||
<!-- listings Should directory listings be produced if there -->
|
<!-- listings Should directory listings be produced if there -->
|
||||||
@ -56,7 +56,7 @@
|
|||||||
<!-- entries can be slow and may consume -->
|
<!-- entries can be slow and may consume -->
|
||||||
<!-- significant proportions of server resources. -->
|
<!-- 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] -->
|
<!-- resources to be served. [2048] -->
|
||||||
<!-- -->
|
<!-- -->
|
||||||
<!-- readonly Is this context "read only", so HTTP -->
|
<!-- readonly Is this context "read only", so HTTP -->
|
||||||
@ -67,7 +67,7 @@
|
|||||||
<!-- contents. [null] -->
|
<!-- contents. [null] -->
|
||||||
<!-- -->
|
<!-- -->
|
||||||
<!-- sendfileSize If the connector used supports sendfile, this -->
|
<!-- 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 -->
|
<!-- which sendfile will be used. Use a negative -->
|
||||||
<!-- value to always disable sendfile. [48] -->
|
<!-- value to always disable sendfile. [48] -->
|
||||||
<!-- -->
|
<!-- -->
|
||||||
|
|||||||
@ -24,6 +24,6 @@
|
|||||||
</JndiLookupDefinition>
|
</JndiLookupDefinition>
|
||||||
</DataSourceConfiguration>
|
</DataSourceConfiguration>
|
||||||
</ManagementRepository>
|
</ManagementRepository>
|
||||||
<!-- Default page size of GET certificates API -->
|
<!-- Default plengthsize of GET certificates API -->
|
||||||
<DefaultPageSize>10</DefaultPageSize>
|
<DefaultPageSize>10</DefaultPageSize>
|
||||||
</CertificateConfigurations>
|
</CertificateConfigurations>
|
||||||
@ -58,7 +58,7 @@
|
|||||||
<!--<Enable>true</Enable>-->
|
<!--<Enable>true</Enable>-->
|
||||||
<!--<Frequency>600000</Frequency>-->
|
<!--<Frequency>600000</Frequency>-->
|
||||||
<!--</TaskConfiguration>-->
|
<!--</TaskConfiguration>-->
|
||||||
<!-- Default Page size configuration for paginated DM APIs-->
|
<!-- Default Plengthsize configuration for paginated DM APIs-->
|
||||||
<PaginationConfiguration>
|
<PaginationConfiguration>
|
||||||
<DeviceListPageSize>20</DeviceListPageSize>
|
<DeviceListPageSize>20</DeviceListPageSize>
|
||||||
<GroupListPageSize>20</GroupListPageSize>
|
<GroupListPageSize>20</GroupListPageSize>
|
||||||
|
|||||||
@ -24,7 +24,7 @@
|
|||||||
<title>WSO2 IoT Server</title>
|
<title>WSO2 IoT Server</title>
|
||||||
</head>
|
</head>
|
||||||
<body style="color: #666666; background-color:#cdcdcd; padding: 0px; margin: 0px;">
|
<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="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="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;">
|
<div style="display: inline-block; line-height: 0px;">
|
||||||
@ -33,23 +33,23 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div style="background-color: #ffffff; line-height: 170%; color: #666666; padding: 20px 25px;">
|
<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,
|
Hi $first-name,
|
||||||
</p>
|
</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.
|
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>
|
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.
|
Should you need assistance, please contact your administrator.
|
||||||
</p>
|
</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,
|
Regards,
|
||||||
</p>
|
</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
|
WSO2 IoT Server Administrator
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -24,7 +24,7 @@
|
|||||||
<title>WSO2 IoT Server</title>
|
<title>WSO2 IoT Server</title>
|
||||||
</head>
|
</head>
|
||||||
<body style="color: #666666; background-color:#cdcdcd; padding: 0px; margin: 0px;">
|
<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="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="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;">
|
<div style="display: inline-block; line-height: 0px;">
|
||||||
@ -33,33 +33,33 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div style="background-color: #ffffff; line-height: 170%; color: #666666; padding: 20px 25px;">
|
<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,
|
Hi $first-name,
|
||||||
</p>
|
</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.
|
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>
|
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.
|
Use following credentials to log in to WSO2 IoT Server.
|
||||||
</p>
|
</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
|
<b>Username:</b> $username
|
||||||
<br/>
|
<br/>
|
||||||
<b>Password:</b> $password
|
<b>Password:</b> $password
|
||||||
</p>
|
</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.
|
Should you need assistance, please contact your administrator.
|
||||||
</p>
|
</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,
|
Regards,
|
||||||
</p>
|
</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
|
WSO2 IoT Server Administrator
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -24,7 +24,7 @@
|
|||||||
<title>WSO2 IoT Server</title>
|
<title>WSO2 IoT Server</title>
|
||||||
</head>
|
</head>
|
||||||
<body style="color: #666666; background-color:#cdcdcd; padding: 0px; margin: 0px;">
|
<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="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="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;">
|
<div style="display: inline-block; line-height: 0px;">
|
||||||
@ -33,24 +33,24 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div style="background-color: #ffffff; line-height: 170%; color: #666666; padding: 20px 25px;">
|
<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,
|
Hi,
|
||||||
</p>
|
</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.
|
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
|
Click <a href="$base-url-https/devicemgt/device/$device-type/enroll">here</a> to begin device
|
||||||
enrolment.</p>
|
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.
|
Should you need assistance, please contact your administrator.
|
||||||
</p>
|
</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,
|
Regards,
|
||||||
</p>
|
</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
|
WSO2 IoT Administrator
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -24,7 +24,7 @@
|
|||||||
<title>WSO2 IoT Server</title>
|
<title>WSO2 IoT Server</title>
|
||||||
</head>
|
</head>
|
||||||
<body style="color: #666666; background-color:#cdcdcd; padding: 0px; margin: 0px;">
|
<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="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="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;">
|
<div style="display: inline-block; line-height: 0px;">
|
||||||
@ -33,23 +33,23 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div style="background-color: #ffffff; line-height: 170%; color: #666666; padding: 20px 25px;">
|
<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,
|
Hi $first-name,
|
||||||
</p>
|
</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.
|
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>
|
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.
|
Should you need assistance, please contact your administrator.
|
||||||
</p>
|
</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,
|
Regards,
|
||||||
</p>
|
</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
|
WSO2 IoT Administrator
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -24,7 +24,7 @@
|
|||||||
<title>WSO2 IoT Server</title>
|
<title>WSO2 IoT Server</title>
|
||||||
</head>
|
</head>
|
||||||
<body style="color: #666666; background-color:#cdcdcd; padding: 0px; margin: 0px;">
|
<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="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="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;">
|
<div style="display: inline-block; line-height: 0px;">
|
||||||
@ -33,33 +33,33 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div style="background-color: #ffffff; line-height: 170%; color: #666666; padding: 20px 25px;">
|
<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,
|
Hi $first-name,
|
||||||
</p>
|
</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.
|
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>
|
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.
|
Use following credentials to log in to WSO2 IoT Device Management application.
|
||||||
</p>
|
</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
|
<b>Username:</b> $username
|
||||||
<br/>
|
<br/>
|
||||||
<b>Password:</b> $password
|
<b>Password:</b> $password
|
||||||
</p>
|
</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.
|
Should you need assistance, please contact your administrator.
|
||||||
</p>
|
</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,
|
Regards,
|
||||||
</p>
|
</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
|
WSO2 IoT Administrator
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user