/** * This method sets the status of debug option based on the user input.If user checks the debug * check box first time then it will add a debugging end point otherwise it will prompt the user * for removal of associated end point for debugging if user already has some debug end point * associated and unchecked the debug check box. */ private void debugOptionStatus() { if (debugCheck.isSelected()) { makeDebugEnable(); try { waRole.setDebuggingEndpoint(dbgSelEndpoint); waRole.setStartSuspended(jvmCheck.isSelected()); } catch (WindowsAzureInvalidProjectOperationException e1) { PluginUtil.displayErrorDialogAndLog(message("adRolErrTitle"), message("dlgDbgErr"), e1); } } else { if (isDebugChecked && !"".equals(comboEndPoint.getSelectedItem())) { String msg = String.format("%s%s", message("dlgDbgEdPtAscMsg"), comboEndPoint.getSelectedItem()); int choice = Messages.showOkCancelDialog( msg, message("dlgDbgEndPtErrTtl"), Messages.getQuestionIcon()); if (choice == Messages.OK) { removeDebugAssociatedEndpoint(); } else { makeAllDisable(); try { waRole.setDebuggingEndpoint(null); } catch (WindowsAzureInvalidProjectOperationException e) { PluginUtil.displayErrorDialogAndLog(message("adRolErrTitle"), message("dlgDbgErr"), e); } } } else { removeDebugAssociatedEndpoint(); } } }
/** * This method populates the endpoint list every time we made any changes in the endpoint list. * * @throws com.interopbridges.tools.windowsazure.WindowsAzureInvalidProjectOperationException */ private void populateEndPointList() throws WindowsAzureInvalidProjectOperationException { List<WindowsAzureEndpoint> endpointsList; endpointsList = new ArrayList<WindowsAzureEndpoint>(waRole.getEndpoints()); comboEndPoint.removeAll(); for (WindowsAzureEndpoint endpoint : endpointsList) { if (((endpoint.getEndPointType().equals(WindowsAzureEndpointType.Input) && endpoint.getPrivatePort() != null) || endpoint.getEndPointType().equals(WindowsAzureEndpointType.InstanceInput)) && !endpoint.equals(waRole.getSessionAffinityInputEndpoint()) && !endpoint.equals(waRole.getSslOffloadingInputEndpoint())) { comboEndPoint.addItem( String.format( message("dbgEndPtStr"), endpoint.getName(), endpoint.getPort(), endpoint.getPrivatePort())); } } }
/** This method enables all the control on UI if Debug is enabled. */ private void makeDebugEnable() { try { createDebug.setEnabled(true); comboEndPoint.setEnabled(true); jvmCheck.setEnabled(true); lblDebugEndPoint.setEnabled(true); RoleAndEndpoint obj = WARDebuggingUtilMethods.getDebuggingEndpoint(waRole, waProjManager); waRole = obj.getRole(); WindowsAzureEndpoint endpt = obj.getEndPt(); populateEndPointList(); comboEndPoint.setSelectedItem( String.format( message("dbgEndPtStr"), endpt.getName(), endpt.getPort(), endpt.getPrivatePort())); dbgSelEndpoint = endpt; } catch (WindowsAzureInvalidProjectOperationException e) { PluginUtil.displayErrorDialogAndLog(message("adRolErrTitle"), message("dlgDbgErr"), e); } }
/** This method removed the associated debug end point if debug check box get unchecked. */ private void removeDebugAssociatedEndpoint() { List<WindowsAzureEndpoint> endpointsList; try { endpointsList = new ArrayList<WindowsAzureEndpoint>(waRole.getEndpoints()); for (WindowsAzureEndpoint endpoint : endpointsList) { if (((String) comboEndPoint.getSelectedItem()) .equalsIgnoreCase( String.format( message("dbgEndPtStr"), endpoint.getName(), endpoint.getPort(), endpoint.getPrivatePort()))) { endpoint.delete(); } } comboEndPoint.removeAllItems(); // comboEndPoint.setText(""); makeAllDisable(); waRole.setDebuggingEndpoint(null); } catch (WindowsAzureInvalidProjectOperationException e) { PluginUtil.displayErrorDialogAndLog(message("adRolErrTitle"), message("dlgDbgErr"), e); } }
private void init() { try { WindowsAzureEndpoint endPt = waRole.getDebuggingEndpoint(); if (endPt == null) { debugCheck.setSelected(false); comboEndPoint.removeAllItems(); // todo: ??? makeAllDisable(); } else { populateEndPointList(); comboEndPoint.setSelectedItem( String.format( message("dbgEndPtStr"), endPt.getName(), endPt.getPort(), endPt.getPrivatePort())); } } catch (Exception e) { PluginUtil.displayErrorDialogAndLog(message("adRolErrTitle"), message("dlgDbgErr"), e); } isDebugChecked = false; try { isDebugChecked = waRole.getDebuggingEndpoint() != null; } catch (Exception ex) { // As getTitle() is also showing the error message if any exception // occurs in role.getDebuggingEndpoint(), so only logging // the exception. getTitle() gets called every time this page is // selected but createContents() is called only once while creating // the page. log(message("dlgDbgErr"), ex); } debugCheck.setSelected(isDebugChecked); debugCheck.addItemListener(createDebugCheckListener()); try { populateEndPointList(); } catch (WindowsAzureInvalidProjectOperationException e1) { PluginUtil.displayErrorDialogAndLog(message("adRolErrTitle"), message("dlgDbgErr"), e1); } comboEndPoint.addItemListener(createComboEndPointListener()); try { if (isDebugChecked) { jvmCheck.setSelected(waRole.getStartSuspended()); } else { jvmCheck.setSelected(false); } } catch (WindowsAzureInvalidProjectOperationException e2) { PluginUtil.displayErrorDialogAndLog(message("adRolErrTitle"), message("dlgDbgErr"), e2); } jvmCheck.addItemListener(createJvmCheckListener()); createDebug.addActionListener(createCreateDebugListener()); try { if (isDebugChecked) { WindowsAzureEndpoint endPt = waRole.getDebuggingEndpoint(); comboEndPoint.setSelectedItem( String.format( message("dbgEndPtStr"), endPt.getName(), endPt.getPort(), endPt.getPrivatePort())); } else { makeAllDisable(); } } catch (WindowsAzureInvalidProjectOperationException e1) { PluginUtil.displayErrorDialogAndLog(message("adRolErrTitle"), message("dlgDbgErr"), e1); } if (debugCheck.isSelected() && comboEndPoint.getSelectedItem().equals("")) { // setValid(false); } }
/** This method disables all the control on UI if Debug is disabled. */ private void makeAllDisable() { createDebug.setEnabled(false); comboEndPoint.setEnabled(false); jvmCheck.setEnabled(false); lblDebugEndPoint.setEnabled(false); }