/* * Se ejecuta una vez finalizado el interfaz despues de pasar por todas las pantallas. * (non-Javadoc) * @see com.vividsolutions.jump.workbench.plugin.ThreadedPlugIn#run(com.vividsolutions.jump.task.TaskMonitor, com.vividsolutions.jump.workbench.plugin.PlugInContext) */ public void run(TaskMonitor monitor, PlugInContext context) throws Exception { try { monitor.report( I18N.get( PluginMobileExtracti18n, MobilePluginI18NResource.MobileModifyPanel01_deletingProy)); ExtractionProject eProject = (ExtractionProject) blackboard.get(MobileModifyPanel01.SELECTED_EXTRACT_PROJECT); // guardamos la informacion en base de datos final String sUrlPrefix = Constants.APLICACION.getString(UserPreferenceConstants.LOCALGIS_SERVER_URL); AdministradorCartografiaClient administradorCartografiaClient = new AdministradorCartografiaClient( sUrlPrefix + WebAppConstants.GEOPISTA_WEBAPP_NAME + ServletConstants.ADMINISTRADOR_CARTOGRAFIA_SERVLET_NAME); administradorCartografiaClient.deleteExtractProject(eProject); // Borramos los datos subidos al servidor. httpDeleteProject(Constants.URL_DELETE_SERVER, eProject); String dirBase = UserPreferenceStore.getUserPreference( UserPreferenceConstants.PREFERENCES_DATA_PATH_KEY, UserPreferenceConstants.DEFAULT_DATA_PATH, true); dirBase += File.separator + "maps"; String projectName = eProject.getNombreProyecto(); String idProyecto = eProject.getIdProyecto(); String dirMapName = projectName + "." + idProyecto; File dirBaseMake = new File(dirBase, dirMapName); if (dirBaseMake.exists()) { MobileUtils.deleteDir(dirBaseMake); logger.info("Borrando fichero local:" + dirBaseMake); } } finally { // borramos la cuadrícula LayerManager layerManager = context.getLayerManager(); Layer graticuleLayer = layerManager.getLayer(GraticuleCreatorEngine.getGraticuleName()); if (graticuleLayer != null) { layerManager.remove(graticuleLayer); } } }
private void httpDeleteProject(String url, ExtractionProject eProject) throws Exception { PostMethod method = null; try { HttpClient client = new HttpClient(); client.getParams().setParameter("http.connection.timeout", new Integer(8000)); method = new PostMethod(url); method.addParameter("PROJECT_ID", eProject.getIdProyecto()); method.addParameter("PROJECT_NAME", eProject.getNombreProyecto()); int statusCode1 = client.executeMethod(method); logger.info("statusLine>>> " + method.getStatusLine() + " || statusCode>>> " + statusCode1); } catch (Exception e) { logger.error("No se ha podido eliminar el proyecto. " + e, e); throw e; } finally { if (method != null) method.releaseConnection(); } }
private JScrollPane getGraticuleCells() { // sacamos las cuadrículas de la rejilla LayerManager layerManager = context.getLayerManager(); Layer graticuleLayer = layerManager.getLayer(GraticuleCreatorEngine.getGraticuleName()); if (graticuleLayer != null) { FeatureCollectionWrapper fCollWrapper = graticuleLayer.getFeatureCollectionWrapper(); List featList = fCollWrapper.getFeatures(); jComboList = new ArrayList<JComboBox>(); Feature feature = null; Integer cellId = null; JPanel jPaneCells = new JPanel(); int cols = featList.size() / 2; if (featList.size() % 2 != 0) { cols++; } jPaneCells.setLayout(new GridLayout(cols, 2)); // //capas extraídas // ArrayList<GeopistaLayer> writeableLayers = (ArrayList<GeopistaLayer>) // blackboard.get(MobileExtractPanel01.MOBILE_WRITEABLE_LAYERS); // ArrayList<GeopistaLayer> readableLayers = (ArrayList<GeopistaLayer>) // blackboard.get(MobileExtractPanel01.MOBILE_READABLE_LAYERS); // ArrayList<String> listLayersId = new ArrayList<String>(); // GeopistaLayer geopistaLayer = null; // for(int i=0; i<writeableLayers.size(); i++){ // geopistaLayer = writeableLayers.get(i); // listLayersId.add(String.valueOf(geopistaLayer.getId_LayerDataBase())); // } // for(int i=0; i<readableLayers.size(); i++){ // geopistaLayer = readableLayers.get(i); // listLayersId.add(String.valueOf(geopistaLayer.getId_LayerDataBase())); // } // obtenemos el proyecto de extracción seleccionado de la pantalla anterior ExtractionProject eProject = (ExtractionProject) blackboard.get(MobileAssignCellsPanel01.SELECTED_EXTRACT_PROJECT); JPanel auxPanel = null; arrayNombresUsuarios = null; listaUsuariosPermisos = null; HashMap<String, String> usuariosAsignados = null; final String sUrlPrefix = Constants.APLICACION.getString("geopista.conexion.servidorurl"); try { // añadimos los usuarios a los combos AdministradorCartografiaClient administradorCartografiaClient = new AdministradorCartografiaClient( sUrlPrefix + WebAppConstants.GEOPISTA_WEBAPP_NAME + ServletConstants.ADMINISTRADOR_CARTOGRAFIA_SERVLET_NAME); ListaUsuarios usersRealList = (ListaUsuarios) administradorCartografiaClient.getUsersPermLayers( eProject.getIdExtractLayersList()); // usuarios ya asignados usuariosAsignados = administradorCartografiaClient.getAssignCellsExtractProject(eProject.getIdProyecto()); // usuarios con permisos sobre las capas Hashtable<String, Usuario> usuariosReales = (Hashtable<String, Usuario>) usersRealList.gethUsuarios(); Set<String> keySetUsers = usuariosReales.keySet(); arrayNombresUsuarios = new String[keySetUsers.size() + 1]; arrayNombresUsuarios[0] = ComboItemGraticuleListener.SIN_ASIGNAR; listaUsuariosPermisos = new ArrayList<Usuario>(); String userKey = null; Usuario usuario = null; int k = 1; for (Iterator iterator = keySetUsers.iterator(); iterator.hasNext(); ) { userKey = (String) iterator.next(); usuario = usuariosReales.get(userKey); arrayNombresUsuarios[k] = usuario.getName(); listaUsuariosPermisos.add(usuario); k++; } } catch (Exception e) { e.printStackTrace(); } JComboBox jcombo = null; ILayerViewPanel layerViewPanel = (ILayerViewPanel) context.getLayerViewPanel(); JLabel jLabelCelda = null; String cellIdStr = null; Map<Layer, HashSet<Feature>> visibleLayerToFeaturesInFenceMap = null; graticuleLayer.setVisible(false); // para quitar la cuadrícula de la intersección // añadimos el identificador de cada una al panel for (int i = 0; i < featList.size(); i++) { feature = (Feature) featList.get(i); visibleLayerToFeaturesInFenceMap = layerViewPanel.visibleLayerToFeaturesInFenceMap(feature.getGeometry()); cellId = (Integer) feature.getAttribute(GraticuleCreatorEngine.ATR_CELL_ID); auxPanel = new JPanel(); jLabelCelda = new JLabel( I18N.get( MobileAssignCellsPlugin.PluginMobileExtracti18n, MobilePluginI18NResource.MobileAssignCellsPanel02_celda) + cellId); jcombo = new JComboBox(arrayNombresUsuarios); cellIdStr = String.valueOf(cellId); jcombo.setName(cellIdStr); // celdas con features o sin ellas if (visibleLayerToFeaturesInFenceMap == null || visibleLayerToFeaturesInFenceMap.size() == 0) { jLabelCelda.setEnabled(false); jcombo.setEnabled(false); } else { jLabelCelda.setForeground(Color.RED); jcombo.addItemListener( new ComboItemGraticuleListener( layerViewPanel, graticuleLayer, feature, jLabelCelda, wizardContext)); jComboList.add(jcombo); } auxPanel.add(jLabelCelda); auxPanel.add(jcombo); jPaneCells.add(auxPanel); } graticuleLayer.setVisible(true); // seleccionamos los usuario asignados en los combos if (usuariosAsignados != null && usuariosAsignados.size() != 0) { for (int i = 0; i < jComboList.size(); i++) { jcombo = jComboList.get(i); cellIdStr = jcombo.getName(); if (usuariosAsignados.containsKey(cellIdStr)) { seleccionaUsuarioComboCelda(jcombo, usuariosAsignados.get(cellIdStr)); } } } jPaneInternal = new JScrollPane(); jPaneInternal.setViewportView(jPaneCells); jPaneInternal.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); } return jPaneInternal; }