void pmChangeStatus(String status, boolean rollToAllChildren, Hashtable changedStatusPMs) throws MXException, RemoteException { /* 684 */ if (changedStatusPMs != null) { /* 685 */ this.changedStatusPMs = changedStatusPMs; /* */ } /* 687 */ MboSet thisMboSet = (MboSet)this.getThisMboSet(); /* 688 */ MXException caughtException = null; /* 689 */ this.hasexception = false; /* 690 */ Object[] params = new Object[]{this.getString("pmnum"), status}; /* */ /* 692 */ String value = this.getTranslator().toInternalString("PMSTATUS", status); /* 693 */ if (value.equalsIgnoreCase(this.ACTIVE)) { /* */ /* */ /* */ try { /* 697 */ if (this.hasParents()) { /* 698 */ this.checkParentActive(status); /* */ } /* 700 */ this.checkAssetOrLocationActive(value); /* */ /* 702 */ if (this.changedStatusPMs == null || !this.changedStatusPMs.containsKey(this.getString("pmnum"))) { /* */ /* */ /* 705 */ super.changeStatus(status, (Date)null, ""); /* */ /* 707 */ if (this.changedStatusPMs == null) { /* 708 */ this.changedStatusPMs = new Hashtable(); /* */ } /* 710 */ this.changedStatusPMs.put(this.getString("pmnum"), this); /* */ } /* */ /* 713 */ if (rollToAllChildren && this.hasChildren()) { /* 714 */ this.changeChildrenStatus(status, rollToAllChildren, this.changedStatusPMs); /* */ } /* 716 */ } catch (MXApplicationException var10) { /* */ /* 718 */ thisMboSet.addWarning(var10); /* 719 */ this.hasexception = true; /* */ /* 721 */ } catch (Throwable var11) { /* */ /* */ /* 724 */ caughtException = new MXApplicationException("pm", "PMStatusChangeFailure", params, var11); /* */ /* 726 */ thisMboSet.addWarning(caughtException); /* 727 */ this.hasexception = true; /* */ /* */ /* */ /* */ } /* */ } else { /* 733 */ if (this.changedStatusPMs == null || !this.changedStatusPMs.containsKey(this.getString("pmnum"))) { /* */ /* */ /* 736 */ super.changeStatus(status, (Date)null, ""); /* */ /* 738 */ if (this.changedStatusPMs == null) { /* 739 */ this.changedStatusPMs = new Hashtable(); /* */ } /* 741 */ this.changedStatusPMs.put(this.getString("pmnum"), this); /* */ } /* */ /* 744 */ UserInfo userInfo = this.getUserInfo(); /* 745 */ if (this.hasChildren()) { /* */ /* 747 */ if (userInfo.isInteractive()) { /* */ /* 749 */ int userInput = MXApplicationYesNoCancelException.getUserInput("ChangePMStatus", MXServer.getMXServer(), userInfo); /* */ /* 751 */ if (MXServer.getBulletinBoard().isPosted("PMStatToDraftOrInactiveOnListTab", this.getUserInfo())) { /* */ /* 753 */ userInput = 2; /* */ } /* 755 */ switch(userInput) { /* */ /* */ /* */ case -1: /* 759 */ if (value.equalsIgnoreCase(this.INACTIVE)) { /* 760 */ throw new MXApplicationYesNoCancelException("ChangePMStatus", "pm", "InactivePMHier"); /* */ } /* 762 */ throw new MXApplicationYesNoCancelException("ChangePMStatus", "pm", "DraftPMHier"); /* */ /* */ /* */ case 2: /* 766 */ this.changeChildrenStatus(status, rollToAllChildren, this.changedStatusPMs); /* */ /* */ /* */ /* */ /* */ } /* */ } /* */ } else { /* 774 */ this.changeChildrenStatus(status, rollToAllChildren, this.changedStatusPMs); /* */ /* */ } /* */ } /* */ /* 779 */ if (!this.hasexception) { /* */ /* */ /* 782 */ MboRemote owner = thisMboSet.getOwner(); /* 783 */ if (owner == null || !(owner instanceof AssetRemote)) { /* 784 */ thisMboSet.addWarning(new MXApplicationException("pm", "PMStatusChangeSuccess", params)); /* */ } } /* */ /* 787 */ }