@SuppressWarnings("ConstantConditions") @Override public void saveTo(@NotNull final XLineBreakpoint<CloudLineBreakpointProperties> ideBreakpoint) { CloudLineBreakpointProperties properties = ideBreakpoint.getProperties(); if (properties == null) { LOG.error( "Could not save changes to the breakpoint because for some reason it does not have cloud " + "properties."); return; } XBreakpointBase lineBreakpointImpl = ideBreakpoint instanceof XBreakpointBase ? (XBreakpointBase) ideBreakpoint : null; if (rootNode != null && lineBreakpointImpl != null) { List<String> expressionsToSave = new ArrayList<String>(); List<? extends WatchNode> children = rootNode.getAllChildren(); if (children != null) { for (WatchNode node : rootNode.getAllChildren()) { expressionsToSave.add(node.getExpression().getExpression()); } if (properties.setWatchExpressions( expressionsToSave.toArray(new String[expressionsToSave.size()]))) { lineBreakpointImpl.fireBreakpointChanged(); } } } }
@Override public void run() { if (finalserverBreakpoint.getExpressions() != null && finalserverBreakpoint.getExpressions().size() > 0) { properties.setWatchExpressions( finalserverBreakpoint .getExpressions() .toArray(new String[finalserverBreakpoint.getExpressions().size()])); } XLineBreakpoint<CloudLineBreakpointProperties> newxIdeBreakpoint = manager.addLineBreakpoint( CloudLineBreakpointType.getInstance(), file.getUrl(), line, properties); // Condition, watches. if (!Strings.isNullOrEmpty(finalserverBreakpoint.getCondition())) { newxIdeBreakpoint.setCondition(finalserverBreakpoint.getCondition()); } } });
properties.setWatchExpressions(watches); properties.setCreatedByServer(createdByServer);
newXIdeBreakpoint .getProperties() .setWatchExpressions( serverBreakpoint .getExpressions()