That's how the sentences supposed to look like.

-> ...with Eclipse (using the amazing Groovy-Eclipse Plugin). NetBeans and
IntelliJ IDEA also support Groovy. ...

2010/6/3 Benjamin Gudehus <hasteb...@googlemail.com>

>
> 2010/6/3 Larry Becker <becker.la...@gmail.com>
>
> Hi Benjamin,
>>
>>   Are you running Groovy from within OJ as we do BeanScript and Jython, or
>> are you importing the OJ classes to create Groovy programs?
>>
>
> I use Groovy the same way as you use Java (importing the OJ classes).
>
> I put groovy-all-1.7.0.jar (ca. 5 MB) into OpenJUMP's /lib directory and
> develop OJ plugins with Eclipse (using the amazing Groovy-Eclipse Plugin,
> NetBeans and IntelliJ IDEA). You can use Java classes in Groovy classes and
> vice versa (Groovy files are compiled into .class files). Thus you can even
> use Groovy classes from the BeanShell or Jython.
>
> Since my two classes (mentioned previously) require Groovy Closures as
> method parameters, it is necessary to call their methods within a groovy
> file (these two classes are special cases).
>
> Here is a HelloWorldPlugIn in Groovy:
>
> <pre>
> import com.vividsolutions.jump.workbench.plugin.AbstractPlugIn
> import com.vividsolutions.jump.workbench.plugin.PlugInContext
> import com.vividsolutions.jump.workbench.ui.plugin.FeatureInstaller
>
> class HelloWorldPlugIn extends AbstractPlugIn {
>
>     void initialize(PlugInContext pluginContext) {}
>
>     boolean execute(PlugInContext pluginContext) {
>         def pluginPath =
> pluginContext.getWorkbenchContext().getWorkbench().
>             getPlugInManager().getPlugInDirectory().getAbsolutePath()
>
>         def htmlFrame = pluginContext.getWorkbenchFrame().getOutputFrame()
>         htmlFrame.setTitle("Hello, World!")
>         htmlFrame.createNewDocument()
>         htmlFrame.addText("Hello, World!")
>         htmlFrame.addText(pluginPath.toString())
>         htmlFrame.surface()
>
>         return true
>     }
>
> }
> </pre>
>
> Another funny thing is, you can copy your Java code into a Groovy file and
> it compiles.
>
> --Benjamin
>
>
>>
>> Larry
>>
>>
>> On Wed, Jun 2, 2010 at 9:43 AM, Benjamin Gudehus <
>> hasteb...@googlemail.com> wrote:
>>
>>> Hi!
>>>
>>> I wrote a FeatureCollectionBuilder and a FeatureCollectionSchemaEditor
>>> for that in Groovy using the Builder design pattern (
>>> http://groovy.codehaus.org/Builders).
>>>
>>> Look at this example code (from the unit tests). You can add and remove
>>> Attributes to the FeatureSchema.
>>>
>>> <pre>
>>> private featureCollection
>>>
>>> def setup() {
>>>     this.featureCollection = new FeatureCollectionBuilder().build {
>>>         schema {
>>>             attribute("id", AttributeType.INTEGER)
>>>             attribute("name", AttributeType.STRING)
>>>         }
>>>         features {
>>>             feature(id: 1, name: "foo")
>>>             feature(id: 2, name: "bar")
>>>             feature(id: 3, name: "baz")
>>>             feature(id: 4, name: "quux")
>>>         }
>>>     }
>>> }
>>>
>>> def "Add an attribute to the FeatureSchema"() {
>>>     when:
>>>     def collectionEditor = new
>>> FeatureCollectionSchemaEditor(this.featureCollection)
>>>     collectionEditor.modifySchema {
>>>         addSchemaAttribute("street", AttributeType.STRING)
>>>     }
>>>
>>>     then:
>>>     def newFeatureSchema =
>>> collectionEditor.getFeatureCollection().getFeatureSchema()
>>>     collectionEditor.getAttributeNames(newFeatureSchema) == ["id",
>>> "name", "street"]
>>> }
>>> </pre>
>>>
>>> If somebody wants to use it, I can upload the sourcecode (but it depends
>>> on the groovy jar).
>>>
>>> 2010/6/2 Larry Becker <becker.la...@gmail.com>
>>>
>>> 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
>>>>
>>>>
>>>
>>>
>>> ------------------------------------------------------------------------------
>>>
>>>
>>> _______________________________________________
>>> Jump-pilot-devel mailing list
>>> Jump-pilot-devel@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>>>
>>>
>>
>>
>> ------------------------------------------------------------------------------
>> ThinkGeek and WIRED's GeekDad team up for the Ultimate
>> GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
>> lucky parental unit.  See the prize list and enter to win:
>> http://p.sf.net/sfu/thinkgeek-promo
>>
>> _______________________________________________
>> Jump-pilot-devel mailing list
>> Jump-pilot-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>>
>>
>
------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

Reply via email to