mirror of
https://repository.entgra.net/community/device-mgt-core.git
synced 2025-10-06 02:01:45 +00:00
implementing appmanager subscriptions
This commit is contained in:
parent
e09e1ec68a
commit
00e3ac8251
@ -29,6 +29,7 @@ import org.wso2.carbon.device.application.mgt.common.services.ApplicationStorage
|
||||
import org.wso2.carbon.device.application.mgt.common.services.LifecycleStateManager;
|
||||
import org.wso2.carbon.device.application.mgt.common.services.PlatformManager;
|
||||
import org.wso2.carbon.device.application.mgt.common.services.SubscriptionManager;
|
||||
import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService;
|
||||
|
||||
import javax.ws.rs.core.Response;
|
||||
|
||||
|
||||
@ -272,7 +272,7 @@ public interface ApplicationManagementAPI {
|
||||
@Valid Application application);
|
||||
|
||||
@POST
|
||||
@Path("upload-artifacts/{uuid}")
|
||||
@Path("/upload-artifacts/{uuid}")
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
@Consumes(MediaType.MULTIPART_FORM_DATA)
|
||||
@ApiOperation(
|
||||
@ -309,7 +309,7 @@ public interface ApplicationManagementAPI {
|
||||
@Multipart(value = "screenshot") List<Attachment> screenshots);
|
||||
|
||||
@PUT
|
||||
@Path("upload-artifacts/{uuid}")
|
||||
@Path("/upload-artifacts/{uuid}")
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
@Consumes(MediaType.MULTIPART_FORM_DATA)
|
||||
@ApiOperation(
|
||||
|
||||
@ -183,7 +183,7 @@ public class ApplicationManagementAPIImpl implements ApplicationManagementAPI {
|
||||
|
||||
@Override
|
||||
@POST
|
||||
@Path("upload-image-artifacts/{uuid}")
|
||||
@Path("/upload-image-artifacts/{uuid}")
|
||||
public Response uploadApplicationArtifacts(@PathParam("uuid") String applicationUUID,
|
||||
@Multipart("icon") Attachment iconFile, @Multipart("banner") Attachment bannerFile, @Multipart
|
||||
("screenshot") List<Attachment> attachmentList) {
|
||||
@ -233,7 +233,7 @@ public class ApplicationManagementAPIImpl implements ApplicationManagementAPI {
|
||||
|
||||
@Override
|
||||
@PUT
|
||||
@Path("upload-image-artifacts/{uuid}")
|
||||
@Path("/upload-image-artifacts/{uuid}")
|
||||
public Response updateApplicationArtifacts(@PathParam("uuid") String applicationUUID,
|
||||
@Multipart("icon") Attachment iconFile, @Multipart("banner") Attachment bannerFile, @Multipart
|
||||
("screenshot") List<Attachment> attachmentList) {
|
||||
|
||||
@ -28,6 +28,7 @@ import org.wso2.carbon.device.application.mgt.common.exception.ApplicationManage
|
||||
import org.wso2.carbon.device.application.mgt.common.services.SubscriptionManager;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import javax.ws.rs.POST;
|
||||
import javax.ws.rs.Path;
|
||||
import javax.ws.rs.Produces;
|
||||
import javax.ws.rs.core.Response;
|
||||
@ -43,15 +44,18 @@ public class SubscriptionManagementAPIImpl implements SubscriptionManagementAPI{
|
||||
private static Log log = LogFactory.getLog(SubscriptionManagementAPIImpl.class);
|
||||
|
||||
@Override
|
||||
@POST
|
||||
@Path("/install-application")
|
||||
public Response installApplication(@ApiParam(name = "installationDetails", value = "The application ID and list" +
|
||||
" the devices/users/roles", required = true) @Valid InstallationDetails installationDetails) {
|
||||
Object response;
|
||||
SubscriptionManager subscriptionManager = APIUtil.getSubscriptionManager();
|
||||
try {
|
||||
String applicationUUTD = installationDetails.getApplicationUUID();
|
||||
String versionName = installationDetails.getVersionName();
|
||||
if (!installationDetails.getDeviceIdentifiers().isEmpty()) {
|
||||
List<DeviceIdentifier> deviceList = installationDetails.getDeviceIdentifiers();
|
||||
response = subscriptionManager.installApplicationForDevices(applicationUUTD, deviceList);
|
||||
response = subscriptionManager.installApplicationForDevices(applicationUUTD, versionName, deviceList);
|
||||
} else if (!installationDetails.getUserNameList().isEmpty()) {
|
||||
List<String> userList = installationDetails.getUserNameList();
|
||||
response = subscriptionManager.installApplicationForUsers(applicationUUTD, userList);
|
||||
|
||||
@ -27,6 +27,11 @@ public class InstallationDetails {
|
||||
value = "Application ID",
|
||||
required = true)
|
||||
private String applicationUUID;
|
||||
@ApiModelProperty(
|
||||
name = "versionName",
|
||||
value = "Version name",
|
||||
required = true)
|
||||
private String versionName;
|
||||
@ApiModelProperty(
|
||||
name = "userNameList",
|
||||
value = "List of user names.",
|
||||
@ -54,6 +59,14 @@ public class InstallationDetails {
|
||||
this.applicationUUID = applicationUUID;
|
||||
}
|
||||
|
||||
public String getVersionName() {
|
||||
return versionName;
|
||||
}
|
||||
|
||||
public void setVersionName(String versionName) {
|
||||
this.versionName = versionName;
|
||||
}
|
||||
|
||||
public List<String> getUserNameList() {
|
||||
return userNameList;
|
||||
}
|
||||
|
||||
@ -34,7 +34,7 @@ public interface SubscriptionManager {
|
||||
* @return DeviceList which the application has been installed
|
||||
* @throws ApplicationManagementException Application Management Exception
|
||||
*/
|
||||
List<DeviceIdentifier> installApplicationForDevices(String applicationUUID,
|
||||
List<DeviceIdentifier> installApplicationForDevices(String applicationUUID, String versionName,
|
||||
List<DeviceIdentifier> deviceList)
|
||||
throws ApplicationManagementException;
|
||||
|
||||
|
||||
@ -23,12 +23,23 @@ import org.wso2.carbon.device.application.mgt.common.DeviceIdentifier;
|
||||
import org.wso2.carbon.device.application.mgt.common.exception.ApplicationManagementException;
|
||||
import org.wso2.carbon.device.application.mgt.common.services.SubscriptionManager;
|
||||
import org.wso2.carbon.device.application.mgt.core.dao.common.DAOFactory;
|
||||
import org.wso2.carbon.device.application.mgt.core.util.HelperUtil;
|
||||
import org.wso2.carbon.device.mgt.common.Device;
|
||||
import org.wso2.carbon.device.mgt.common.DeviceManagementConstants;
|
||||
import org.wso2.carbon.device.mgt.common.DeviceManagementException;
|
||||
import org.wso2.carbon.device.mgt.common.InvalidDeviceException;
|
||||
import org.wso2.carbon.device.mgt.common.app.mgt.DeviceApplicationMapping;
|
||||
import org.wso2.carbon.device.mgt.common.operation.mgt.Operation;
|
||||
import org.wso2.carbon.device.mgt.common.operation.mgt.OperationManagementException;
|
||||
import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOException;
|
||||
import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOFactory;
|
||||
import org.wso2.carbon.device.mgt.core.operation.mgt.ProfileOperation;
|
||||
import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService;
|
||||
|
||||
import java.sql.SQLException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* This is the default implementation for the Subscription Manager.
|
||||
@ -38,9 +49,12 @@ public class SubscriptionManagerImpl implements SubscriptionManager {
|
||||
private static final Log log = LogFactory.getLog(SubscriptionManagerImpl.class);
|
||||
|
||||
@Override
|
||||
public List<DeviceIdentifier> installApplicationForDevices(String applicationUUID,
|
||||
public List<DeviceIdentifier> installApplicationForDevices(String applicationUUID, String versionName,
|
||||
List<DeviceIdentifier> deviceList)
|
||||
throws ApplicationManagementException {
|
||||
|
||||
// Todo: try whether we can optimise this by sending bulk inserts to db
|
||||
// Todo: atomicity is not maintained as deveice managment provider service uses separate db connection. fix this??
|
||||
log.info("Install application: " + applicationUUID + " to: " + deviceList.size() + " devices.");
|
||||
List<DeviceIdentifier> failedDeviceList = new ArrayList<>(deviceList);
|
||||
for (DeviceIdentifier device : deviceList) {
|
||||
@ -48,18 +62,40 @@ public class SubscriptionManagerImpl implements SubscriptionManager {
|
||||
.common.DeviceIdentifier(device.getId(), device.getType());
|
||||
try {
|
||||
DeviceManagementDAOFactory.openConnection();
|
||||
if (DeviceManagementDAOFactory.getDeviceDAO().getDevice(deviceIdentifier).isEmpty()) {
|
||||
// todo: replace this with boolean:deviceExsits(deviceId) operation
|
||||
Map<Integer, Device> currentDevices = DeviceManagementDAOFactory.getDeviceDAO().getDevice(deviceIdentifier);
|
||||
DeviceManagementDAOFactory.closeConnection();
|
||||
|
||||
if (currentDevices.isEmpty()) {
|
||||
log.error("Device with ID: " + device.getId() + " not found to install the application.");
|
||||
} else {
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Installing application to : " + device.getId());
|
||||
}
|
||||
//Todo: generating one time download link for the application and put install operation to device.
|
||||
DAOFactory.getSubscriptionDAO().addDeviceApplicationMapping(device.getId(), applicationUUID, false);
|
||||
|
||||
// put app install operation to the device
|
||||
ProfileOperation operation = new ProfileOperation();
|
||||
operation.setCode("INSTALL_APPLICATION");
|
||||
operation.setType(Operation.Type.PROFILE);
|
||||
operation.setPayLoad("{'type':'enterprise', 'url':'http://10.100.5.76:8000/app-debug.apk', 'app':'" + applicationUUID + "'}");
|
||||
List<org.wso2.carbon.device.mgt.common.DeviceIdentifier> deviceIdentifiers = new ArrayList<>();
|
||||
deviceIdentifiers.add(deviceIdentifier);
|
||||
DeviceManagementProviderService deviceManagementProviderService = HelperUtil.getDeviceManagementProviderService();
|
||||
deviceManagementProviderService.addOperation(DeviceManagementConstants.MobileDeviceTypes.MOBILE_DEVICE_TYPE_ANDROID,
|
||||
operation, deviceIdentifiers);
|
||||
|
||||
DeviceApplicationMapping deviceApp = new DeviceApplicationMapping();
|
||||
deviceApp.setDeviceIdentifier(device.getId());
|
||||
deviceApp.setApplicationUUID(applicationUUID);
|
||||
deviceApp.setVersionName(versionName);
|
||||
deviceApp.setInstalled(false);
|
||||
deviceManagementProviderService.addDeviceApplicationMapping(deviceApp);
|
||||
// DAOFactory.getSubscriptionDAO().addDeviceApplicationMapping(device.getId(), applicationUUID, false);
|
||||
failedDeviceList.remove(device);
|
||||
}
|
||||
} catch (DeviceManagementDAOException | SQLException e) {
|
||||
throw new ApplicationManagementException("Error locating device.", e);
|
||||
} catch (DeviceManagementException | DeviceManagementDAOException | OperationManagementException | InvalidDeviceException | SQLException e) {
|
||||
throw new ApplicationManagementException("Failed to install application " + applicationUUID + " on device " + deviceIdentifier, e);
|
||||
} finally {
|
||||
DeviceManagementDAOFactory.closeConnection();
|
||||
}
|
||||
|
||||
@ -18,6 +18,11 @@
|
||||
*/
|
||||
package org.wso2.carbon.device.application.mgt.core.util;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.wso2.carbon.context.PrivilegedCarbonContext;
|
||||
import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
@ -25,8 +30,30 @@ import java.util.UUID;
|
||||
*/
|
||||
public class HelperUtil {
|
||||
|
||||
private static Log log = LogFactory.getLog(HelperUtil.class);
|
||||
|
||||
private static DeviceManagementProviderService deviceManagementProviderService;
|
||||
|
||||
public static String generateApplicationUuid() {
|
||||
return UUID.randomUUID().toString();
|
||||
}
|
||||
|
||||
public static DeviceManagementProviderService getDeviceManagementProviderService() {
|
||||
if (deviceManagementProviderService == null) {
|
||||
synchronized (HelperUtil.class) {
|
||||
if (deviceManagementProviderService == null) {
|
||||
PrivilegedCarbonContext ctx = PrivilegedCarbonContext.getThreadLocalCarbonContext();
|
||||
deviceManagementProviderService = (DeviceManagementProviderService) ctx
|
||||
.getOSGiService(DeviceManagementProviderService.class, null);
|
||||
if (deviceManagementProviderService == null) {
|
||||
String msg = "Device management provider service has not initialized.";
|
||||
log.error(msg);
|
||||
throw new IllegalStateException(msg);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return deviceManagementProviderService;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -37,7 +37,7 @@
|
||||
<module>org.wso2.carbon.device.application.mgt.core</module>
|
||||
<module>org.wso2.carbon.device.application.mgt.common</module>
|
||||
<module>org.wso2.carbon.device.application.mgt.api</module>
|
||||
<module>org.wso2.carbon.device.application.mgt.publisher.ui</module>
|
||||
<!-- module>org.wso2.carbon.device.application.mgt.publisher.ui</module -->
|
||||
</modules>
|
||||
|
||||
<build>
|
||||
|
||||
@ -0,0 +1,61 @@
|
||||
/*
|
||||
* Copyright (c) 2016, 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.mgt.common.app.mgt;
|
||||
|
||||
public class DeviceApplicationMapping {
|
||||
|
||||
private String deviceIdentifier;
|
||||
|
||||
private String applicationUUID;
|
||||
|
||||
private String versionName;
|
||||
|
||||
private boolean installed;
|
||||
|
||||
public String getDeviceIdentifier() {
|
||||
return deviceIdentifier;
|
||||
}
|
||||
|
||||
public void setDeviceIdentifier(String deviceIdentifier) {
|
||||
this.deviceIdentifier = deviceIdentifier;
|
||||
}
|
||||
|
||||
public String getApplicationUUID() {
|
||||
return applicationUUID;
|
||||
}
|
||||
|
||||
public void setApplicationUUID(String applicationUUID) {
|
||||
this.applicationUUID = applicationUUID;
|
||||
}
|
||||
|
||||
public String getVersionName() {
|
||||
return versionName;
|
||||
}
|
||||
|
||||
public void setVersionName(String versionName) {
|
||||
this.versionName = versionName;
|
||||
}
|
||||
|
||||
public boolean isInstalled() {
|
||||
return installed;
|
||||
}
|
||||
|
||||
public void setInstalled(boolean installed) {
|
||||
this.installed = installed;
|
||||
}
|
||||
}
|
||||
@ -28,6 +28,7 @@ import org.wso2.carbon.device.mgt.common.InvalidDeviceException;
|
||||
import org.wso2.carbon.device.mgt.common.TransactionManagementException;
|
||||
import org.wso2.carbon.device.mgt.common.app.mgt.Application;
|
||||
import org.wso2.carbon.device.mgt.common.app.mgt.ApplicationManagementException;
|
||||
import org.wso2.carbon.device.mgt.common.app.mgt.DeviceApplicationMapping;
|
||||
import org.wso2.carbon.device.mgt.common.operation.mgt.Activity;
|
||||
import org.wso2.carbon.device.mgt.common.operation.mgt.Operation;
|
||||
import org.wso2.carbon.device.mgt.common.operation.mgt.OperationManagementException;
|
||||
@ -192,10 +193,85 @@ public class ApplicationManagerProviderServiceImpl implements ApplicationManagem
|
||||
}
|
||||
}
|
||||
|
||||
private boolean contains(DeviceApplicationMapping deviceApp, List<Application> installedApps) {
|
||||
boolean installed = false;
|
||||
for (Application app : installedApps) {
|
||||
if (app.getApplicationIdentifier().equals(deviceApp.getApplicationUUID()) && app.getVersion().equals(deviceApp.getVersionName())) {
|
||||
installed = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return installed;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateApplicationListInstalledInDevice(
|
||||
DeviceIdentifier deviceIdentifier,
|
||||
List<Application> applications) throws ApplicationManagementException {
|
||||
|
||||
try {
|
||||
DeviceManagementDAOFactory.beginTransaction();
|
||||
List<DeviceApplicationMapping> installedDeviceApps = new ArrayList<>();
|
||||
List<DeviceApplicationMapping> uninstalledDeviceApps = new ArrayList<>();
|
||||
List<DeviceApplicationMapping> deviceApps = applicationMappingDAO.getApplicationsOfDevice(deviceIdentifier.getId(), false);
|
||||
for (DeviceApplicationMapping deviceApp : deviceApps) {
|
||||
if (contains(deviceApp, applications)) {
|
||||
if (!deviceApp.isInstalled()) {
|
||||
// device app mapping is recorded as not installed (i.e. install app operation has been sent to device)
|
||||
// as the app list sent from the device contains this, app is now installed in the device
|
||||
// so we can mark the device app mapping entry as installed.
|
||||
deviceApp.setInstalled(true);
|
||||
applicationMappingDAO.updateDeviceApplicationMapping(deviceApp);
|
||||
}
|
||||
} else {
|
||||
if (deviceApp.isInstalled()) {
|
||||
// we have a device-app mapping in the installed state in the db. but app is not installed in the device.
|
||||
// which implies that a previously installed app has been uninstalled from the device. so we have to remove the device app mapping
|
||||
applicationMappingDAO.removeApplicationMapping(deviceApp);
|
||||
}
|
||||
}
|
||||
}
|
||||
DeviceManagementDAOFactory.commitTransaction();
|
||||
|
||||
} catch (DeviceManagementDAOException | TransactionManagementException e) {
|
||||
String msg = "Failed to update application list of the device " + deviceIdentifier;
|
||||
throw new ApplicationManagementException(msg, e);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public void updateApplicationListInstalledInDeviceDep(
|
||||
DeviceIdentifier deviceIdentifier,
|
||||
List<Application> applications) throws ApplicationManagementException {
|
||||
|
||||
try {
|
||||
DeviceManagementDAOFactory.beginTransaction();
|
||||
List<DeviceApplicationMapping> installedDeviceApps = new ArrayList<>();
|
||||
List<DeviceApplicationMapping> uninstalledDeviceApps = new ArrayList<>();
|
||||
List<DeviceApplicationMapping> deviceApps = applicationMappingDAO.getApplicationsOfDevice(deviceIdentifier.getId(), false);
|
||||
for (DeviceApplicationMapping deviceApp : deviceApps) {
|
||||
if (contains(deviceApp, applications)) {
|
||||
// if device app is pending mark device app as installed
|
||||
if (!deviceApp.isInstalled()) {
|
||||
deviceApp.setInstalled(true);
|
||||
applicationMappingDAO.updateDeviceApplicationMapping(deviceApp);
|
||||
}
|
||||
} else {
|
||||
if (deviceApp.isInstalled()) {
|
||||
// this means we have a device-app mapping in the installed state in the db. but app is not installed in the device.
|
||||
// which implies that a previously installed app has been uninstalled from the device. so we have to remove the device app mapping
|
||||
applicationMappingDAO.removeApplicationMapping(deviceApp);
|
||||
}
|
||||
}
|
||||
}
|
||||
DeviceManagementDAOFactory.commitTransaction();
|
||||
|
||||
} catch (DeviceManagementDAOException | TransactionManagementException e) {
|
||||
String msg = "Failed to update application list of the device " + deviceIdentifier;
|
||||
throw new ApplicationManagementException(msg, e);
|
||||
|
||||
}
|
||||
|
||||
List<Application> installedAppList = getApplicationListForDevice(deviceIdentifier);
|
||||
try {
|
||||
Device device = DeviceManagementDataHolder.getInstance().getDeviceManagementProvider().getDevice(deviceIdentifier,
|
||||
|
||||
@ -19,6 +19,7 @@
|
||||
package org.wso2.carbon.device.mgt.core.dao;
|
||||
|
||||
import org.wso2.carbon.device.mgt.common.app.mgt.Application;
|
||||
import org.wso2.carbon.device.mgt.common.app.mgt.DeviceApplicationMapping;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ -31,4 +32,12 @@ public interface ApplicationMappingDAO {
|
||||
|
||||
void removeApplicationMapping(int deviceId, List<Integer> appIdList, int tenantId)
|
||||
throws DeviceManagementDAOException;
|
||||
|
||||
int addDeviceApplicationMapping(DeviceApplicationMapping deviceApp) throws DeviceManagementDAOException;
|
||||
|
||||
void updateDeviceApplicationMapping(DeviceApplicationMapping deviceApp) throws DeviceManagementDAOException;
|
||||
|
||||
List<DeviceApplicationMapping> getApplicationsOfDevice(String deviceIdentifier, boolean installed) throws DeviceManagementDAOException;
|
||||
|
||||
void removeApplicationMapping(DeviceApplicationMapping deviceApp) throws DeviceManagementDAOException;
|
||||
}
|
||||
|
||||
@ -22,6 +22,7 @@ import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.wso2.carbon.device.mgt.common.app.mgt.Application;
|
||||
import org.wso2.carbon.device.mgt.common.app.mgt.ApplicationManagementException;
|
||||
import org.wso2.carbon.device.mgt.common.app.mgt.DeviceApplicationMapping;
|
||||
import org.wso2.carbon.device.mgt.core.dao.ApplicationMappingDAO;
|
||||
import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOException;
|
||||
import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOFactory;
|
||||
@ -38,6 +39,8 @@ import java.util.Properties;
|
||||
|
||||
public class ApplicationMappingDAOImpl implements ApplicationMappingDAO {
|
||||
|
||||
private static Log log = LogFactory.getLog(ApplicationMappingDAOImpl.class);
|
||||
|
||||
@Override
|
||||
public int addApplicationMapping(int deviceId, int applicationId,
|
||||
int tenantId) throws DeviceManagementDAOException {
|
||||
@ -120,6 +123,128 @@ public class ApplicationMappingDAOImpl implements ApplicationMappingDAO {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int addDeviceApplicationMapping(DeviceApplicationMapping deviceApp) throws
|
||||
DeviceManagementDAOException {
|
||||
Connection conn;
|
||||
PreparedStatement stmt = null;
|
||||
ResultSet rs = null;
|
||||
int mappingId = -1;
|
||||
try {
|
||||
conn = getConnection();
|
||||
String sql = "SELECT ID FROM DM_DEVICE_APPLICATION_MAPPING WHERE DEVICE_IDENTIFIER = ? AND " +
|
||||
"APPLICATION_UUID = ? AND VERSION_NAME = ?";
|
||||
stmt = conn.prepareStatement(sql);
|
||||
stmt.setString(1, deviceApp.getDeviceIdentifier());
|
||||
stmt.setString(2, deviceApp.getApplicationUUID());
|
||||
stmt.setString(3, deviceApp.getVersionName());
|
||||
rs = stmt.executeQuery();
|
||||
|
||||
if (!rs.next()) {
|
||||
sql = "INSERT INTO DM_DEVICE_APPLICATION_MAPPING (DEVICE_IDENTIFIER, APPLICATION_UUID, VERSION_NAME," +
|
||||
"INSTALLED) VALUES (?, ?, ?, ?)";
|
||||
stmt = conn.prepareStatement(sql, new String[]{"id"});
|
||||
stmt.setString(1, deviceApp.getDeviceIdentifier());
|
||||
stmt.setString(2, deviceApp.getApplicationUUID());
|
||||
stmt.setString(3, deviceApp.getVersionName());
|
||||
stmt.setBoolean(4, deviceApp.isInstalled());
|
||||
stmt.executeUpdate();
|
||||
|
||||
rs = stmt.getGeneratedKeys();
|
||||
if (rs.next()) {
|
||||
mappingId = rs.getInt(1);
|
||||
}
|
||||
return mappingId;
|
||||
} else {
|
||||
log.warn("Device[" + deviceApp.getDeviceIdentifier() + "] application[" + deviceApp.getApplicationUUID() + "] mapping already " +
|
||||
"exists in the DB");
|
||||
return -1;
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
throw new DeviceManagementDAOException("Error occurred while adding device application mapping to DB", e);
|
||||
} finally {
|
||||
DeviceManagementDAOUtil.cleanupResources(stmt, rs);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateDeviceApplicationMapping(DeviceApplicationMapping deviceApp) throws
|
||||
DeviceManagementDAOException {
|
||||
Connection conn;
|
||||
PreparedStatement stmt = null;
|
||||
ResultSet rs = null;
|
||||
try {
|
||||
conn = getConnection();
|
||||
String sql = "UPDATE DM_DEVICE_APPLICATION_MAPPING " +
|
||||
"SET INSTALLED = ? " +
|
||||
"WHERE DEVICE_IDENTIFIER = ? AND APPLICATION_UUID = ? AND VERSION_NAME = ?";
|
||||
stmt = conn.prepareStatement(sql);
|
||||
stmt.setBoolean(1, deviceApp.isInstalled());
|
||||
stmt.setString(2, deviceApp.getDeviceIdentifier());
|
||||
stmt.setString(3, deviceApp.getApplicationUUID());
|
||||
stmt.setString(3, deviceApp.getVersionName());
|
||||
stmt.executeUpdate();
|
||||
|
||||
} catch (SQLException e) {
|
||||
throw new DeviceManagementDAOException("Error occurred while adding device application mapping to DB", e);
|
||||
} finally {
|
||||
DeviceManagementDAOUtil.cleanupResources(stmt, rs);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<DeviceApplicationMapping> getApplicationsOfDevice(String deviceIdentifier, boolean installed) throws
|
||||
DeviceManagementDAOException {
|
||||
List<DeviceApplicationMapping> applications = new ArrayList<>();
|
||||
Connection conn;
|
||||
PreparedStatement stmt = null;
|
||||
ResultSet rs = null;
|
||||
int mappingId = -1;
|
||||
try {
|
||||
conn = getConnection();
|
||||
String sql = "SELECT APPLICATION_UUID, VERSION_NAME FROM DM_DEVICE_APPLICATION_MAPPING WHERE DEVICE_IDENTIFIER = ? AND INSTALLED = ?";
|
||||
stmt = conn.prepareStatement(sql);
|
||||
stmt.setString(1, deviceIdentifier);
|
||||
stmt.setBoolean(2, installed);
|
||||
rs = stmt.executeQuery();
|
||||
|
||||
while (rs.next()) {
|
||||
DeviceApplicationMapping deviceApp = new DeviceApplicationMapping();
|
||||
deviceApp.setDeviceIdentifier(deviceIdentifier);
|
||||
deviceApp.setApplicationUUID(rs.getString(1));
|
||||
deviceApp.setVersionName(rs.getString(2));
|
||||
deviceApp.setInstalled(true);
|
||||
applications.add(deviceApp);
|
||||
}
|
||||
return applications;
|
||||
} catch (SQLException e) {
|
||||
throw new DeviceManagementDAOException("Error occurred while adding device application mapping to DB", e);
|
||||
} finally {
|
||||
DeviceManagementDAOUtil.cleanupResources(stmt, rs);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeApplicationMapping(DeviceApplicationMapping deviceApp) throws DeviceManagementDAOException {
|
||||
Connection conn;
|
||||
PreparedStatement stmt = null;
|
||||
try {
|
||||
String sql = "DELETE FROM DM_DEVICE_APPLICATION_MAPPING WHERE DEVICE_IDENTIFIER = ? AND " +
|
||||
"APPLICATION_UUID = ? AND VERSION_NAME = ?";
|
||||
|
||||
conn = this.getConnection();
|
||||
stmt = conn.prepareStatement(sql);
|
||||
stmt.setString(1, deviceApp.getDeviceIdentifier());
|
||||
stmt.setString(2, deviceApp.getApplicationUUID());
|
||||
stmt.setString(3, deviceApp.getVersionName());
|
||||
stmt.executeUpdate();
|
||||
} catch (SQLException e) {
|
||||
throw new DeviceManagementDAOException("Error occurred while removing device application mapping", e);
|
||||
} finally {
|
||||
DeviceManagementDAOUtil.cleanupResources(stmt, null);
|
||||
}
|
||||
}
|
||||
|
||||
private Connection getConnection() throws SQLException {
|
||||
return DeviceManagementDAOFactory.getConnection();
|
||||
}
|
||||
|
||||
@ -26,6 +26,7 @@ import org.wso2.carbon.device.mgt.common.InvalidDeviceException;
|
||||
import org.wso2.carbon.device.mgt.common.MonitoringOperation;
|
||||
import org.wso2.carbon.device.mgt.common.PaginationRequest;
|
||||
import org.wso2.carbon.device.mgt.common.PaginationResult;
|
||||
import org.wso2.carbon.device.mgt.common.app.mgt.DeviceApplicationMapping;
|
||||
import org.wso2.carbon.device.mgt.common.configuration.mgt.PlatformConfiguration;
|
||||
import org.wso2.carbon.device.mgt.common.license.mgt.License;
|
||||
import org.wso2.carbon.device.mgt.common.operation.mgt.Activity;
|
||||
@ -591,4 +592,6 @@ public interface DeviceManagementProviderService {
|
||||
throws PullNotificationExecutionFailedException;
|
||||
|
||||
List<Integer> getDeviceEnrolledTenants() throws DeviceManagementException;
|
||||
|
||||
void addDeviceApplicationMapping(DeviceApplicationMapping deviceApp) throws DeviceManagementException;
|
||||
}
|
||||
|
||||
@ -28,8 +28,10 @@ import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
|
||||
import org.wso2.carbon.device.mgt.common.DeviceManagementException;
|
||||
import org.wso2.carbon.device.mgt.common.DeviceManager;
|
||||
import org.wso2.carbon.device.mgt.common.DeviceNotFoundException;
|
||||
import org.wso2.carbon.device.mgt.common.app.mgt.DeviceApplicationMapping;
|
||||
import org.wso2.carbon.device.mgt.common.pull.notification.PullNotificationExecutionFailedException;
|
||||
import org.wso2.carbon.device.mgt.common.pull.notification.PullNotificationSubscriber;
|
||||
import org.wso2.carbon.device.mgt.core.dao.ApplicationMappingDAO;
|
||||
import org.wso2.carbon.device.mgt.core.dto.DeviceTypeServiceIdentifier;
|
||||
import org.wso2.carbon.device.mgt.common.EnrolmentInfo;
|
||||
import org.wso2.carbon.device.mgt.common.FeatureManager;
|
||||
@ -100,6 +102,7 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv
|
||||
private DeviceTypeDAO deviceTypeDAO;
|
||||
private EnrollmentDAO enrollmentDAO;
|
||||
private ApplicationDAO applicationDAO;
|
||||
private ApplicationMappingDAO applicationMappingDAO;
|
||||
private DeviceManagementPluginRepository pluginRepository;
|
||||
|
||||
public DeviceManagementProviderServiceImpl() {
|
||||
@ -116,6 +119,7 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv
|
||||
this.applicationDAO = DeviceManagementDAOFactory.getApplicationDAO();
|
||||
this.deviceTypeDAO = DeviceManagementDAOFactory.getDeviceTypeDAO();
|
||||
this.enrollmentDAO = DeviceManagementDAOFactory.getEnrollmentDAO();
|
||||
this.applicationMappingDAO = DeviceManagementDAOFactory.getApplicationMappingDAO();
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -1698,6 +1702,20 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv
|
||||
pullNotificationSubscriber.execute(deviceIdentifier, operation);
|
||||
}
|
||||
|
||||
public void addDeviceApplicationMapping(DeviceApplicationMapping deviceApp) throws DeviceManagementException {
|
||||
try {
|
||||
DeviceManagementDAOFactory.openConnection();
|
||||
applicationMappingDAO.addDeviceApplicationMapping(deviceApp);
|
||||
} catch (DeviceManagementDAOException e) {
|
||||
throw new DeviceManagementException("Error occurred while adding device application mapping for device "
|
||||
+ deviceApp.getDeviceIdentifier() + " and application " + deviceApp.getApplicationUUID(), e);
|
||||
} catch (SQLException e) {
|
||||
throw new DeviceManagementException("Error occurred while opening a connection to the data source", e);
|
||||
} finally {
|
||||
DeviceManagementDAOFactory.closeConnection();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns all the device-info including location of the given device.
|
||||
*/
|
||||
|
||||
19
deploy.sh
Executable file
19
deploy.sh
Executable file
@ -0,0 +1,19 @@
|
||||
mvn clean install -Dmaven.test.skip=true -f components/application-mgt/org.wso2.carbon.device.application.mgt.common/pom.xml
|
||||
|
||||
mvn clean install -Dmaven.test.skip=true -f components/application-mgt/org.wso2.carbon.device.application.mgt.core/pom.xml
|
||||
|
||||
mvn clean install -Dmaven.test.skip=true -f components/application-mgt/org.wso2.carbon.device.application.mgt.api/pom.xml
|
||||
|
||||
rm ~/projects/wso2/iot/testing/appm/310appm/wso2iot-3.1.0-SNAPSHOT/patches/patch0101/ -r
|
||||
|
||||
mkdir ~/projects/wso2/iot/testing/appm/310appm/wso2iot-3.1.0-SNAPSHOT/patches/patch0101
|
||||
|
||||
cp components/application-mgt/org.wso2.carbon.device.application.mgt.common/target/org.wso2.carbon.device.application.mgt.common-*.jar ~/projects/wso2/iot/testing/appm/310appm/wso2iot-3.1.0-SNAPSHOT/patches/patch0101/
|
||||
|
||||
cp components/application-mgt/org.wso2.carbon.device.application.mgt.core/target/org.wso2.carbon.device.application.mgt.core-*.jar ~/projects/wso2/iot/testing/appm/310appm/wso2iot-3.1.0-SNAPSHOT/patches/patch0101/
|
||||
|
||||
rm ~/projects/wso2/iot/testing/appm/310appm/wso2iot-3.1.0-SNAPSHOT/repository/deployment/server/webapps/api#application-mgt#v1.0.war
|
||||
|
||||
rm ~/projects/wso2/iot/testing/appm/310appm/wso2iot-3.1.0-SNAPSHOT/repository/deployment/server/webapps/api#application-mgt#v1.0/ -r
|
||||
|
||||
cp components/application-mgt/org.wso2.carbon.device.application.mgt.api/target/api#application-mgt#v1.0.war ~/projects/wso2/iot/testing/appm/310appm/wso2iot-3.1.0-SNAPSHOT/repository/deployment/server/webapps/
|
||||
@ -393,17 +393,17 @@ CREATE TABLE IF NOT EXISTS `APPM_SUBSCRIPTION_PROPERTIES` (
|
||||
-- -----------------------------------------------------
|
||||
-- Table `APPM_DEVICE_APPLICATION_MAPPING`
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS `APPM_DEVICE_APPLICATION_MAPPING` (
|
||||
`ID` INT AUTO_INCREMENT NOT NULL,
|
||||
`DEVICE_IDENTIFIER` VARCHAR(255) NOT NULL,
|
||||
`APPLICATION_UUID` VARCHAR(100) NOT NULL,
|
||||
`INSTALLED` BOOLEAN NOT NULL,
|
||||
`SENT_AT` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (ID),
|
||||
CONSTRAINT `fk_appm_application` FOREIGN KEY (`APPLICATION_UUID`) REFERENCES
|
||||
APPM_APPLICATION (`UUID`) ON DELETE NO ACTION ON UPDATE NO ACTION,
|
||||
UNIQUE KEY `device_app_mapping` (`DEVICE_IDENTIFIER`, `APPLICATION_UUID`)
|
||||
) ENGINE = InnoDB;
|
||||
-- CREATE TABLE IF NOT EXISTS `APPM_DEVICE_APPLICATION_MAPPING` (
|
||||
-- `ID` INT AUTO_INCREMENT NOT NULL,
|
||||
-- `DEVICE_IDENTIFIER` VARCHAR(255) NOT NULL,
|
||||
-- `APPLICATION_UUID` VARCHAR(100) NOT NULL,
|
||||
-- `INSTALLED` BOOLEAN NOT NULL,
|
||||
-- `SENT_AT` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
-- PRIMARY KEY (ID),
|
||||
-- CONSTRAINT `fk_appm_application` FOREIGN KEY (`APPLICATION_UUID`) REFERENCES
|
||||
-- APPM_APPLICATION (`UUID`) ON DELETE NO ACTION ON UPDATE NO ACTION,
|
||||
-- UNIQUE KEY `device_app_mapping` (`DEVICE_IDENTIFIER`, `APPLICATION_UUID`)
|
||||
-- ) ENGINE = InnoDB;
|
||||
|
||||
SET SQL_MODE=@OLD_SQL_MODE;
|
||||
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
|
||||
|
||||
@ -402,17 +402,17 @@ CREATE TABLE IF NOT EXISTS DM_APPLICATION (
|
||||
)ENGINE = InnoDB;
|
||||
|
||||
|
||||
CREATE TABLE IF NOT EXISTS DM_DEVICE_APPLICATION_MAPPING (
|
||||
ID INTEGER AUTO_INCREMENT NOT NULL,
|
||||
DEVICE_ID INTEGER NOT NULL,
|
||||
APPLICATION_ID INTEGER NOT NULL,
|
||||
TENANT_ID INTEGER NOT NULL,
|
||||
PRIMARY KEY (ID),
|
||||
CONSTRAINT fk_dm_device FOREIGN KEY (DEVICE_ID) REFERENCES
|
||||
DM_DEVICE (ID) ON DELETE NO ACTION ON UPDATE NO ACTION,
|
||||
CONSTRAINT fk_dm_application FOREIGN KEY (APPLICATION_ID) REFERENCES
|
||||
DM_APPLICATION (ID) ON DELETE NO ACTION ON UPDATE NO ACTION
|
||||
)ENGINE = InnoDB;
|
||||
-- CREATE TABLE IF NOT EXISTS DM_DEVICE_APPLICATION_MAPPING (
|
||||
-- ID INTEGER AUTO_INCREMENT NOT NULL,
|
||||
-- DEVICE_ID INTEGER NOT NULL,
|
||||
-- APPLICATION_ID INTEGER NOT NULL,
|
||||
-- TENANT_ID INTEGER NOT NULL,
|
||||
-- PRIMARY KEY (ID),
|
||||
-- CONSTRAINT fk_dm_device FOREIGN KEY (DEVICE_ID) REFERENCES
|
||||
-- DM_DEVICE (ID) ON DELETE NO ACTION ON UPDATE NO ACTION,
|
||||
-- CONSTRAINT fk_dm_application FOREIGN KEY (APPLICATION_ID) REFERENCES
|
||||
-- DM_APPLICATION (ID) ON DELETE NO ACTION ON UPDATE NO ACTION
|
||||
-- )ENGINE = InnoDB;
|
||||
|
||||
-- END OF POLICY RELATED TABLES --
|
||||
|
||||
@ -521,6 +521,20 @@ CREATE TABLE IF NOT EXISTS DM_DEVICE_DETAIL (
|
||||
ON UPDATE NO ACTION)
|
||||
ENGINE = InnoDB;
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Table `APPM_DEVICE_APPLICATION_MAPPING`
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS `DM_DEVICE_APPLICATION_MAPPING` (
|
||||
`ID` INT AUTO_INCREMENT NOT NULL,
|
||||
`DEVICE_IDENTIFIER` VARCHAR(255) NOT NULL,
|
||||
`APPLICATION_UUID` VARCHAR(100) NOT NULL,
|
||||
`VERSION_NAME` VARCHAR(100) NOT NULL,
|
||||
`INSTALLED` BOOLEAN NOT NULL,
|
||||
`SENT_AT` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (ID),
|
||||
UNIQUE KEY `device_app_mapping` (`DEVICE_IDENTIFIER`, `APPLICATION_UUID`)
|
||||
) ENGINE = InnoDB;
|
||||
|
||||
-- DASHBOARD RELATED VIEWS --
|
||||
|
||||
CREATE VIEW DEVICE_INFO_VIEW AS
|
||||
|
||||
355
jmeter.log
Normal file
355
jmeter.log
Normal file
@ -0,0 +1,355 @@
|
||||
2017-09-11 11:17:06,019 INFO o.a.j.u.JMeterUtils: Setting Locale to en_US
|
||||
2017-09-11 11:17:06,029 INFO o.a.j.JMeter: Loading user properties from: /home/wso2/programs/jmeter/apache-jmeter-3.2/bin/user.properties
|
||||
2017-09-11 11:17:06,030 INFO o.a.j.JMeter: Loading system properties from: /home/wso2/programs/jmeter/apache-jmeter-3.2/bin/system.properties
|
||||
2017-09-11 11:17:06,036 INFO o.a.j.JMeter: Copyright (c) 1998-2017 The Apache Software Foundation
|
||||
2017-09-11 11:17:06,036 INFO o.a.j.JMeter: Version 3.2 r1790748
|
||||
2017-09-11 11:17:06,036 INFO o.a.j.JMeter: java.version=1.8.0_131
|
||||
2017-09-11 11:17:06,036 INFO o.a.j.JMeter: java.vm.name=Java HotSpot(TM) 64-Bit Server VM
|
||||
2017-09-11 11:17:06,036 INFO o.a.j.JMeter: os.name=Linux
|
||||
2017-09-11 11:17:06,036 INFO o.a.j.JMeter: os.arch=amd64
|
||||
2017-09-11 11:17:06,036 INFO o.a.j.JMeter: os.version=4.10.0-33-generic
|
||||
2017-09-11 11:17:06,036 INFO o.a.j.JMeter: file.encoding=UTF-8
|
||||
2017-09-11 11:17:06,036 INFO o.a.j.JMeter: Max memory =536870912
|
||||
2017-09-11 11:17:06,036 INFO o.a.j.JMeter: Available Processors =4
|
||||
2017-09-11 11:17:06,040 INFO o.a.j.JMeter: Default Locale=English (United States)
|
||||
2017-09-11 11:17:06,041 INFO o.a.j.JMeter: JMeter Locale=English (United States)
|
||||
2017-09-11 11:17:06,041 INFO o.a.j.JMeter: JMeterHome=/home/wso2/programs/jmeter/apache-jmeter-3.2
|
||||
2017-09-11 11:17:06,041 INFO o.a.j.JMeter: user.dir =/home/wso2/projects/wso2/iot/chathura/device-mgt/carbon-device-mgt
|
||||
2017-09-11 11:17:06,041 INFO o.a.j.JMeter: PWD =/home/wso2/projects/wso2/iot/chathura/device-mgt/carbon-device-mgt
|
||||
2017-09-11 11:17:06,041 INFO o.a.j.JMeter: IP: 127.0.1.1 Name: laptop1 FullName: laptop1
|
||||
2017-09-11 11:17:06,302 INFO o.a.j.g.a.LookAndFeelCommand: Using look and feel: javax.swing.plaf.metal.MetalLookAndFeel [Metal, CrossPlatform]
|
||||
2017-09-11 11:17:06,305 INFO o.a.j.JMeter: Loaded icon properties from org/apache/jmeter/images/icon.properties
|
||||
2017-09-11 11:17:06,714 INFO o.a.j.e.u.CompoundVariable: Note: Function class names must contain the string: '.functions.'
|
||||
2017-09-11 11:17:06,714 INFO o.a.j.e.u.CompoundVariable: Note: Function class names must not contain the string: '.gui.'
|
||||
2017-09-11 11:17:07,644 INFO o.a.j.g.u.MenuFactory: Skipping org.apache.jmeter.assertions.BSFAssertion
|
||||
2017-09-11 11:17:08,197 INFO o.a.j.g.u.MenuFactory: Skipping org.apache.jmeter.extractor.BSFPostProcessor
|
||||
2017-09-11 11:17:08,237 INFO o.a.j.g.u.MenuFactory: Skipping org.apache.jmeter.modifiers.BSFPreProcessor
|
||||
2017-09-11 11:17:08,271 INFO o.a.j.p.h.s.HTTPSamplerBase: Parser for text/html is org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser
|
||||
2017-09-11 11:17:08,271 INFO o.a.j.p.h.s.HTTPSamplerBase: Parser for application/xhtml+xml is org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser
|
||||
2017-09-11 11:17:08,271 INFO o.a.j.p.h.s.HTTPSamplerBase: Parser for application/xml is org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser
|
||||
2017-09-11 11:17:08,272 INFO o.a.j.p.h.s.HTTPSamplerBase: Parser for text/xml is org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser
|
||||
2017-09-11 11:17:08,272 INFO o.a.j.p.h.s.HTTPSamplerBase: Parser for text/vnd.wap.wml is org.apache.jmeter.protocol.http.parser.RegexpHTMLParser
|
||||
2017-09-11 11:17:08,272 INFO o.a.j.p.h.s.HTTPSamplerBase: Parser for text/css is org.apache.jmeter.protocol.http.parser.CssParser
|
||||
2017-09-11 11:17:08,616 INFO o.a.j.e.KeyToolUtils: keytool found at 'keytool'
|
||||
2017-09-11 11:17:08,617 INFO o.a.j.p.h.p.ProxyControl: HTTP(S) Test Script Recorder SSL Proxy will use keys that support embedded 3rd party resources in file /home/wso2/programs/jmeter/apache-jmeter-3.2/bin/proxyserver.jks
|
||||
2017-09-11 11:17:08,755 INFO o.a.j.g.u.MenuFactory: Skipping org.apache.jmeter.protocol.java.sampler.BSFSampler
|
||||
2017-09-11 11:17:08,797 INFO o.a.j.s.FileServer: Default base='/home/wso2/projects/wso2/iot/chathura/device-mgt/carbon-device-mgt'
|
||||
2017-09-11 11:17:08,876 INFO o.a.j.g.u.MenuFactory: Skipping org.apache.jmeter.protocol.mongodb.config.MongoSourceElement
|
||||
2017-09-11 11:17:08,876 INFO o.a.j.g.u.MenuFactory: Skipping org.apache.jmeter.protocol.mongodb.sampler.MongoScriptSampler
|
||||
2017-09-11 11:17:08,989 INFO o.a.j.g.u.MenuFactory: Skipping org.apache.jmeter.timers.BSFTimer
|
||||
2017-09-11 11:17:09,023 INFO o.a.j.g.u.MenuFactory: Skipping org.apache.jmeter.visualizers.BSFListener
|
||||
2017-09-11 11:17:09,177 INFO o.a.j.s.SampleResult: Note: Sample TimeStamps are START times
|
||||
2017-09-11 11:17:09,178 INFO o.a.j.s.SampleResult: sampleresult.default.encoding is set to ISO-8859-1
|
||||
2017-09-11 11:17:09,178 INFO o.a.j.s.SampleResult: sampleresult.useNanoTime=true
|
||||
2017-09-11 11:17:09,178 INFO o.a.j.s.SampleResult: sampleresult.nanoThreadSleep=5000
|
||||
2017-09-11 11:17:16,343 INFO o.a.j.g.a.Load: Loading file: /home/wso2/projects/wso2/iot/chathura/product-iots/product-iots/modules/integration/tests-integration/src/test/resources/jmeter-scripts/ApplicationManagementAPI.jmx
|
||||
2017-09-11 11:17:16,344 INFO o.a.j.s.FileServer: Set new base='/home/wso2/projects/wso2/iot/chathura/product-iots/product-iots/modules/integration/tests-integration/src/test/resources/jmeter-scripts'
|
||||
2017-09-11 11:17:16,441 INFO o.a.j.s.SaveService: Testplan (JMX) version: 2.2. Testlog (JTL) version: 2.2
|
||||
2017-09-11 11:17:16,456 INFO o.a.j.s.SaveService: Using SaveService properties file encoding UTF-8
|
||||
2017-09-11 11:17:16,458 INFO o.a.j.s.SaveService: Using SaveService properties version 3.2
|
||||
2017-09-11 11:17:16,461 INFO o.a.j.s.SaveService: Loading file: /home/wso2/projects/wso2/iot/chathura/product-iots/product-iots/modules/integration/tests-integration/src/test/resources/jmeter-scripts/ApplicationManagementAPI.jmx
|
||||
2017-09-11 11:17:16,491 INFO o.a.j.p.h.c.CookieManager: Settings: Delete null: true Check: true Allow variable: true Save: false Prefix: COOKIE_
|
||||
2017-09-11 11:17:16,491 INFO o.a.j.u.NameUpdater: Upgrading class org.apache.jmeter.protocol.http.sampler.SoapSampler to org.apache.jmeter.config.ConfigTestElement
|
||||
2017-09-11 11:17:16,491 INFO o.a.j.u.NameUpdater: Upgrading class org.apache.jmeter.protocol.http.control.gui.SoapSamplerGui to org.apache.jmeter.config.gui.ObsoleteGui
|
||||
2017-09-11 11:17:16,492 INFO o.a.j.u.NameUpdater: Upgrading class org.apache.jmeter.protocol.http.control.gui.SoapSamplerGui to org.apache.jmeter.config.gui.ObsoleteGui
|
||||
2017-09-11 11:17:16,503 INFO o.a.j.u.NameUpdater: Upgrading class org.apache.jmeter.protocol.http.control.gui.SoapSamplerGui to org.apache.jmeter.config.gui.ObsoleteGui
|
||||
2017-09-11 11:17:16,504 INFO o.a.j.u.NameUpdater: Upgrading class org.apache.jmeter.protocol.http.control.gui.SoapSamplerGui to org.apache.jmeter.config.gui.ObsoleteGui
|
||||
2017-09-11 11:17:17,087 INFO o.a.j.s.FileServer: Set new base='/home/wso2/projects/wso2/iot/chathura/product-iots/product-iots/modules/integration/tests-integration/src/test/resources/jmeter-scripts'
|
||||
2017-09-11 11:18:36,250 INFO o.a.j.e.StandardJMeterEngine: Running the test!
|
||||
2017-09-11 11:18:36,251 INFO o.a.j.s.SampleEvent: List of sample_variables: []
|
||||
2017-09-11 11:18:36,251 INFO o.a.j.s.SampleEvent: List of sample_variables: []
|
||||
2017-09-11 11:18:36,266 INFO o.a.j.g.u.JMeterMenuBar: setRunning(true, *local*)
|
||||
2017-09-11 11:18:36,378 INFO o.a.j.e.StandardJMeterEngine: Starting ThreadGroup: 1 : Application Management - Super Tenant
|
||||
2017-09-11 11:18:36,378 INFO o.a.j.e.StandardJMeterEngine: Starting 1 threads for group Application Management - Super Tenant.
|
||||
2017-09-11 11:18:36,378 INFO o.a.j.e.StandardJMeterEngine: Thread will continue on error
|
||||
2017-09-11 11:18:36,378 INFO o.a.j.t.ThreadGroup: Starting thread group... number=1 threads=1 ramp-up=1 perThread=1000.0 delayedStart=false
|
||||
2017-09-11 11:18:36,418 INFO o.a.j.t.ThreadGroup: Started thread group number 1
|
||||
2017-09-11 11:18:36,418 INFO o.a.j.e.StandardJMeterEngine: All thread groups have been started
|
||||
2017-09-11 11:18:36,424 INFO o.a.j.t.JMeterThread: Thread started: Application Management - Super Tenant 1-1
|
||||
2017-09-11 11:18:36,464 INFO o.a.j.p.h.s.HTTPHCAbstractImpl: Local host = laptop1
|
||||
2017-09-11 11:18:36,467 INFO o.a.j.p.h.s.HTTPHC4Impl: HTTP request retry count = 0
|
||||
2017-09-11 11:18:36,521 INFO o.a.j.p.h.s.LazySchemeSocketFactory: Setting up HTTPS TrustAll Socket Factory
|
||||
2017-09-11 11:18:36,525 INFO o.a.j.u.JsseSSLManager: Using default SSL protocol: TLS
|
||||
2017-09-11 11:18:36,525 INFO o.a.j.u.JsseSSLManager: SSL session context: per-thread
|
||||
2017-09-11 11:18:36,705 INFO o.a.j.u.SSLManager: JmeterKeyStore Location: type JKS
|
||||
2017-09-11 11:18:36,705 INFO o.a.j.u.SSLManager: KeyStore created OK
|
||||
2017-09-11 11:18:36,705 WARN o.a.j.u.SSLManager: Keystore file not found, loading empty keystore
|
||||
2017-09-11 11:18:40,414 INFO o.a.j.s.FileServer: Stored: /home/wso2/projects/wso2/iot/chathura/product-iots/product-iots/modules/integration/tests-integration/src/test/resources/jmeter-scripts/image.png
|
||||
2017-09-11 11:18:40,915 INFO o.a.j.t.JMeterThread: Thread is done: Application Management - Super Tenant 1-1
|
||||
2017-09-11 11:18:40,916 INFO o.a.j.t.JMeterThread: Thread finished: Application Management - Super Tenant 1-1
|
||||
2017-09-11 11:18:40,916 INFO o.a.j.e.StandardJMeterEngine: Notifying test listeners of end of test
|
||||
2017-09-11 11:18:40,917 INFO o.a.j.g.u.JMeterMenuBar: setRunning(false, *local*)
|
||||
2017-09-11 11:41:19,241 INFO o.a.j.e.StandardJMeterEngine: Running the test!
|
||||
2017-09-11 11:41:19,242 INFO o.a.j.s.SampleEvent: List of sample_variables: []
|
||||
2017-09-11 11:41:19,247 INFO o.a.j.g.u.JMeterMenuBar: setRunning(true, *local*)
|
||||
2017-09-11 11:41:19,371 INFO o.a.j.e.StandardJMeterEngine: Starting ThreadGroup: 1 : Application Management - Super Tenant
|
||||
2017-09-11 11:41:19,371 INFO o.a.j.e.StandardJMeterEngine: Starting 1 threads for group Application Management - Super Tenant.
|
||||
2017-09-11 11:41:19,371 INFO o.a.j.e.StandardJMeterEngine: Thread will continue on error
|
||||
2017-09-11 11:41:19,372 INFO o.a.j.t.ThreadGroup: Starting thread group... number=1 threads=1 ramp-up=1 perThread=1000.0 delayedStart=false
|
||||
2017-09-11 11:41:19,403 INFO o.a.j.t.ThreadGroup: Started thread group number 1
|
||||
2017-09-11 11:41:19,403 INFO o.a.j.e.StandardJMeterEngine: All thread groups have been started
|
||||
2017-09-11 11:41:19,408 INFO o.a.j.t.JMeterThread: Thread started: Application Management - Super Tenant 1-1
|
||||
2017-09-11 11:41:25,273 INFO o.a.j.s.FileServer: Stored: /home/wso2/projects/wso2/iot/chathura/product-iots/product-iots/modules/integration/tests-integration/src/test/resources/jmeter-scripts/image.png
|
||||
2017-09-11 11:41:26,162 INFO o.a.j.t.JMeterThread: Thread is done: Application Management - Super Tenant 1-1
|
||||
2017-09-11 11:41:26,163 INFO o.a.j.t.JMeterThread: Thread finished: Application Management - Super Tenant 1-1
|
||||
2017-09-11 11:41:26,163 INFO o.a.j.e.StandardJMeterEngine: Notifying test listeners of end of test
|
||||
2017-09-11 11:41:26,163 INFO o.a.j.g.u.JMeterMenuBar: setRunning(false, *local*)
|
||||
2017-09-11 11:46:37,551 INFO o.a.j.e.StandardJMeterEngine: Running the test!
|
||||
2017-09-11 11:46:37,551 INFO o.a.j.s.SampleEvent: List of sample_variables: []
|
||||
2017-09-11 11:46:37,555 INFO o.a.j.g.u.JMeterMenuBar: setRunning(true, *local*)
|
||||
2017-09-11 11:46:37,677 INFO o.a.j.e.StandardJMeterEngine: Starting ThreadGroup: 1 : Application Management - Super Tenant
|
||||
2017-09-11 11:46:37,677 INFO o.a.j.e.StandardJMeterEngine: Starting 1 threads for group Application Management - Super Tenant.
|
||||
2017-09-11 11:46:37,677 INFO o.a.j.e.StandardJMeterEngine: Thread will continue on error
|
||||
2017-09-11 11:46:37,678 INFO o.a.j.t.ThreadGroup: Starting thread group... number=1 threads=1 ramp-up=1 perThread=1000.0 delayedStart=false
|
||||
2017-09-11 11:46:37,703 INFO o.a.j.t.ThreadGroup: Started thread group number 1
|
||||
2017-09-11 11:46:37,703 INFO o.a.j.e.StandardJMeterEngine: All thread groups have been started
|
||||
2017-09-11 11:46:37,704 INFO o.a.j.t.JMeterThread: Thread started: Application Management - Super Tenant 1-1
|
||||
2017-09-11 11:46:40,303 INFO o.a.j.s.FileServer: Stored: /home/wso2/projects/wso2/iot/chathura/product-iots/product-iots/modules/integration/tests-integration/src/test/resources/jmeter-scripts/image.png
|
||||
2017-09-11 11:46:41,107 INFO o.a.j.t.JMeterThread: Thread is done: Application Management - Super Tenant 1-1
|
||||
2017-09-11 11:46:41,107 INFO o.a.j.t.JMeterThread: Thread finished: Application Management - Super Tenant 1-1
|
||||
2017-09-11 11:46:41,108 INFO o.a.j.e.StandardJMeterEngine: Notifying test listeners of end of test
|
||||
2017-09-11 11:46:41,108 INFO o.a.j.g.u.JMeterMenuBar: setRunning(false, *local*)
|
||||
2017-09-11 11:49:20,026 INFO o.a.j.e.StandardJMeterEngine: Running the test!
|
||||
2017-09-11 11:49:20,026 INFO o.a.j.s.SampleEvent: List of sample_variables: []
|
||||
2017-09-11 11:49:20,029 INFO o.a.j.g.u.JMeterMenuBar: setRunning(true, *local*)
|
||||
2017-09-11 11:49:20,136 INFO o.a.j.e.StandardJMeterEngine: Starting ThreadGroup: 1 : Application Management - Super Tenant
|
||||
2017-09-11 11:49:20,136 INFO o.a.j.e.StandardJMeterEngine: Starting 1 threads for group Application Management - Super Tenant.
|
||||
2017-09-11 11:49:20,137 INFO o.a.j.e.StandardJMeterEngine: Thread will continue on error
|
||||
2017-09-11 11:49:20,137 INFO o.a.j.t.ThreadGroup: Starting thread group... number=1 threads=1 ramp-up=1 perThread=1000.0 delayedStart=false
|
||||
2017-09-11 11:49:20,165 INFO o.a.j.t.ThreadGroup: Started thread group number 1
|
||||
2017-09-11 11:49:20,166 INFO o.a.j.e.StandardJMeterEngine: All thread groups have been started
|
||||
2017-09-11 11:49:20,167 INFO o.a.j.t.JMeterThread: Thread started: Application Management - Super Tenant 1-1
|
||||
2017-09-11 11:51:01,448 INFO o.a.j.s.FileServer: Stored: /home/wso2/projects/wso2/iot/chathura/product-iots/product-iots/modules/integration/tests-integration/src/test/resources/jmeter-scripts/image.png
|
||||
2017-09-11 11:53:08,769 INFO o.a.j.t.JMeterThread: Thread is done: Application Management - Super Tenant 1-1
|
||||
2017-09-11 11:53:08,769 INFO o.a.j.t.JMeterThread: Thread finished: Application Management - Super Tenant 1-1
|
||||
2017-09-11 11:53:08,770 INFO o.a.j.e.StandardJMeterEngine: Notifying test listeners of end of test
|
||||
2017-09-11 11:53:08,771 INFO o.a.j.g.u.JMeterMenuBar: setRunning(false, *local*)
|
||||
2017-09-11 11:57:09,607 INFO o.a.j.e.StandardJMeterEngine: Running the test!
|
||||
2017-09-11 11:57:09,609 INFO o.a.j.s.SampleEvent: List of sample_variables: []
|
||||
2017-09-11 11:57:09,613 INFO o.a.j.g.u.JMeterMenuBar: setRunning(true, *local*)
|
||||
2017-09-11 11:57:09,736 INFO o.a.j.e.StandardJMeterEngine: Starting ThreadGroup: 1 : Application Management - Super Tenant
|
||||
2017-09-11 11:57:09,736 INFO o.a.j.e.StandardJMeterEngine: Starting 1 threads for group Application Management - Super Tenant.
|
||||
2017-09-11 11:57:09,736 INFO o.a.j.e.StandardJMeterEngine: Thread will continue on error
|
||||
2017-09-11 11:57:09,736 INFO o.a.j.t.ThreadGroup: Starting thread group... number=1 threads=1 ramp-up=1 perThread=1000.0 delayedStart=false
|
||||
2017-09-11 11:57:09,761 INFO o.a.j.t.ThreadGroup: Started thread group number 1
|
||||
2017-09-11 11:57:09,761 INFO o.a.j.e.StandardJMeterEngine: All thread groups have been started
|
||||
2017-09-11 11:57:09,762 INFO o.a.j.t.JMeterThread: Thread started: Application Management - Super Tenant 1-1
|
||||
2017-09-11 11:57:19,936 INFO o.a.j.s.FileServer: Stored: /home/wso2/projects/wso2/iot/chathura/product-iots/product-iots/modules/integration/tests-integration/src/test/resources/jmeter-scripts/image.png
|
||||
2017-09-11 11:57:20,432 INFO o.a.j.t.JMeterThread: Thread is done: Application Management - Super Tenant 1-1
|
||||
2017-09-11 11:57:20,432 INFO o.a.j.t.JMeterThread: Thread finished: Application Management - Super Tenant 1-1
|
||||
2017-09-11 11:57:20,433 INFO o.a.j.e.StandardJMeterEngine: Notifying test listeners of end of test
|
||||
2017-09-11 11:57:20,433 INFO o.a.j.g.u.JMeterMenuBar: setRunning(false, *local*)
|
||||
2017-09-11 11:59:08,030 INFO o.a.j.e.StandardJMeterEngine: Running the test!
|
||||
2017-09-11 11:59:08,031 INFO o.a.j.s.SampleEvent: List of sample_variables: []
|
||||
2017-09-11 11:59:08,031 INFO o.a.j.g.u.JMeterMenuBar: setRunning(true, *local*)
|
||||
2017-09-11 11:59:08,164 INFO o.a.j.e.StandardJMeterEngine: Starting ThreadGroup: 1 : Application Management - Super Tenant
|
||||
2017-09-11 11:59:08,164 INFO o.a.j.e.StandardJMeterEngine: Starting 1 threads for group Application Management - Super Tenant.
|
||||
2017-09-11 11:59:08,164 INFO o.a.j.e.StandardJMeterEngine: Thread will continue on error
|
||||
2017-09-11 11:59:08,164 INFO o.a.j.t.ThreadGroup: Starting thread group... number=1 threads=1 ramp-up=1 perThread=1000.0 delayedStart=false
|
||||
2017-09-11 11:59:08,178 INFO o.a.j.t.ThreadGroup: Started thread group number 1
|
||||
2017-09-11 11:59:08,178 INFO o.a.j.e.StandardJMeterEngine: All thread groups have been started
|
||||
2017-09-11 11:59:08,179 INFO o.a.j.t.JMeterThread: Thread started: Application Management - Super Tenant 1-1
|
||||
2017-09-11 11:59:10,634 INFO o.a.j.s.FileServer: Stored: /home/wso2/projects/wso2/iot/chathura/product-iots/product-iots/modules/integration/tests-integration/src/test/resources/jmeter-scripts/image.png
|
||||
2017-09-11 11:59:10,712 INFO o.a.j.t.JMeterThread: Thread is done: Application Management - Super Tenant 1-1
|
||||
2017-09-11 11:59:10,712 INFO o.a.j.t.JMeterThread: Thread finished: Application Management - Super Tenant 1-1
|
||||
2017-09-11 11:59:10,713 INFO o.a.j.e.StandardJMeterEngine: Notifying test listeners of end of test
|
||||
2017-09-11 11:59:10,713 INFO o.a.j.g.u.JMeterMenuBar: setRunning(false, *local*)
|
||||
2017-09-11 12:01:02,024 INFO o.a.j.e.StandardJMeterEngine: Running the test!
|
||||
2017-09-11 12:01:02,024 INFO o.a.j.s.SampleEvent: List of sample_variables: []
|
||||
2017-09-11 12:01:02,026 INFO o.a.j.g.u.JMeterMenuBar: setRunning(true, *local*)
|
||||
2017-09-11 12:01:02,140 INFO o.a.j.e.StandardJMeterEngine: Starting ThreadGroup: 1 : Application Management - Super Tenant
|
||||
2017-09-11 12:01:02,140 INFO o.a.j.e.StandardJMeterEngine: Starting 1 threads for group Application Management - Super Tenant.
|
||||
2017-09-11 12:01:02,140 INFO o.a.j.e.StandardJMeterEngine: Thread will continue on error
|
||||
2017-09-11 12:01:02,140 INFO o.a.j.t.ThreadGroup: Starting thread group... number=1 threads=1 ramp-up=1 perThread=1000.0 delayedStart=false
|
||||
2017-09-11 12:01:02,156 INFO o.a.j.t.ThreadGroup: Started thread group number 1
|
||||
2017-09-11 12:01:02,156 INFO o.a.j.e.StandardJMeterEngine: All thread groups have been started
|
||||
2017-09-11 12:01:02,156 INFO o.a.j.t.JMeterThread: Thread started: Application Management - Super Tenant 1-1
|
||||
2017-09-11 12:01:04,482 INFO o.a.j.s.FileServer: Stored: /home/wso2/projects/wso2/iot/chathura/product-iots/product-iots/modules/integration/tests-integration/src/test/resources/jmeter-scripts/image.png
|
||||
2017-09-11 12:01:04,525 INFO o.a.j.t.JMeterThread: Thread is done: Application Management - Super Tenant 1-1
|
||||
2017-09-11 12:01:04,525 INFO o.a.j.t.JMeterThread: Thread finished: Application Management - Super Tenant 1-1
|
||||
2017-09-11 12:01:04,526 INFO o.a.j.e.StandardJMeterEngine: Notifying test listeners of end of test
|
||||
2017-09-11 12:01:04,526 INFO o.a.j.g.u.JMeterMenuBar: setRunning(false, *local*)
|
||||
2017-09-11 12:03:39,895 INFO o.a.j.e.StandardJMeterEngine: Running the test!
|
||||
2017-09-11 12:03:39,896 INFO o.a.j.s.SampleEvent: List of sample_variables: []
|
||||
2017-09-11 12:03:39,897 INFO o.a.j.g.u.JMeterMenuBar: setRunning(true, *local*)
|
||||
2017-09-11 12:03:40,008 INFO o.a.j.e.StandardJMeterEngine: Starting ThreadGroup: 1 : Application Management - Super Tenant
|
||||
2017-09-11 12:03:40,008 INFO o.a.j.e.StandardJMeterEngine: Starting 1 threads for group Application Management - Super Tenant.
|
||||
2017-09-11 12:03:40,008 INFO o.a.j.e.StandardJMeterEngine: Thread will continue on error
|
||||
2017-09-11 12:03:40,008 INFO o.a.j.t.ThreadGroup: Starting thread group... number=1 threads=1 ramp-up=1 perThread=1000.0 delayedStart=false
|
||||
2017-09-11 12:03:40,018 INFO o.a.j.t.ThreadGroup: Started thread group number 1
|
||||
2017-09-11 12:03:40,018 INFO o.a.j.t.JMeterThread: Thread started: Application Management - Super Tenant 1-1
|
||||
2017-09-11 12:03:40,020 INFO o.a.j.e.StandardJMeterEngine: All thread groups have been started
|
||||
2017-09-11 12:03:42,312 INFO o.a.j.t.JMeterThread: Thread is done: Application Management - Super Tenant 1-1
|
||||
2017-09-11 12:03:42,312 INFO o.a.j.t.JMeterThread: Thread finished: Application Management - Super Tenant 1-1
|
||||
2017-09-11 12:03:42,312 INFO o.a.j.e.StandardJMeterEngine: Notifying test listeners of end of test
|
||||
2017-09-11 12:03:42,312 INFO o.a.j.g.u.JMeterMenuBar: setRunning(false, *local*)
|
||||
2017-09-11 12:07:13,180 INFO o.a.j.e.StandardJMeterEngine: Running the test!
|
||||
2017-09-11 12:07:13,180 INFO o.a.j.s.SampleEvent: List of sample_variables: []
|
||||
2017-09-11 12:07:13,181 INFO o.a.j.g.u.JMeterMenuBar: setRunning(true, *local*)
|
||||
2017-09-11 12:07:13,321 INFO o.a.j.e.StandardJMeterEngine: Starting ThreadGroup: 1 : Application Management - Super Tenant
|
||||
2017-09-11 12:07:13,321 INFO o.a.j.e.StandardJMeterEngine: Starting 1 threads for group Application Management - Super Tenant.
|
||||
2017-09-11 12:07:13,321 INFO o.a.j.e.StandardJMeterEngine: Thread will continue on error
|
||||
2017-09-11 12:07:13,321 INFO o.a.j.t.ThreadGroup: Starting thread group... number=1 threads=1 ramp-up=1 perThread=1000.0 delayedStart=false
|
||||
2017-09-11 12:07:13,332 INFO o.a.j.t.ThreadGroup: Started thread group number 1
|
||||
2017-09-11 12:07:13,332 INFO o.a.j.e.StandardJMeterEngine: All thread groups have been started
|
||||
2017-09-11 12:07:13,332 INFO o.a.j.t.JMeterThread: Thread started: Application Management - Super Tenant 1-1
|
||||
2017-09-11 12:07:15,869 INFO o.a.j.s.FileServer: Stored: /home/wso2/projects/wso2/iot/chathura/product-iots/product-iots/modules/integration/tests-integration/src/test/resources/jmeter-scripts/image.png
|
||||
2017-09-11 12:07:15,910 INFO o.a.j.t.JMeterThread: Thread is done: Application Management - Super Tenant 1-1
|
||||
2017-09-11 12:07:15,910 INFO o.a.j.t.JMeterThread: Thread finished: Application Management - Super Tenant 1-1
|
||||
2017-09-11 12:07:15,910 INFO o.a.j.e.StandardJMeterEngine: Notifying test listeners of end of test
|
||||
2017-09-11 12:07:15,911 INFO o.a.j.g.u.JMeterMenuBar: setRunning(false, *local*)
|
||||
2017-09-11 14:23:30,019 INFO o.a.j.e.StandardJMeterEngine: Running the test!
|
||||
2017-09-11 14:23:30,024 INFO o.a.j.s.SampleEvent: List of sample_variables: []
|
||||
2017-09-11 14:23:30,032 INFO o.a.j.g.u.JMeterMenuBar: setRunning(true, *local*)
|
||||
2017-09-11 14:23:30,562 INFO o.a.j.e.StandardJMeterEngine: Starting ThreadGroup: 1 : Application Management - Super Tenant
|
||||
2017-09-11 14:23:30,562 INFO o.a.j.e.StandardJMeterEngine: Starting 1 threads for group Application Management - Super Tenant.
|
||||
2017-09-11 14:23:30,562 INFO o.a.j.e.StandardJMeterEngine: Thread will continue on error
|
||||
2017-09-11 14:23:30,562 INFO o.a.j.t.ThreadGroup: Starting thread group... number=1 threads=1 ramp-up=1 perThread=1000.0 delayedStart=false
|
||||
2017-09-11 14:23:30,589 INFO o.a.j.t.ThreadGroup: Started thread group number 1
|
||||
2017-09-11 14:23:30,589 INFO o.a.j.e.StandardJMeterEngine: All thread groups have been started
|
||||
2017-09-11 14:23:30,590 INFO o.a.j.t.JMeterThread: Thread started: Application Management - Super Tenant 1-1
|
||||
2017-09-11 14:23:33,752 INFO o.a.j.t.JMeterThread: Thread is done: Application Management - Super Tenant 1-1
|
||||
2017-09-11 14:23:33,753 INFO o.a.j.t.JMeterThread: Thread finished: Application Management - Super Tenant 1-1
|
||||
2017-09-11 14:23:33,753 INFO o.a.j.e.StandardJMeterEngine: Notifying test listeners of end of test
|
||||
2017-09-11 14:23:33,754 INFO o.a.j.g.u.JMeterMenuBar: setRunning(false, *local*)
|
||||
2017-09-11 14:24:35,246 INFO o.a.j.e.StandardJMeterEngine: Running the test!
|
||||
2017-09-11 14:24:35,246 INFO o.a.j.s.SampleEvent: List of sample_variables: []
|
||||
2017-09-11 14:24:35,247 INFO o.a.j.g.u.JMeterMenuBar: setRunning(true, *local*)
|
||||
2017-09-11 14:24:35,361 INFO o.a.j.e.StandardJMeterEngine: Starting ThreadGroup: 1 : Application Management - Super Tenant
|
||||
2017-09-11 14:24:35,361 INFO o.a.j.e.StandardJMeterEngine: Starting 1 threads for group Application Management - Super Tenant.
|
||||
2017-09-11 14:24:35,362 INFO o.a.j.e.StandardJMeterEngine: Thread will continue on error
|
||||
2017-09-11 14:24:35,362 INFO o.a.j.t.ThreadGroup: Starting thread group... number=1 threads=1 ramp-up=1 perThread=1000.0 delayedStart=false
|
||||
2017-09-11 14:24:35,380 INFO o.a.j.t.ThreadGroup: Started thread group number 1
|
||||
2017-09-11 14:24:35,380 INFO o.a.j.e.StandardJMeterEngine: All thread groups have been started
|
||||
2017-09-11 14:24:35,381 INFO o.a.j.t.JMeterThread: Thread started: Application Management - Super Tenant 1-1
|
||||
2017-09-11 14:24:37,901 INFO o.a.j.t.JMeterThread: Thread is done: Application Management - Super Tenant 1-1
|
||||
2017-09-11 14:24:37,901 INFO o.a.j.t.JMeterThread: Thread finished: Application Management - Super Tenant 1-1
|
||||
2017-09-11 14:24:37,901 INFO o.a.j.e.StandardJMeterEngine: Notifying test listeners of end of test
|
||||
2017-09-11 14:24:37,901 INFO o.a.j.g.u.JMeterMenuBar: setRunning(false, *local*)
|
||||
2017-09-11 14:26:47,180 INFO o.a.j.e.StandardJMeterEngine: Running the test!
|
||||
2017-09-11 14:26:47,180 INFO o.a.j.s.SampleEvent: List of sample_variables: []
|
||||
2017-09-11 14:26:47,182 INFO o.a.j.g.u.JMeterMenuBar: setRunning(true, *local*)
|
||||
2017-09-11 14:26:47,302 INFO o.a.j.e.StandardJMeterEngine: Starting ThreadGroup: 1 : Application Management - Super Tenant
|
||||
2017-09-11 14:26:47,302 INFO o.a.j.e.StandardJMeterEngine: Starting 1 threads for group Application Management - Super Tenant.
|
||||
2017-09-11 14:26:47,302 INFO o.a.j.e.StandardJMeterEngine: Thread will continue on error
|
||||
2017-09-11 14:26:47,303 INFO o.a.j.t.ThreadGroup: Starting thread group... number=1 threads=1 ramp-up=1 perThread=1000.0 delayedStart=false
|
||||
2017-09-11 14:26:47,316 INFO o.a.j.t.ThreadGroup: Started thread group number 1
|
||||
2017-09-11 14:26:47,316 INFO o.a.j.e.StandardJMeterEngine: All thread groups have been started
|
||||
2017-09-11 14:26:47,317 INFO o.a.j.t.JMeterThread: Thread started: Application Management - Super Tenant 1-1
|
||||
2017-09-11 14:26:49,859 INFO o.a.j.t.JMeterThread: Thread is done: Application Management - Super Tenant 1-1
|
||||
2017-09-11 14:26:49,859 INFO o.a.j.t.JMeterThread: Thread finished: Application Management - Super Tenant 1-1
|
||||
2017-09-11 14:26:49,859 INFO o.a.j.e.StandardJMeterEngine: Notifying test listeners of end of test
|
||||
2017-09-11 14:26:49,859 INFO o.a.j.g.u.JMeterMenuBar: setRunning(false, *local*)
|
||||
2017-09-11 14:30:37,092 INFO o.a.j.e.StandardJMeterEngine: Running the test!
|
||||
2017-09-11 14:30:37,092 INFO o.a.j.s.SampleEvent: List of sample_variables: []
|
||||
2017-09-11 14:30:37,093 INFO o.a.j.g.u.JMeterMenuBar: setRunning(true, *local*)
|
||||
2017-09-11 14:30:37,207 INFO o.a.j.e.StandardJMeterEngine: Starting ThreadGroup: 1 : Application Management - Super Tenant
|
||||
2017-09-11 14:30:37,207 INFO o.a.j.e.StandardJMeterEngine: Starting 1 threads for group Application Management - Super Tenant.
|
||||
2017-09-11 14:30:37,207 INFO o.a.j.e.StandardJMeterEngine: Thread will continue on error
|
||||
2017-09-11 14:30:37,207 INFO o.a.j.t.ThreadGroup: Starting thread group... number=1 threads=1 ramp-up=1 perThread=1000.0 delayedStart=false
|
||||
2017-09-11 14:30:37,220 INFO o.a.j.t.ThreadGroup: Started thread group number 1
|
||||
2017-09-11 14:30:37,220 INFO o.a.j.e.StandardJMeterEngine: All thread groups have been started
|
||||
2017-09-11 14:30:37,221 INFO o.a.j.t.JMeterThread: Thread started: Application Management - Super Tenant 1-1
|
||||
2017-09-11 14:30:39,716 INFO o.a.j.t.JMeterThread: Thread is done: Application Management - Super Tenant 1-1
|
||||
2017-09-11 14:30:39,716 INFO o.a.j.t.JMeterThread: Thread finished: Application Management - Super Tenant 1-1
|
||||
2017-09-11 14:30:39,717 INFO o.a.j.e.StandardJMeterEngine: Notifying test listeners of end of test
|
||||
2017-09-11 14:30:39,717 INFO o.a.j.g.u.JMeterMenuBar: setRunning(false, *local*)
|
||||
2017-09-11 14:43:17,010 INFO o.a.j.s.FileServer: Set new base='/home/wso2/projects/wso2/iot/testing/appm/scripts'
|
||||
2017-09-11 14:51:18,349 INFO o.a.j.e.StandardJMeterEngine: Running the test!
|
||||
2017-09-11 14:51:18,351 INFO o.a.j.s.SampleEvent: List of sample_variables: []
|
||||
2017-09-11 14:51:18,352 INFO o.a.j.g.u.JMeterMenuBar: setRunning(true, *local*)
|
||||
2017-09-11 14:51:18,479 INFO o.a.j.e.StandardJMeterEngine: Starting ThreadGroup: 1 : TokenGen
|
||||
2017-09-11 14:51:18,479 INFO o.a.j.e.StandardJMeterEngine: Starting 1 threads for group TokenGen.
|
||||
2017-09-11 14:51:18,479 INFO o.a.j.e.StandardJMeterEngine: Thread will continue on error
|
||||
2017-09-11 14:51:18,480 INFO o.a.j.t.ThreadGroup: Starting thread group... number=1 threads=1 ramp-up=1 perThread=1000.0 delayedStart=false
|
||||
2017-09-11 14:51:18,485 INFO o.a.j.t.ThreadGroup: Started thread group number 1
|
||||
2017-09-11 14:51:18,485 INFO o.a.j.e.StandardJMeterEngine: All thread groups have been started
|
||||
2017-09-11 14:51:18,485 INFO o.a.j.t.JMeterThread: Thread started: TokenGen 1-1
|
||||
2017-09-11 14:51:20,803 INFO o.a.j.t.JMeterThread: Thread is done: TokenGen 1-1
|
||||
2017-09-11 14:51:20,803 INFO o.a.j.t.JMeterThread: Thread finished: TokenGen 1-1
|
||||
2017-09-11 14:51:20,804 INFO o.a.j.e.StandardJMeterEngine: Notifying test listeners of end of test
|
||||
2017-09-11 14:51:20,804 INFO o.a.j.g.u.JMeterMenuBar: setRunning(false, *local*)
|
||||
2017-09-11 14:53:40,651 INFO o.a.j.e.StandardJMeterEngine: Running the test!
|
||||
2017-09-11 14:53:40,652 INFO o.a.j.s.SampleEvent: List of sample_variables: []
|
||||
2017-09-11 14:53:40,654 INFO o.a.j.g.u.JMeterMenuBar: setRunning(true, *local*)
|
||||
2017-09-11 14:53:40,790 INFO o.a.j.e.StandardJMeterEngine: Starting ThreadGroup: 1 : UnitTests
|
||||
2017-09-11 14:53:40,790 INFO o.a.j.e.StandardJMeterEngine: Starting 1 threads for group UnitTests.
|
||||
2017-09-11 14:53:40,790 INFO o.a.j.e.StandardJMeterEngine: Thread will continue on error
|
||||
2017-09-11 14:53:40,791 INFO o.a.j.t.ThreadGroup: Starting thread group... number=1 threads=1 ramp-up=1 perThread=1000.0 delayedStart=false
|
||||
2017-09-11 14:53:40,791 INFO o.a.j.t.ThreadGroup: Started thread group number 1
|
||||
2017-09-11 14:53:40,791 INFO o.a.j.e.StandardJMeterEngine: All thread groups have been started
|
||||
2017-09-11 14:53:40,791 INFO o.a.j.t.JMeterThread: Thread started: UnitTests 1-1
|
||||
2017-09-11 14:53:41,079 INFO o.a.j.t.JMeterThread: Thread is done: UnitTests 1-1
|
||||
2017-09-11 14:53:41,079 INFO o.a.j.t.JMeterThread: Thread finished: UnitTests 1-1
|
||||
2017-09-11 14:53:41,081 INFO o.a.j.e.StandardJMeterEngine: Notifying test listeners of end of test
|
||||
2017-09-11 14:53:41,081 INFO o.a.j.g.u.JMeterMenuBar: setRunning(false, *local*)
|
||||
2017-09-11 14:54:28,012 INFO o.a.j.e.StandardJMeterEngine: Running the test!
|
||||
2017-09-11 14:54:28,012 INFO o.a.j.s.SampleEvent: List of sample_variables: []
|
||||
2017-09-11 14:54:28,013 INFO o.a.j.g.u.JMeterMenuBar: setRunning(true, *local*)
|
||||
2017-09-11 14:54:28,123 INFO o.a.j.e.StandardJMeterEngine: Starting ThreadGroup: 1 : UnitTests
|
||||
2017-09-11 14:54:28,123 INFO o.a.j.e.StandardJMeterEngine: Starting 1 threads for group UnitTests.
|
||||
2017-09-11 14:54:28,124 INFO o.a.j.e.StandardJMeterEngine: Thread will continue on error
|
||||
2017-09-11 14:54:28,124 INFO o.a.j.t.ThreadGroup: Starting thread group... number=1 threads=1 ramp-up=1 perThread=1000.0 delayedStart=false
|
||||
2017-09-11 14:54:28,128 INFO o.a.j.t.ThreadGroup: Started thread group number 1
|
||||
2017-09-11 14:54:28,128 INFO o.a.j.e.StandardJMeterEngine: All thread groups have been started
|
||||
2017-09-11 14:54:28,128 INFO o.a.j.t.JMeterThread: Thread started: UnitTests 1-1
|
||||
2017-09-11 14:54:28,385 INFO o.a.j.t.JMeterThread: Thread is done: UnitTests 1-1
|
||||
2017-09-11 14:54:28,385 INFO o.a.j.t.JMeterThread: Thread finished: UnitTests 1-1
|
||||
2017-09-11 14:54:28,385 INFO o.a.j.e.StandardJMeterEngine: Notifying test listeners of end of test
|
||||
2017-09-11 14:54:28,385 INFO o.a.j.g.u.JMeterMenuBar: setRunning(false, *local*)
|
||||
2017-09-11 14:56:06,132 INFO o.a.j.e.StandardJMeterEngine: Running the test!
|
||||
2017-09-11 14:56:06,132 INFO o.a.j.s.SampleEvent: List of sample_variables: []
|
||||
2017-09-11 14:56:06,133 INFO o.a.j.g.u.JMeterMenuBar: setRunning(true, *local*)
|
||||
2017-09-11 14:56:06,249 INFO o.a.j.e.StandardJMeterEngine: Starting ThreadGroup: 1 : UnitTests
|
||||
2017-09-11 14:56:06,249 INFO o.a.j.e.StandardJMeterEngine: Starting 1 threads for group UnitTests.
|
||||
2017-09-11 14:56:06,249 INFO o.a.j.e.StandardJMeterEngine: Thread will continue on error
|
||||
2017-09-11 14:56:06,249 INFO o.a.j.t.ThreadGroup: Starting thread group... number=1 threads=1 ramp-up=1 perThread=1000.0 delayedStart=false
|
||||
2017-09-11 14:56:06,254 INFO o.a.j.t.ThreadGroup: Started thread group number 1
|
||||
2017-09-11 14:56:06,254 INFO o.a.j.e.StandardJMeterEngine: All thread groups have been started
|
||||
2017-09-11 14:56:06,254 INFO o.a.j.t.JMeterThread: Thread started: UnitTests 1-1
|
||||
2017-09-11 14:56:06,349 INFO o.a.j.t.JMeterThread: Thread is done: UnitTests 1-1
|
||||
2017-09-11 14:56:06,349 INFO o.a.j.t.JMeterThread: Thread finished: UnitTests 1-1
|
||||
2017-09-11 14:56:06,350 INFO o.a.j.e.StandardJMeterEngine: Notifying test listeners of end of test
|
||||
2017-09-11 14:56:06,350 INFO o.a.j.g.u.JMeterMenuBar: setRunning(false, *local*)
|
||||
2017-09-11 15:05:21,190 INFO o.a.j.e.StandardJMeterEngine: Running the test!
|
||||
2017-09-11 15:05:21,191 INFO o.a.j.s.SampleEvent: List of sample_variables: []
|
||||
2017-09-11 15:05:21,192 INFO o.a.j.g.u.JMeterMenuBar: setRunning(true, *local*)
|
||||
2017-09-11 15:05:21,335 INFO o.a.j.e.StandardJMeterEngine: Starting ThreadGroup: 1 : UnitTests
|
||||
2017-09-11 15:05:21,335 INFO o.a.j.e.StandardJMeterEngine: Starting 1 threads for group UnitTests.
|
||||
2017-09-11 15:05:21,336 INFO o.a.j.e.StandardJMeterEngine: Thread will continue on error
|
||||
2017-09-11 15:05:21,336 INFO o.a.j.t.ThreadGroup: Starting thread group... number=1 threads=1 ramp-up=1 perThread=1000.0 delayedStart=false
|
||||
2017-09-11 15:05:21,336 INFO o.a.j.t.ThreadGroup: Started thread group number 1
|
||||
2017-09-11 15:05:21,336 INFO o.a.j.e.StandardJMeterEngine: All thread groups have been started
|
||||
2017-09-11 15:05:21,337 INFO o.a.j.t.JMeterThread: Thread started: UnitTests 1-1
|
||||
2017-09-11 15:05:21,454 INFO o.a.j.t.JMeterThread: Thread is done: UnitTests 1-1
|
||||
2017-09-11 15:05:21,454 INFO o.a.j.t.JMeterThread: Thread finished: UnitTests 1-1
|
||||
2017-09-11 15:05:21,454 INFO o.a.j.e.StandardJMeterEngine: Notifying test listeners of end of test
|
||||
2017-09-11 15:05:21,454 INFO o.a.j.g.u.JMeterMenuBar: setRunning(false, *local*)
|
||||
2017-09-11 15:06:50,344 INFO o.a.j.e.StandardJMeterEngine: Running the test!
|
||||
2017-09-11 15:06:50,345 INFO o.a.j.s.SampleEvent: List of sample_variables: []
|
||||
2017-09-11 15:06:50,346 INFO o.a.j.g.u.JMeterMenuBar: setRunning(true, *local*)
|
||||
2017-09-11 15:06:50,484 INFO o.a.j.e.StandardJMeterEngine: Starting ThreadGroup: 1 : UnitTests
|
||||
2017-09-11 15:06:50,485 INFO o.a.j.e.StandardJMeterEngine: Starting 1 threads for group UnitTests.
|
||||
2017-09-11 15:06:50,485 INFO o.a.j.e.StandardJMeterEngine: Thread will continue on error
|
||||
2017-09-11 15:06:50,485 INFO o.a.j.t.ThreadGroup: Starting thread group... number=1 threads=1 ramp-up=1 perThread=1000.0 delayedStart=false
|
||||
2017-09-11 15:06:50,485 INFO o.a.j.t.ThreadGroup: Started thread group number 1
|
||||
2017-09-11 15:06:50,485 INFO o.a.j.e.StandardJMeterEngine: All thread groups have been started
|
||||
2017-09-11 15:06:50,486 INFO o.a.j.t.JMeterThread: Thread started: UnitTests 1-1
|
||||
2017-09-11 15:06:50,581 INFO o.a.j.t.JMeterThread: Thread is done: UnitTests 1-1
|
||||
2017-09-11 15:06:50,581 INFO o.a.j.t.JMeterThread: Thread finished: UnitTests 1-1
|
||||
2017-09-11 15:06:50,581 INFO o.a.j.e.StandardJMeterEngine: Notifying test listeners of end of test
|
||||
2017-09-11 15:06:50,581 INFO o.a.j.g.u.JMeterMenuBar: setRunning(false, *local*)
|
||||
2017-09-11 15:07:27,565 INFO o.a.j.e.StandardJMeterEngine: Running the test!
|
||||
2017-09-11 15:07:27,567 INFO o.a.j.s.SampleEvent: List of sample_variables: []
|
||||
2017-09-11 15:07:27,567 INFO o.a.j.g.u.JMeterMenuBar: setRunning(true, *local*)
|
||||
2017-09-11 15:07:27,681 INFO o.a.j.e.StandardJMeterEngine: Starting ThreadGroup: 1 : UnitTests
|
||||
2017-09-11 15:07:27,681 INFO o.a.j.e.StandardJMeterEngine: Starting 1 threads for group UnitTests.
|
||||
2017-09-11 15:07:27,681 INFO o.a.j.e.StandardJMeterEngine: Thread will continue on error
|
||||
2017-09-11 15:07:27,681 INFO o.a.j.t.ThreadGroup: Starting thread group... number=1 threads=1 ramp-up=1 perThread=1000.0 delayedStart=false
|
||||
2017-09-11 15:07:27,681 INFO o.a.j.t.ThreadGroup: Started thread group number 1
|
||||
2017-09-11 15:07:27,681 INFO o.a.j.e.StandardJMeterEngine: All thread groups have been started
|
||||
2017-09-11 15:07:27,684 INFO o.a.j.t.JMeterThread: Thread started: UnitTests 1-1
|
||||
2017-09-11 15:07:27,759 INFO o.a.j.t.JMeterThread: Thread is done: UnitTests 1-1
|
||||
2017-09-11 15:07:27,759 INFO o.a.j.t.JMeterThread: Thread finished: UnitTests 1-1
|
||||
2017-09-11 15:07:27,760 INFO o.a.j.e.StandardJMeterEngine: Notifying test listeners of end of test
|
||||
2017-09-11 15:07:27,760 INFO o.a.j.g.u.JMeterMenuBar: setRunning(false, *local*)
|
||||
Loading…
Reference in New Issue
Block a user