// The contents of this file are subject to the Mozilla Public License Version 1.1 // (the "License"); you may not use this file except in compliance with the License. // You may obtain a copy of the License at . // // Software distributed under the License is distributed on an "AS IS" basis, WITHOUT // WARRANTY OF ANY KIND, either express or implied. See the License for the specific // language governing rights and limitations under the License. // // The Original Code is the Venice Web Communities System. // // The Initial Developer of the Original Code is Eric J. Bowersox , // for Silverwrist Design Studios. Portions created by Eric J. Bowersox are // Copyright (C) 2001 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved. // // Contributor(s): importPackage(Packages.com.silverwrist.venice.core); importPackage(Packages.com.silverwrist.venice.except); importPackage(Packages.com.silverwrist.venice.ui); importPackage(Packages.com.silverwrist.venice.ui.helpers); rinput = bsf.lookupBean("request"); boxid = rinput.getParameterInt("box",0); if (boxid==0) { // the box ID parameter is invalid vlib.output(new ErrorBox(null,"Box parameter invalid!","usr/sidebox.js.vs")); vlib.done(); } // end if rc = null; try { // locate the specified sidebox in the list sidebox_list = rinput.user.getSideBoxList(); next = null; curr = null; it = sidebox_list.iterator(); found = false; while (!found && it.hasNext()) { // look for the right descriptor curr = vlib.castUserSideBoxDescriptor(it.next()); if (boxid==curr.sideBoxID) { // found the current one - get the next one as well found = true; if (it.hasNext()) next = vlib.castUserSideBoxDescriptor(it.next()); } // end if } // end while if (found && (next!=null)) { // exchange sequence numbers between curr and next seq_curr = curr.sequence; seq_next = next.sequence; curr.sequence = seq_next; // first "set" restore = true; try { // do the second "set" next.sequence = seq_curr; restore = false; } // end try finally { // restore first if second failed if (restore) curr.sequence = seq_curr; } // end finally } // end if // else just fall out and don't do anything // now execute the "sidebox.js" script to do the redisplay rc = vlib.exec("usr/sidebox.js"); rinput.location = "usr/sidebox.js.vs"; } // end try catch (e) { // exception modifying the sidebox list etype = vlib.exceptionType(e) + ""; if (etype.match("DataException")) rc = new ErrorBox("Database Error","Error adjusting sidebox list: " + e.message,"usr/sidebox.js.vs"); else rc = e; } // end catch vlib.output(rc);