示例#1
0
    def createH2Store(self):
        foldersManager = ToolsLocator.getFoldersManager()
        f = foldersManager.getUniqueTemporaryFile(
            "arena2_import.db").getAbsolutePath()
        pathnamedb = f[:-3]
        dataManager = DALLocator.getDataManager()
        serverParameters = dataManager.createServerExplorerParameters(
            "H2Spatial")
        serverParameters.setDynValue("database_file", pathnamedb)
        serverExplorer = dataManager.openServerExplorer(
            "H2Spatial", serverParameters)
        storeparams = serverExplorer.getAddParameters()
        storeparams.setTable("issues")
        eft = storeparams.getDefaultFeatureType()
        eft.setLabel("Incidencias importacion ARENA2")
        eft.setHasOID(False)
        eft.add("ID", 'STRING', 40).setHidden(True).setIsPrimaryKey(True)
        eft.add("SELECTED", "BOOLEAN").setLabel("Importar").getTags().set(
            "editable", True)
        eft.add("ID_ACCIDENTE", "STRING",
                20).setLabel("Cod.accidente").getTags().set("editable", False)
        eft.get("ID_ACCIDENTE").setIsIndexed(True)
        eft.get("ID_ACCIDENTE").setAllowIndexDuplicateds(True)
        eft.add("ERRCODE", "INTEGER").setAvailableValues(
            self.__buildAvailableValues()).setLabel("Cod.error").getTags().set(
                "editable", False)
        eft.add("DESCRIPTION", "STRING",
                1000).setLabel("Descripcion").getTags().set("editable", False)
        eft.add("FIXERID", "STRING",
                45).setHidden(True).setLabel("FixerID").getTags().set(
                    "editable", False)
        for attr in self.__importManager.getReportAttributes():
            if attr.getSize() == None:
                desc = eft.add(attr.getName(), attr.getTypeName())
            else:
                desc = eft.add(attr.getName(), attr.getTypeName(),
                               attr.getSize())
            desc.setAvailableValues(attr.getAvailableValues())
            desc.getTags().set("editable", attr.isEditable())
            desc.setLabel(attr.getLabel())
            #trace("Create ISSUES store: %s, size=%s, label=%r, editable=%s, values=%s" % (attr.getName(), attr.getSize(), attr.getLabel(), attr.isEditable(), attr.getAvailableValues()))

        serverExplorer.add("H2Spatial", storeparams, False)
        store = dataManager.openStore("H2Spatial",
                                      serverExplorer.get("issues"))
        self.__ftype = store.getDefaultFeatureType()
        self.__issues_list = None
        serverExplorer.dispose()
        return store
 def end(self):
     if self._script == None:
         return
     folderManager = ToolsLocator.getFoldersManager()
     folderManager.createTemporaryFolder()
     t = time.time()
     script = self._script.getvalue()
     scriptFileName = folderManager.createTemporaryFile(
         "rtest-%08x.r" % t, script)
     self._child = subprocess.Popen(
         [self.getRExecPathname(), "-f",
          scriptFileName.getAbsolutePath()],
         stdout=subprocess.PIPE,
         stderr=subprocess.PIPE)
     for i in self._child.stdout:
         self.console_output(i)
     self._child = None
     rlib_base.REngine_base.end(self)