protected static void addToList(List<ConfigUpdateItem> list, ConfigUpdateItem item) { if (PRIORITY_ITEMS.get().contains(item.getName())) { list.add(0, item); } else { list.add(item); } }
@Override public String toString() { StringBuilder message = new StringBuilder("update ["); boolean first = true; for (ConfigUpdateItem item : items) { if (!first) { message.append(", "); } first = false; message.append(item.getName()); } message.append("] on [").append(client).append("]"); return message.toString(); }
private static String message(ConfigUpdateRequest request, List<ConfigUpdateItem> items) { List<String> names = new ArrayList<String>(); for (ConfigUpdateItem item : items) { names.add(item.getName()); } return String.format("Timeout waiting for [%s] to update %s", request.getClient(), names); }
protected void downloadAndPost(String auth, String url, ConfigUpdateItem item) throws IOException { if (item.getName().equals("metadata-answers") || item.getName().equals("psk")) { return; String contentUrl = (url + "/configcontent/" + item.getName()).toLowerCase(); URLConnection urlConnection = getConnection(contentUrl, auth); log.info("Simulator in [{}] file [{}]", item.getName(), entry.getName()); log.info("Simulator found version [{}] for [{}]", version, item.getName()); throw new IllegalStateException("Failed to find versions for [" + item.getName() + "]"); log.info("Simulator POSTing version [{}] for [{}]", version, item.getName()); HttpURLConnection conn = (HttpURLConnection) getConnection(contentUrl + "?version=" + version, auth); conn.setRequestMethod("PUT");
protected boolean itemDone(ConfigUpdateItem item, Map<String, ItemVersion> applied) { ItemVersion version = applied.get(item.getName()); if (version == null) { return false; } if (item.getRequestedVersion() == null) { return false; } if (version.getRevision() < item.getRequestedVersion()) { return false; } return true; }
protected boolean satisfies(boolean isRequest, ConfigUpdate request, Map<String, ItemVersion> applied) { if (request.getData() == null) { return true; } for (ConfigUpdateItem item : request.getData().getItems()) { ItemVersion version = applied.get(item.getName()); if (version == null) { if (log.isTraceEnabled() && !isRequest) { log.info("\t\tUnsatified item {} [{}] is not assigned", item.hashCode(), item.getName()); } return false; } if (item.getRequestedVersion() == null) { if (isRequest) { return false; } else { continue; } } if (version.getRevision() < item.getRequestedVersion()) { if (log.isTraceEnabled() && !isRequest) { log.info("\t\tUnsatified item {} [{}] [{}<{}]", item.hashCode(), item.getName(), version.getRevision(), item.getRequestedVersion()); } return false; } } return true; }
@Override public boolean runUpdateForEvent(final String itemName, final ConfigUpdate update, final Client client, final Runnable run) { boolean found = false; for (ConfigUpdateItem item : update.getData().getItems()) { if (itemName.equals(item.getName())) { found = true; } } if (!found) { return false; } return lockManager.tryLock(new ConfigItemProcessLock(itemName, client), new LockCallback<Object>() { @Override public Object doWithLock() { ItemVersion itemVersion = getRequestedVersion(client, itemName); if (itemVersion == null) { return null; } run.run(); setApplied(client, itemName, itemVersion); eventService.publish(EventVO.reply(update)); return new Object(); } }) != null; }
List<String> items = new ArrayList<>(); for (ConfigUpdateItem updateItem : updateItems) { items.add(updateItem.getName());
@Override public List<? extends ConfigItemStatus> listItems(ConfigUpdateRequest request) { Set<String> names = new HashSet<String>(); for ( ConfigUpdateItem item : request.getItems() ) { names.add(item.getName()); } return create() .selectFrom(CONFIG_ITEM_STATUS) .where( CONFIG_ITEM_STATUS.NAME.in(names) .and(targetObjectCondition(request.getClient()))) .fetch(); }
String name = item.getName(); ConfigItemStatus status = statuses.get(name); Long requestedVersion = item.getRequestedVersion();