For tips on how to do this see: http://sourceforge.net/apps/mediawiki/jump-pilot/index.php?title=Extending_a_FeatureCollection_by_Adding_new_Attributes
On Wed, Jun 2, 2010 at 9:17 AM, Larry Becker <becker.la...@gmail.com> wrote: > 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