/** * Interfaz que inicia la construcción del organigrama. * * @param auxUnidades Lista de unidades extraidan de la base de datos */ public void armarModelo(List<Unidad> auxUnidades) { if (auxUnidades != null && auxUnidades.size() != 0) { unidades = new ArrayList<Unidad>(); unidades.addAll(auxUnidades); Unidad universidad = new Unidad("0", "Universidad Nacional", "UNA"); universidad.setTipo(0); DefaultMutableTreeNode raiz = agregarNodo(null, universidad); separarUnidades(raiz, raiz); model = new DefaultTreeModel(raiz); } }
/** * Recolecta los datos para asignarlos a una unidad, que va a ser la que se ingresará a la base de * datos. * * @return Nueva unidad formada con los datos de los campos en la página. */ public Unidad crearUnidad() { String codigo = ""; if (((UnidadUserObject) unidadSeleccionada.getUserObject()) .getUnidad() .getCodigo() .compareTo("0") != 0) { codigo += ((UnidadUserObject) unidadSeleccionada.getUserObject()).getUnidad().getCodigo() + "."; } if (unidadSeleccionada.getChildCount() > 0) { UnidadUserObject nuevo = (UnidadUserObject) ((DefaultMutableTreeNode) unidadSeleccionada.getChildAt(unidadSeleccionada.getChildCount() - 1)) .getUserObject(); String cod = nuevo.getUnidad().getCodigo(); cod = getCodigoUltimaUnidad(); if (cod.length() > 1) { cod = cod.substring(cod.length() - 2, cod.length()); cod = cod.replace(".", ""); } codigo += Integer.toString(Integer.parseInt(cod) + 1); } else { codigo += "1"; } Unidad unidad = new Unidad(codigo, nuevaUnidad, nuevoAcron); unidad.setTipo( ((UnidadUserObject) unidadSeleccionada.getUserObject()).getUnidad().getTipo() + 1); return unidad; }