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

Reply via email to