@Override public SiteEntity update(SiteEntity siteEntity) throws EntityNotFoundException { if (siteEntity.getSiteId() == null && siteEntity.getUuid() == null) { throw new IllegalArgumentException("siteId and UUID are both null, don't know how to update"); } SiteEntity oldEntity = (siteEntity.getSiteId() != null) ? getBySiteId(siteEntity.getSiteId()) : getByUUID(siteEntity.getUuid()); siteEntity.setUuid(oldEntity.getUuid()); siteEntity.setCreatedTime(oldEntity.getCreatedTime()); siteEntity.ensureDefault(); siteId2EntityMap.put(siteEntity.getSiteId(), siteEntity); return siteEntity; } }
@Override public SiteEntity apply(ResultSet resultSet) throws SQLException { SiteEntity siteEntityResult = new SiteEntity(); siteEntityResult.setUuid(resultSet.getString(1)); siteEntityResult.setSiteId(resultSet.getString(2)); siteEntityResult.setSiteName(resultSet.getString(3)); siteEntityResult.setDescription(resultSet.getString(4)); siteEntityResult.setCreatedTime(resultSet.getLong(5)); siteEntityResult.setModifiedTime(resultSet.getLong(6)); return siteEntityResult; } }
boolean addNullValue = (statement.getParameterMetaData().getParameterCount() > 5); if (addNullValue || StringUtils.isNotBlank(entity.getSiteId())) { statement.setString(parameterIndex, entity.getSiteId()); parameterIndex++; if (addNullValue || StringUtils.isNotBlank(entity.getSiteName())) { statement.setString(parameterIndex, entity.getSiteName()); parameterIndex++; if (addNullValue || StringUtils.isNotBlank(entity.getDescription())) { statement.setString(parameterIndex, entity.getDescription()); parameterIndex++; if (entity.getCreatedTime() > 0) { statement.setLong(parameterIndex, entity.getCreatedTime()); parameterIndex++; if (entity.getModifiedTime() > 0) { statement.setLong(parameterIndex, entity.getModifiedTime()); parameterIndex++; if (StringUtils.isNotBlank(entity.getUuid())) { statement.setString(parameterIndex, entity.getUuid()); parameterIndex++;
private SiteEntity getUniqueSite() { // Create local site SiteEntity siteEntity = new SiteEntity(); siteEntity.setSiteId("SIMULATED_SITE_" + incr.incrementAndGet()); siteEntity.setSiteName(siteEntity.getSiteId()); siteEntity.setDescription("Automatically generated unique simulation site " + siteEntity.getSiteId() + " (simulator: " + this + ")"); return siteEntity; }
@Override public String toString() { return String.format("SiteEntity[siteId = %s, siteName =%s, description = %s, uuid = %s]", getSiteId(), getSiteName(), getDescription(), getUuid()); }
@Override public SiteEntity create(SiteEntity entity) { Preconditions.checkNotNull(entity.getSiteId(), "SiteId is null: " + entity.getSiteId()); if (siteId2EntityMap.containsKey(entity.getSiteId())) { throw new IllegalArgumentException("Duplicated siteId: " + entity.getSiteId()); } entity.ensureDefault(); siteId2EntityMap.put(entity.getSiteId(), entity); return entity; }
@Override public SiteEntity deleteBySiteId(String siteId) throws EntityNotFoundException { return siteId2EntityMap.remove(getBySiteId(siteId).getSiteId()); }
@POST @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON) public RESTResponse<SiteEntity> createSite(SiteEntity siteEntity) { return RESTResponse.<SiteEntity>async((builder) -> { SiteEntity entity = siteEntityService.create(siteEntity); builder.message("Successfully created site (siteId:" + entity.getSiteId() + ", uuid: " + entity.getUuid() + ")"); builder.data(entity); }).get(); }
public ApplicationEntity(String siteId, String appType) { this.site = new SiteEntity("", siteId); ApplicationDesc applicationDesc = new ApplicationDesc(); applicationDesc.setType(appType); this.descriptor = applicationDesc; this.mode = null; this.status = null; }
@Override public SiteEntity getByUUID(String uuid) throws EntityNotFoundException { Optional<SiteEntity> entityOptional = siteId2EntityMap.values().stream().filter((site) -> uuid.equals(site.getUuid())).findAny(); if (entityOptional.isPresent()) { return entityOptional.get(); } else { throw new EntityNotFoundException("Site with UUID: " + uuid + " not found"); } }
@PUT @Path("/{siteId}") @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) public RESTResponse<SiteEntity> updateSite(@PathParam("siteId") String siteId, SiteEntity siteEntity) { return RESTResponse.async(() -> { siteEntity.setSiteId(siteId); return siteEntityService.update(siteEntity); }).get(); }
@Override public Collection<ApplicationEntity> findBySiteId(String siteId) { return applicationEntityMap.values().stream().filter((app) -> siteId.equals(app.getSite().getSiteId())).collect(Collectors.toList()); }
SiteEntity siteEntity = getUniqueSite(); siteResource.createSite(siteEntity); Assert.assertNotNull(siteEntity.getUuid()); ApplicationOperations.InstallOperation installOperation = new ApplicationOperations.InstallOperation(siteEntity.getSiteId(), appType, ApplicationEntity.Mode.LOCAL); installOperation.setConfiguration(appConfig);
@Override public SiteEntity create(SiteEntity entity) { Preconditions.checkNotNull(entity.getSiteId(), "SiteId is null: " + entity.getSiteId()); List<SiteEntity> entities = new ArrayList<>(1); entity.ensureDefault(); entities.add(entity); try { queryService.insert(insertSql, entities, new SiteEntityToRelation()); } catch (SQLException e) { LOGGER.error("Error to insert SiteEntity: {}", entity, e); throw new IllegalArgumentException("Error to insert SiteEntity: " + entity + e); } return entity; } }
@Override public SiteEntity getBySiteId(String siteId) throws EntityNotFoundException { List<SiteEntity> results; SiteEntity siteEntity = new SiteEntity("", siteId); try { results = queryService.queryWithCond(selectSqlBySiteId, siteEntity, new SiteEntityToRelation(), new RelationToSiteEntity()); } catch (SQLException e) { LOGGER.error("Error to getBySiteId SiteEntity: {}", e); throw new EntityNotFoundException(e); } if (results.isEmpty()) { throw new EntityNotFoundException("getBySiteId " + siteId + " Not Found"); } return results.get(0); }
@Override public ApplicationEntity apply(ResultSet resultSet) throws SQLException { ApplicationDesc applicationDesc = new ApplicationDesc(); String appType = resultSet.getString(4); applicationDesc.setType(appType); SiteEntity siteEntity = new SiteEntity(); siteEntity.setUuid(resultSet.getString(12)); siteEntity.setSiteId(resultSet.getString(13)); siteEntity.setSiteName(resultSet.getString(14)); siteEntity.setDescription(resultSet.getString(15)); siteEntity.setCreatedTime(resultSet.getLong(16)); siteEntity.setModifiedTime(resultSet.getLong(17)); ApplicationEntity resultEntity = new ApplicationEntity(); resultEntity.setUuid(resultSet.getString(1)); resultEntity.setAppId(resultSet.getString(2)); resultEntity.setSite(siteEntity); resultEntity.setDescriptor(applicationDesc); resultEntity.setMode(ApplicationEntity.Mode.valueOf(resultSet.getString(5))); resultEntity.setJarPath(resultSet.getString(6)); resultEntity.setStatus(ApplicationEntity.Status.valueOf(resultSet.getString(7))); resultEntity.setConfiguration(parse(resultSet.getString(8))); resultEntity.setContext(parse(resultSet.getString(9))); resultEntity.setCreatedTime(resultSet.getLong(10)); resultEntity.setModifiedTime(resultSet.getLong(11)); return resultEntity; }
@Override public SiteEntity update(SiteEntity siteEntity) throws EntityNotFoundException { if (siteEntity.getSiteId() == null && siteEntity.getUuid() == null) { throw new IllegalArgumentException("siteId and UUID are both null, don't know how to update"); } int result; try { SiteEntity oldEntity = getBySiteId(siteEntity.getSiteId()); siteEntity.setUuid(oldEntity.getUuid()); siteEntity.setCreatedTime(oldEntity.getCreatedTime()); siteEntity.ensureDefault(); result = queryService.update(updateSqlByUUID, siteEntity, new SiteEntityToRelation()); } catch (SQLException e) { LOGGER.error("Error to update SiteEntity: {}", siteEntity, e); throw new EntityNotFoundException(e); } if (result == 0) { throw new EntityNotFoundException("update " + siteEntity + "Not Found"); } return siteEntity; }
@Override public SiteEntity deleteByUUID(String uuid) throws EntityNotFoundException { return siteId2EntityMap.remove(getByUUID(uuid).getSiteId()); }
@Override public SiteEntity getByUUID(String uuid) throws EntityNotFoundException { List<SiteEntity> results; SiteEntity siteEntity = new SiteEntity(uuid, ""); try { results = queryService.queryWithCond(selectSqlByUUID, siteEntity, new SiteEntityToRelation(), new RelationToSiteEntity()); } catch (SQLException e) { LOGGER.error("Error to getByUUID SiteEntity: {}", e); throw new EntityNotFoundException(e); } if (results.isEmpty()) { throw new EntityNotFoundException("getByUUID " + uuid + " Not Found"); } return results.get(0); }
@Override public ApplicationEntity getBySiteIdAndAppType(String siteId, String appType) { Optional<ApplicationEntity> optional = applicationEntityMap.values().stream() .filter((app) -> siteId.equals(app.getSite().getSiteId()) && appType.equals(app.getDescriptor().getType())).findAny(); if (optional.isPresent()) { return optional.get(); } else { return null; } }