gvSIG bugs #4525

Updated by Joaquín del Cerro Murciano almost 9 years ago

Salta al intentar crear una tabla DBF.

El script incluye la parte de las librerías de scripting que utiliza:
<pre>


# encoding: utf-8

import os
import time
import sys
import StringIO
import random

from java.util.prefs import Preferences
from java.awt import Color
from java.io import File
from java.lang import Throwable, RuntimeException

from org.gvsig.app import ApplicationLocator
from org.gvsig.fmap.dal.feature import FeatureType
from org.gvsig.fmap.mapcontext import MapContextLocator
from org.gvsig.andami import Utilities
from org.gvsig.fmap.crs import CRSFactory
from org.gvsig.app.project.documents.table import TableManager
from org.gvsig.fmap.geom import Geometry
from org.gvsig.app.project.documents.view import DefaultViewDocument
from org.gvsig.scripting.app.extension import ScriptingExtension

LOGGER_INFO=ScriptingExtension.INFO
LOGGER_WARN=ScriptingExtension.WARN
LOGGER_ERROR=ScriptingExtension.ERROR

import gvsig

def copyToDynObject(values, target):
keys = values.keys()
definition = target.getDynClass();
fields = definition.getDynFields();
for field in fields:
name = field.getName()
for k in keys:
if k.lower() == name.lower():
value = values[k]
target.setDynValue(name, value)
print "dyncopy:", name, value
break

def createTable_1(schema, servertype, tableType=None, **parameters):
"""Creates a new Table document"""
if tableType == None:
tableType = servertype
servertype = "FilesystemExplorer"
application = ApplicationLocator.getManager()
datamanager = application.getDataManager()

server_parameters = datamanager.createServerExplorerParameters(servertype)
copyToDynObject(parameters, server_parameters)
server = datamanager.openServerExplorer(servertype, server_parameters)

store_parameters = server.getAddParameters(tableType)
copyToDynObject(parameters, store_parameters)
store_parameters.setDefaultFeatureType(schema())

server.add(tableType, store_parameters, True)

store = datamanager.openStore(tableType, store_parameters)
return store

def main(*args):
sch = gvsig.createFeatureType()
sch.append('ID','STRING',15)
sch.append('COUNT','INTEGER',20)
filename = gvsig.getTempFile("tabla", ".dbf")
# gvsig.createTable(...)
tabla = createTable_1(
sch,
"FilesystemExplorer",
"DBF",
DbfFile=filename
)
gvsig.loadDBF(filename)
return
</pre>


Consola:
<pre>
org.gvsig.fmap.dal.exception.ValidateDataParametersException: org.gvsig.fmap.dal.exception.ValidateDataParametersException: Checks parameters in <script> at line number 70org.gvsig.scripting.ExecuteErrorException: org.gvsig.fmap.dal.exception.ValidateDataParametersException: org.gvsig.fmap.dal.exception.ValidateDataParametersException: Checks parameters in <script> at line number 70
at org.gvsig.scripting.impl.DefaultScriptingScript.invokeFunction(DefaultScriptingScript.java:550)
at org.gvsig.scripting.impl.DefaultScriptingScript.run(DefaultScriptingScript.java:520)
at org.gvsig.scripting.impl.DefaultScriptingScript$ScriptTask.run(DefaultScriptingScript.java:664)
Caused by: javax.script.ScriptException: org.gvsig.fmap.dal.exception.ValidateDataParametersException: org.gvsig.fmap.dal.exception.ValidateDataParametersException: Checks parameters in <script> at line number 70
at org.python.jsr223.MyPyScriptEngine.scriptException(MyPyScriptEngine.java:209)
at org.python.jsr223.MyPyScriptEngine.invokeFunction(MyPyScriptEngine.java:138)
at org.gvsig.scripting.impl.DefaultScriptingScript.invokeFunction(DefaultScriptingScript.java:532)
... 2 more
Caused by: Traceback (most recent call last):
File "<script>", line 70, in main
File "<script>", line 53, in createTable_1
at org.gvsig.fmap.dal.impl.DefaultDataManager.openServerExplorer(DefaultDataManager.java:320)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

org.gvsig.fmap.dal.exception.ValidateDataParametersException: org.gvsig.fmap.dal.exception.ValidateDataParametersException: Checks parameters
</pre>

Back