Hi Caroline, You seem to be making progress on your project. Your current problem is that when you alter a schema it only affects new features. You need to replace the old schema in each feature with the new one before copying attributes.
regards, Larry 2010/6/2 Caroline Julliê Freitas Ribeiro <krolj...@gmail.com> > I tried to put a new attribute to a old Feature, I altered the Schema but > looks like the size of the array whete stay the data of the Feature is not > actualized. > > I got the following Stack trace: > > java.lang.ArrayIndexOutOfBoundsException: 3 > at > com.vividsolutions.jump.feature.BasicFeature.getAttribute(BasicFeature.java:82) > at > com.vividsolutions.jump.workbench.ui.LayerTableModel$4.getValue(LayerTableModel.java:170) > at > com.vividsolutions.jump.workbench.ui.LayerTableModel$MyColumn.getValueAt(LayerTableModel.java:75) > at > com.vividsolutions.jump.workbench.ui.ColumnBasedTableModel.getValueAt(ColumnBasedTableModel.java:141) > at > com.vividsolutions.jump.workbench.ui.GUIUtil.chooseGoodColumnWidths(GUIUtil.java:408) > at > com.vividsolutions.jump.workbench.ui.AttributeTablePanel.initColumnWidths(AttributeTablePanel.java:415) > at > com.vividsolutions.jump.workbench.ui.AttributeTablePanel.<init>(AttributeTablePanel.java:307) > at > com.vividsolutions.jump.workbench.ui.AttributePanel.addTablePanel(AttributePanel.java:154) > at > com.vividsolutions.jump.workbench.ui.AttributePanel.layerAdded(AttributePanel.java:136) > at > com.vividsolutions.jump.workbench.ui.AttributeTab$5.layerAdded(AttributeTab.java:143) > at > com.vividsolutions.jump.workbench.ui.InfoModel.add(InfoModel.java:88) > at > com.vividsolutions.jump.workbench.ui.cursortool.FeatureInfoTool.gestureFinished(FeatureInfoTool.java:81) > at > com.vividsolutions.jump.workbench.ui.cursortool.AbstractCursorTool.fireGestureFinished(AbstractCursorTool.java:446) > at > com.vividsolutions.jump.workbench.ui.cursortool.SpecifyFeaturesTool.mouseClicked(SpecifyFeaturesTool.java:95) > at > com.vividsolutions.jump.workbench.ui.cursortool.LeftClickFilter.mouseClicked(LeftClickFilter.java:81) > at > com.vividsolutions.jump.workbench.ui.cursortool.DelegatingTool.mouseClicked(DelegatingTool.java:97) > at > java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:253) > at java.awt.Component.processMouseEvent(Component.java:6266) > at javax.swing.JComponent.processMouseEvent(JComponent.java:3255) > at java.awt.Component.processEvent(Component.java:6028) > at java.awt.Container.processEvent(Container.java:2041) > at java.awt.Component.dispatchEventImpl(Component.java:4630) > at java.awt.Container.dispatchEventImpl(Container.java:2099) > at java.awt.Component.dispatchEvent(Component.java:4460) > at > java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574) > at > java.awt.LightweightDispatcher.processMouseEvent(Container.java:4247) > at > java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168) > at java.awt.Container.dispatchEventImpl(Container.java:2085) > at java.awt.Window.dispatchEventImpl(Window.java:2475) > at java.awt.Component.dispatchEvent(Component.java:4460) > at java.awt.EventQueue.dispatchEvent(EventQueue.java:599) > at > java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) > at > java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) > at > java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) > at > java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) > at > java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) > at java.awt.EventDispatchThread.run(EventDispatchThread.java:122) > > This is the code where I got the problem: > > Layer l = (Layer)cboLayers.getSelectedItem(); > FeatureCollectionWrapper col = l.getFeatureCollectionWrapper(); > FeatureSchema schema = col.getFeatureSchema(); > instalEsquema(schema,rs); > List lista =col.getFeatures(); > while (rs.next()){ > for(Object o: lista){ > Feature f = (Feature) o; > Feature fNew; > String att = > f.getAttribute(cboAtributos.getSelectedItem().toString()).toString(); > if (att.equals(rs.getString(txtCampo.getText()))){ > for(int i > =nroAtributosAntes;i<schema.getAttributeCount();i++){ > f.setAttribute(i, > rs.getString(schema.getAttributeName(i))); //Here is the problem > } > } > } > } > > private void instalEsquema(FeatureSchema schema, ResultSet rs) throws > SQLException { > //Here everything works fine.... > nroAtributosAntes = schema.getAttributeCount(); > ResultSetMetaData meta = rs.getMetaData(); > for(int i =1;i<=meta.getColumnCount();i++){ > schema.addAttribute(meta.getColumnLabel(i), > AttributeType.STRING); > } > } > > > Thanks > > -- > Caroline Julliê de Freitas Ribeiro > Graduando em Análise e Desenvolvimento de Sistemas > > Instituto Federal Minas Gerais - IFMG > Campus Bambuí > > > ------------------------------------------------------------------------------ > > > _______________________________________________ > Jump-pilot-devel mailing list > Jump-pilot-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel > >
------------------------------------------------------------------------------
_______________________________________________ Jump-pilot-devel mailing list Jump-pilot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel