public static OpResult of(int code, String messsage) { OpResult opResult = new OpResult(); opResult.code = code; opResult.message = messsage; return opResult; }
@Override public Models export() { Models models = new Models(); models.assignments.addAll(this.assignments); models.clusters.addAll(this.clusters); models.datasources.addAll(this.datasources); models.policies.addAll(this.policies); models.publishments.addAll(this.publishments); models.scheduleStates.putAll(this.scheduleStates); models.schemas.addAll(this.schemas); models.topologies.addAll(this.topologies); return models; }
@Path("/policies") @POST public OpResult addPolicy(@Valid PolicyDefinition policy) { PolicyValidationResult validationResult = this.validatePolicy(policy); if (validationResult.isSuccess()) { return dao.addPolicy(policy); } else { return OpResult.fail(validationResult.getMessage()); } }
public static OpResult success(String messsage) { OpResult opResult = new OpResult(); opResult.code = SUCCESS; opResult.message = messsage; return opResult; }
public static OpResult fail(String messsage) { OpResult opResult = new OpResult(); opResult.code = FAILURE; opResult.message = messsage; return opResult; } }
@Override public OpResult addAssignment(PolicyAssignment assignment) { OpResult result = new OpResult(); result.code = 200; result.message = "OK"; assignments.add(assignment); return result; }
@Override public OpResult addAlertPublishEvent(AlertPublishEvent event) { alerts.add(event); OpResult result = new OpResult(); result.code = 200; return result; }
@Override public synchronized OpResult addScheduleState(ScheduleState state) { // FIXME : might concurrent issue String toRemove = null; if (scheduleStates.size() > maxScheduleState) { toRemove = scheduleStates.firstKey(); } scheduleStates.put(state.getVersion(), state); if (toRemove != null) { scheduleStates.remove(toRemove); } OpResult result = new OpResult(); result.code = 200; result.message = "OK"; return result; }
@Override public synchronized OpResult clear() { LOG.info("clear models..."); this.assignments.clear(); this.clusters.clear(); this.datasources.clear(); this.policies.clear(); this.publishments.clear(); this.scheduleStates.clear(); this.schemas.clear(); this.topologies.clear(); OpResult result = new OpResult(); result.code = 200; result.message = "OK"; return result; }
@SuppressWarnings("unchecked") private synchronized <T> OpResult remove(List<T> clusters, String id) { T[] matched = (T[]) clusters.stream().filter(new Predicate<T>() { @Override public boolean test(T t) { if (MetadataUtils.getKey(t).equalsIgnoreCase(id)) { return true; } return false; } }).toArray(); OpResult result = new OpResult(); result.code = 200; if (clusters.removeAll(Arrays.asList(matched))) { result.message = "removed configuration item succeed"; } else { result.message = "no configuration item removed"; } return result; }
private synchronized <T> OpResult addOrReplace(List<T> clusters, T paramT) { Optional<T> scOp = clusters.stream().filter(new Predicate<T>() { @Override public boolean test(T t) { if (MetadataUtils.getKey(t).equalsIgnoreCase(MetadataUtils.getKey(paramT))) { return true; } return false; } }).findFirst(); OpResult result = new OpResult(); // replace if (scOp.isPresent()) { clusters.remove(scOp.get()); result.message = "replace the old one!"; } else { result.message = "created new config!"; } result.code = 200; clusters.add(paramT); return result; }
@POST @Path("/topologies/{topologyName}/stop") public OpResult stopTopology(@PathParam("topologyName") String topologyName) { OpResult result = new OpResult(); try { topologyManager.stopTopology(topologyName); } catch (Exception ex) { result.message = ex.toString(); } return result; }
@POST @Path("/topologies/{topologyName}/start") public OpResult startTopology(@PathParam("topologyName") String topologyName) { OpResult result = new OpResult(); try { topologyManager.startTopology(topologyName); } catch (Exception ex) { result.message = ex.toString(); } return result; }
@Override public OpResult importModels(Models models) { LOG.info("clear and import models..."); clear(); this.assignments.addAll(models.assignments); this.clusters.addAll(models.clusters); this.datasources.addAll(models.datasources); this.policies.addAll(models.policies); this.publishments.addAll(models.publishments); this.scheduleStates.putAll(models.scheduleStates); this.schemas.addAll(models.schemas); this.topologies.addAll(models.topologies); OpResult result = new OpResult(); result.code = 200; result.message = "OK"; return result; }
private OpResult executeUpdate(Connection connection, String query, String key, String value) throws SQLException { OpResult result = new OpResult(); PreparedStatement statement = null; try { statement = connection.prepareStatement(query); Clob clob = connection.createClob(); clob.setString(1, value); statement.setClob(1, clob); statement.setString(2, key); int status = statement.executeUpdate(); LOG.info("update {} with query={}", status, query); } finally { if (statement != null) { statement.close(); } } return result; }
public OpResult removeScheduleStates(int capacity) { Connection connection = null; PreparedStatement statement = null; OpResult result = new OpResult(); try { connection = dataSource.getConnection(); statement = connection.prepareStatement(CLEAR_SCHEDULESTATES_STATEMENT); statement.setInt(1, capacity); LOG.info("start to delete schedule states"); int status = statement.executeUpdate(); result.code = OpResult.SUCCESS; result.message = String.format("removed %d records from schedule_state successfully", status); } catch (SQLException ex) { result.code = OpResult.FAILURE; result.message = ex.getMessage(); } finally { closeResource(null, statement, connection); } LOG.info(result.message); return result; } }
public OpResult removeById(String clzName, String key) { Connection connection = null; PreparedStatement statement = null; OpResult result = new OpResult(); try { String tb = getTableName(clzName); connection = dataSource.getConnection(); statement = connection.prepareStatement(String.format(DELETE_STATEMENT, tb)); statement.setString(1, key); LOG.info("start to delete records from {} with id={}", tb, key); int status = statement.executeUpdate(); result.code = OpResult.SUCCESS; result.message = String.format("removed %d records from %s successfully", status, tb); } catch (SQLException ex) { result.code = OpResult.FAILURE; result.message = ex.getMessage(); } finally { closeResource(null, statement, connection); } LOG.info(result.message); return result; }
private <T> OpResult addOne(MongoCollection<Document> collection, T t) { OpResult result = new OpResult(); String json = ""; try { json = mapper.writeValueAsString(t); collection.insertOne(Document.parse(json)); result.code = 200; result.message = String.format("add one document [%s] to collection [%s] succeed!", json, collection.getNamespace()); LOG.info(result.message); } catch (Exception e) { result.code = 400; result.message = e.getMessage(); LOG.error(String.format("Add one document [%s] to collection [%s] failed!", json, collection.getNamespace()), e); } return result; }
@Path("/policies/{policyId}/status/{status}") @POST public OpResult updatePolicyStatusByID(@PathParam("policyId") String policyId, @PathParam("status") PolicyDefinition.PolicyStatus status) { OpResult result = new OpResult(); try { PolicyDefinition policyDefinition = getPolicyById(policyId); policyDefinition.setPolicyStatus(status); OpResult updateResult = addPolicy(policyDefinition); result.code = updateResult.code; if (result.code == OpResult.SUCCESS) { result.message = "Successfully updated status of " + policyId + " as " + status; LOG.info(result.message); } else { result.message = updateResult.message; LOG.error(result.message); } } catch (Exception e) { LOG.error("Error: " + e.getMessage(), e); result.code = OpResult.FAILURE; result.message = e.getMessage(); } return result; }
private <T> OpResult removeObject(MongoCollection<Document> collection, String nameField, String name) { BsonDocument filter = new BsonDocument(); filter.append(nameField, new BsonString(name)); DeleteResult dr = collection.deleteOne(filter); OpResult result = new OpResult(); result.code = 200; result.message = String.format(" %d config item removed!", dr.getDeletedCount()); return result; }