public CloudLineBreakpointType() { super( "cloud-snapshotlocation", StackdriverDebuggerBundle.getString("clouddebug.breakpoint.description")); }
RemoveAllBreakpointsAction() { super( StackdriverDebuggerBundle.getString("clouddebug.delete.all"), StackdriverDebuggerIcons.CLOUD_DEBUG_DELETE_ALL_BREAKPOINTS); }
public ReactivateBreakpointAction() { super( StackdriverDebuggerBundle.getString("clouddebug.reactivatesnapshotlocation"), StackdriverDebuggerIcons.CLOUD_DEBUG_REACTIVATE_BREAKPOINT); }
@Override public String getConfigurationTypeDescription() { return StackdriverDebuggerBundle.getString("clouddebug.text"); }
@Override public String getDisplayName() { return StackdriverDebuggerBundle.getString("clouddebug.text"); }
protected CustomWatchGroup() { super(StackdriverDebuggerBundle.getString("clouddebug.watchexpressiongrouptitle")); }
@NotNull @Override public String getTabTitle() { return StackdriverDebuggerBundle.getString("clouddebug.snapshots"); }
private static String resolveErrorToMessage(Throwable reason) { if (reason instanceof GoogleJsonResponseException) { return resolveJsonResponseToMessage((GoogleJsonResponseException) reason); } else { return StackdriverDebuggerBundle.getString( "clouddebug.debug.targets.error", reason.getLocalizedMessage()); } }
@Override public void actionPerformed(AnActionEvent event) { int result = Messages.showOkCancelDialog( StackdriverDebuggerBundle.getString("clouddebug.remove.all"), StackdriverDebuggerBundle.getString("clouddebug.delete.snapshots"), StackdriverDebuggerBundle.getString("clouddebug.buttondelete"), StackdriverDebuggerBundle.getString("clouddebug.cancelbutton"), Messages.getQuestionIcon()); if (result == Messages.OK) { // pressed remove all SnapshotsModel model = getModel(); fireDeleteBreakpoints(model.getBreakpoints()); } } }
/** This is a helper routine that converts a server {@link StatusMessage} to descriptive text. */ @Nullable public static String getUserErrorMessage(@Nullable StatusMessage statusMessage) { if (statusMessage == null || !Boolean.TRUE.equals(statusMessage.getIsError())) { return null; } String errorDescription = getUserMessage(statusMessage); return !Strings.isNullOrEmpty(errorDescription) ? errorDescription : StackdriverDebuggerBundle.getString("clouddebug.fallbackerrormessage"); }
private void setOkText(boolean showForcedWording) { if (showForcedWording) { setOKButtonText( isContinued() && targetMatchesCurrentState() ? StackdriverDebuggerBundle.getString("clouddebug.continueanyway") : StackdriverDebuggerBundle.getString("clouddebug.attach.anyway")); } else { setOKButtonText( isContinued() && targetMatchesCurrentState() ? StackdriverDebuggerBundle.getString("clouddebug.continuesession") : StackdriverDebuggerBundle.getString("clouddebug.attach")); } }
private static String resolveJsonResponseToMessage(GoogleJsonResponseException reason) { switch (reason.getStatusCode()) { case 403: return StackdriverDebuggerBundle.message("clouddebug.debug.targets.accessdenied"); default: return StackdriverDebuggerBundle.getString( "clouddebug.debug.targets.error", reason.getDetails().getMessage()); } }
private void ensureSingleDebugSession(Project project) throws RunCanceledByUserException { List<CloudDebugProcessState> backgroundSessions = getBackgroundDebugStates(project); if (backgroundSessions.size() > 0) { for (CloudDebugProcessState cdps : backgroundSessions) { cdps.setListenInBackground(false); } } List<CloudDebugProcess> activeDebugProcesses = getActiveDebugProcesses(project); if (activeDebugProcesses.size() > 0) { int result = Messages.showOkCancelDialog( project, StackdriverDebuggerBundle.getString("clouddebug.stop.and.create.new.session"), StackdriverDebuggerBundle.getString("clouddebug.message.title"), StackdriverDebuggerIcons.STACKDRIVER_DEBUGGER); if (result == Messages.OK) { for (CloudDebugProcess cdb : activeDebugProcesses) { cdb.getProcessHandler().detachProcess(); } } else { throw new RunCanceledByUserException(); } } }
private void checkBackgroundSessions() { boolean hasUnselectedBackgroundSessions = isContinued() && !targetMatchesCurrentState(); if (hasUnselectedBackgroundSessions) { warningHeader.setVisible(true); warningMessage.setVisible(true); warningMessage.setText( StackdriverDebuggerBundle.getString("clouddebug.terminate.background")); } }
@Override public void actionPerformed(AnActionEvent event) { int result = Messages.showOkCancelDialog( event.getProject(), StackdriverDebuggerBundle.getString("clouddebug.continue.listening"), StackdriverDebuggerBundle.getString("clouddebug.message.title"), StackdriverDebuggerBundle.getString("clouddebug.continue"), StackdriverDebuggerBundle.getString("clouddebug.stop.listening"), Messages.getQuestionIcon()); if (result == Messages.OK) { // continue processState.setListenInBackground(true); UsageTrackerService.getInstance() .trackEvent(GctTracking.CLOUD_DEBUGGER_CLOSE_CONTINUE_LISTEN) .ping(); } else { processState.setListenInBackground(false); UsageTrackerService.getInstance() .trackEvent(GctTracking.CLOUD_DEBUGGER_CLOSE_STOP_LISTEN) .ping(); } ActionManager.getInstance().getAction(IdeActions.ACTION_STOP_PROGRAM).actionPerformed(event); ActionManager.getInstance().getAction(IdeActions.ACTION_CLOSE).actionPerformed(event); }
/** * Initializes the current state, synchronously checks for the latest set of changes and kicks off * the background job to poll for changes. */ public void initialize(@NotNull CloudDebugProcessState processState) { this.processState = processState; currentSnapshot = null; new Task.Modal( getXDebugSession().getProject(), StackdriverDebuggerBundle.getString("clouddebug.attachingtext"), false) { @Override public void run(@NotNull ProgressIndicator indicator) { indicator.setIndeterminate(true); getStateController().initialize(CloudDebugProcess.this.processState); getRepositoryValidator().hardRefresh(); } }.queue(); // Start breakpoints refresh job on first use. getStateController().addListener(this); getStateController().startBackgroundListening(); SwingUtilities.invokeLater( new Runnable() { @Override public void run() { getBreakpointHandler().createIdeRepresentationsIfNecessary(getCurrentBreakpointList()); } }); }
CloudDebuggerTable() { setModel(new SnapshotsModel(CloudDebugHistoricalSnapshots.this, null, null)); setTableHeader(null); setShowGrid(false); setRowMargin(0); getColumnModel().setColumnMargin(0); getColumnModel().getColumn(1).setCellRenderer(new SnapshotTimeCellRenderer()); getColumnModel().getColumn(2).setCellRenderer(new DefaultRenderer()); getColumnModel().getColumn(3).setCellRenderer(new DefaultRenderer()); getColumnModel().getColumn(4).setCellRenderer(new MoreCellRenderer()); resetDefaultFocusTraversalKeys(); setAutoResizeMode(JTable.AUTO_RESIZE_LAST_COLUMN); setPreferredScrollableViewportSize(new Dimension(WINDOW_WIDTH_PX, WINDOW_HEIGHT_PX)); setAutoCreateColumnsFromModel(false); getEmptyText().setText(StackdriverDebuggerBundle.getString("clouddebug.nosnapshots")); addMouseListener(new SnapshotClicker()); addMouseMotionListener(new CursorSwitcher()); }
private void navigateToBreakpoint(@NotNull Breakpoint target) { Date snapshotTime; try { if (target.getFinalTime() == null) { LOG.warn("Could not resolve final time from breakpoint."); snapshotTime = new Date(); } else { snapshotTime = ISODateTimeFormat.dateTime().parseDateTime(target.getFinalTime()).toDate(); } } catch (IllegalArgumentException iae) { LOG.warn("Could not parse breakpoint timestamp using ISO8601."); snapshotTime = new Date(); } DateFormat df = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT); currentSnapshot = target; if (!getXDebugSession().isStopped()) { getXDebugSession() .positionReached( new MySuspendContext( new CloudExecutionStack( getXDebugSession().getProject(), StackdriverDebuggerBundle.getString( "clouddebug.stackat", df.format(snapshotTime)), target.getStackFrames(), target.getVariableTable(), target.getEvaluatedExpressions()))); } }