Merge pull request #1 from OpenRefine/master

Update repo
This commit is contained in:
Bhanu Gupta 2019-12-21 05:07:45 +05:30 committed by GitHub
commit 3911636f0d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 92 additions and 43 deletions

View File

@ -61,7 +61,7 @@ public class WbQuantityExpr implements WbExpression<QuantityValue> {
@Override
public QuantityValue evaluate(ExpressionContext ctxt)
throws SkipSchemaExpressionException {
StringValue amount = getLanguageExpr().evaluate(ctxt);
StringValue amount = getAmountExpr().evaluate(ctxt);
// we know the amount is nonnull, nonempty here
BigDecimal parsedAmount = null;
@ -99,7 +99,7 @@ public class WbQuantityExpr implements WbExpression<QuantityValue> {
}
@JsonProperty("amount")
public WbExpression<? extends StringValue> getLanguageExpr() {
public WbExpression<? extends StringValue> getAmountExpr() {
return amountExpr;
}

View File

@ -59,7 +59,7 @@ public class WbStringVariable extends WbVariableExpr<StringValue> {
if (!cell.value.toString().isEmpty()) {
String stringValue = cell.value.toString();
if (cell.value instanceof Double && ((Double)cell.value) % 1 == 0) {
stringValue = Integer.toString(((Double)cell.value).intValue());
stringValue = Long.toString(((Double)cell.value).longValue());
}
return Datamodel.makeStringValue(stringValue.trim());
}

View File

@ -47,6 +47,12 @@ public class WbQuantityExprTest extends WbExpressionTest<QuantityValue> {
evaluatesTo(Datamodel.makeQuantityValue(new BigDecimal("4.00"), null, null, "1"), exprWithoutUnit);
}
@Test
public void testOverflow() {
setRow(14341937500d);
evaluatesTo(Datamodel.makeQuantityValue(new BigDecimal("14341937500"), null, null, "1"), exprWithoutUnit);
}
@Test
public void testInvalidAmountWithoutUnit() {
setRow("hello");

View File

@ -70,6 +70,22 @@ public class WbStringVariableTest extends WbVariableTest<StringValue> {
evaluatesTo(Datamodel.makeStringValue("45"), new Cell(45.0,null));
}
/**
* Test that large doubles are correctly converted to strings
*/
@Test
public void testLargeDouble() {
evaluatesTo(Datamodel.makeStringValue("14341937500"), new Cell(14341937500d, null));
}
/**
* Test that large doubles are correctly converted to strings
*/
@Test
public void testLong() {
evaluatesTo(Datamodel.makeStringValue("14341937500"), new Cell(14341937500L, null));
}
@Test
public void testLeadingWhitespace() {

View File

@ -359,9 +359,9 @@
<version>4.1.0</version> <!-- in classpath: 3.13-20150929 -->
</dependency>
<dependency>
<groupId>org.apache.odftoolkit</groupId>
<groupId>org.odftoolkit</groupId>
<artifactId>odfdom-java</artifactId>
<version>0.8.8-incubating</version> <!-- in classpath: 0.8.7 -->
<version>0.9.0-RC1</version>
</dependency>
<dependency>
<groupId>edu.mit.simile</groupId>

View File

@ -146,7 +146,7 @@ public class SqlCreateBuilder {
StringBuffer sql = new StringBuffer();
boolean includeDrop = JSONUtilities.getBoolean(options, "includeDropStatement", false);
boolean addIfExist = options == null ? false : JSONUtilities.getBoolean(options, "includeIfExistWithDropStatement", true);
boolean addIfExist = JSONUtilities.getBoolean(options, "includeIfExistWithDropStatement", true);
if (includeDrop) {
if(addIfExist) {
sql.append("DROP TABLE IF EXISTS " + table + ";\n");

View File

@ -17,11 +17,11 @@
"core-index/sample-data": "dados de exemplos",
"core-index/description": "Descrição:",
"core-index/try-these": "Se você não tem dados para trabalhar experimente estes",
"core-index/customMetadata": "Metadado personalizado (JSON):",
"core-index/customMetadata": "Metadados personalizados (JSON):",
"core-index/add-pref": "Adicionar preferência",
"core-index/rowCount": "Número de linhas:",
"core-index/key": "Chave",
"core-index/new-version": "Nova versão!",
"core-index/new-version": "Nova versão",
"core-index/now": "agora",
"core-index/change-value": "Alterar valor da chave de preferência",
"core-index/about": "Sobre",
@ -33,7 +33,7 @@
"core-index/modified": "Última modificação:",
"core-index/value": "Valor",
"core-index/delete": "Excluir",
"core-index-create/almost-done": "quase pronto...",
"core-index-create/almost-done": "quase pronto",
"core-index-create/min-remaining": "minutos restantes",
"core-index-create/create-proj": "Criar projeto",
"core-index-create/from": "Obter dados a partir de",
@ -53,18 +53,18 @@
"core-index-import/optional-separated": "opcional, separados por vírgulas",
"core-index-import/parsing-options": "Configurar opções de análise",
"core-index-import/file": "Arquivo do projeto:",
"core-index-import/uploading-pasted-data": "Carregando dados introduzidos...",
"core-index-import/uploading-pasted-data": "Carregando dados colados…",
"core-index-import/warning-clipboard": "Você deve introduzir algum dados para importar.",
"core-index-import/warning-record-path": "Por favor, primeiro especifique um caminho para gravar.",
"core-index-import/several-file": "Há muitos arquivos disponíveis. Por favor, selecione os que deseja importar.",
"core-index-import/warning-data-file": "Você deve selecionar um arquivo com dados para importar.",
"core-index-import/web-address": "Endereços web (URLs)",
"core-index-import/updating-preview": "Atualizando pré visualização...",
"core-index-import/updating-preview": "Atualizando pré-visualização…",
"core-index-import/errors": "Erros:",
"core-index-import/project-tags": "Tags",
"core-index-import/column-widths": "Largura das colunas:",
"core-index-import/clipboard": "Área de transferência",
"core-index-import/inspecting": "Analisando arquivos selecionados...",
"core-index-import/inspecting": "Analisando arquivos selecionados",
"core-index-import/import": "Importar?",
"core-index-import/size": "Tamanho",
"core-index-import/warning-web-address": "Você deve especificar um endereço web (URL) para importar.",
@ -73,22 +73,22 @@
"core-index-import/locate-files": "Localizar um ou mais arquivos em seu computador para carregar:",
"core-index-import/format": "Formato",
"core-index-import/column-names": "Nome das colunas:",
"core-index-import/uploading-data": "Carregando dados...",
"core-index-import/uploading-data": "Carregando dados",
"core-index-import/clipboard-label": "Cole dados da sua área de transferência aqui:",
"core-index-import/this-computer": "Este computador",
"core-index-import/enter-url": "Digite um ou mais endereços web (URLs) para o download de seus dados:",
"core-index-import/pick-nodes": "Selecione os nós para carregar",
"core-index-import/sel-by-regex": "Selecionar por Regex nos nomes dos arquivos",
"core-index-import/name": "Nome",
"core-index-import/inspecting-files": "Analizando<br/>arquivos selecionados ...",
"core-index-import/inspecting-files": "Analizando<br/>arquivos selecionados",
"core-index-import/data-package": "Pacote de Dados (JSON URL)",
"core-index-import/char-encoding": "Codificação&nbsp;dos&nbsp;caracteres",
"core-index-import/mime-type": "Mime-type",
"core-index-import/creating-proj": "Criando projeto...",
"core-index-import/mime-type": "Tipo de mídia",
"core-index-import/creating-proj": "Criando projeto",
"core-index-import/comma-separated": "números separados por vírgula",
"core-index-import/error": "Erro:",
"core-index-import/locate": "Localizar um arquivo de projeto Refine existente (.tar or .tar.gz):",
"core-index-import/downloading-data": "Baixando dados...",
"core-index-import/locate": "Localizar um arquivo de projeto Refine existente (.tar ou .tar.gz ou .zip):",
"core-index-import/downloading-data": "Baixando dados",
"core-index-import/parse-as": "Interpretar dados como",
"core-index-import/unknown-err": "Erro desconhecido",
"core-index-open/rename": "Renomear",
@ -116,7 +116,7 @@
"core-index-lang/send-req": "Alterar idioma",
"core-index-lang/page-reload": "A página será atualizada para aplicar as mudanças.",
"core-index-lang/lang-settings": "Idioma",
"core-index-parser/parse-cell": "Analisar texto das células<br/>como número, datas, ...",
"core-index-parser/parse-cell": "Analisar texto das células<br/>como número, datas, ",
"core-index-parser/trim": "Cortar espaços no início e no final dos textos das células",
"core-index-parser/parse-next": "Analisar próximo",
"core-index-parser/commas": "vírgulas (CSV)",
@ -129,7 +129,7 @@
"core-index-parser/quote-delimits-cells": "encerrar células contendo separadores de coluna",
"core-index-parser/store-nulls": "Carregar células em branco como nulas",
"core-index-parser/lines-into-row": "linhas em uma linha",
"core-index-parser/custom": "outro",
"core-index-parser/custom": "outro:",
"core-index-parser/include-raw-templates": "Incluir modelos e imagens como código wikicode puro",
"core-index-parser/quotation-mark": "Marcas de citação são usadas<br/>para agrupar células que contenham<br/>separadores de colunas",
"core-index-parser/invalid-wikitext": "Nenhuma tabela para ser analisada. Você tem certeza que é uma tabela wiki válida?",
@ -172,7 +172,7 @@
"clustering-keyers/cologne-phonetic": "cologne-phonetic",
"core-dialogs/found": "encontrado",
"core-dialogs/starred": "Com estrela",
"core-dialogs/find-more": "Mais informações...",
"core-dialogs/find-more": "Mais informações",
"core-dialogs/ngram-size": "Tamanho&nbsp;do&nbsp;Ngram&nbsp;",
"core-dialogs/warning-check-boxes": "Você deve selecionar ao menos um checkbox Editar? para que suas alterações sejam aplicadas.",
"core-dialogs/no-column-dataset": "Não há colunas na base de dados",
@ -188,7 +188,7 @@
"core-dialogs/cells-of-row": "As células da linha atual. Este é um atalho para 'row.cells'. Uma célula em particular pode ser recuperada com 'cells. <Column name>' se o <column name> for uma única palavra, ou com 'cells [\"<column name>\"] caso contrário.",
"core-dialogs/method": "Método&nbsp;",
"core-dialogs/ngram-radius": "Raio&nbsp;",
"core-dialogs/processing": "Processando...",
"core-dialogs/processing": "Processando",
"core-dialogs/row-index": "O índice da linha atual. É um atalho para 'row.index'.",
"core-dialogs/ignore-facets": "Exportar todas as linhas ignorando facetas e filtros",
"core-dialogs/cluster-edit": "Agrupar e editar coluna",
@ -213,7 +213,7 @@
"clustering-distances/PPM": "PPM",
"core-dialogs/cell-value": "O valor atual da célula. É um atalho para 'cell.value'.",
"core-dialogs/custom": "Personalizado",
"core-dialogs/clustering": "Agrupando... ",
"core-dialogs/clustering": "Agrupando",
"core-dialogs/out-empty-row": "Incluir linhas vazias (todas as células nulas)",
"core-dialogs/from": "De",
"core-dialogs/export-to-local": "Exportar para",
@ -229,7 +229,7 @@
"core-dialogs/browse-only-these": "Analisar somente estes valores",
"core-dialogs/error-getColumnInfo": "Erro ao chamar 'get-columns-info'",
"core-dialogs/logarithmic-plot": "Gráfico logarítmico",
"core-dialogs/updating": "Atualizando...",
"core-dialogs/updating": "Atualizando",
"core-dialogs/language": "Idioma",
"core-dialogs/linear-plot": "Gráfico linear",
"core-dialogs/excel-xml": "Excel em XML (.xlsx)",
@ -256,7 +256,7 @@
"core-dialogs/template-prefix": "Prefixo",
"core-dialogs/nearest-neighbor": "vizinho mais próximo",
"core-dialogs/cell-fields": "A célula atual. Ela tem alguns campos: 'valor' e 'reconhecer'.",
"core-dialogs/idling": "Aguarde...",
"core-dialogs/idling": "Aguarde",
"core-dialogs/local-time": "Usar fuso horário local",
"clustering-keyers/metaphone3": "metaphone3",
"core-dialogs/key-collision": "colisão de chaves",
@ -273,7 +273,7 @@
"core-facets/current-exp": "Expressão atual",
"core-facets/blank": "Em branco",
"core-facets/edit-facet-exp": "Editar expressão da faceta",
"core-facets/loading": "Carregando...",
"core-facets/loading": "Carregando",
"core-facets/unknown-error": "Erro desconhecido",
"core-facets/invert": "inverter",
"core-facets/logar-plot-abbr": "log",
@ -307,10 +307,10 @@
"core-project/help": "Ajuda",
"core-project/cancel-all": "Cancelar tudo",
"core-project/facet-filter": "Faceta / Filtro",
"core-project/canceling": "Cancelando...",
"core-project/canceling": "Cancelando",
"core-project/continue-remaining": "Continuar com as operações restantes",
"core-project/html-table": "Tabela HTML",
"core-project/templating": "Criando modelo...",
"core-project/templating": "Criando modelo",
"core-project/mistakes": "Não se preocupe em cometer erros. Toda mudança que você fizer será mostrada aqui e você pode reverter as mudanças a qualquer momento.",
"core-project/export": "Exportar",
"core-project/extract-save": "Extrair e salvar partes do seu histórico de operações como JSON para que você possa aplicar a este ou outros projetos no futuro.",
@ -318,7 +318,7 @@
"core-project/apply": "Aplicar&hellip;",
"core-project/open": "Abrir",
"core-project/odf": "Planilha ODF",
"core-project/refreshing-facet": "Atualizando facetas...",
"core-project/refreshing-facet": "Atualizando facetas",
"core-project/comma-sep": "Valores separados por vírgula",
"core-project/tab-value": "Valor separado por tab",
"core-project/clear-selection": "Limpar todas as facetas",
@ -335,7 +335,7 @@
"core-project/remove-all": "Remover todas as facetas",
"core-project/complete": "completo",
"core-project/undo": "Desfazer",
"core-project/warning-align": "Não foi realizado nenhum esquema de alinhamento ainda\npor isso não há outra tripla para exportar.\n\nUse o comando Freebase > Editar Esquema de alinhamento \npara alinhar seus dados com o esquema da Freebase",
"core-project/warning-align": "Não foi realizado nenhum esquema de alinhamento ainda,\npor isso não há nenhuma tripla para exportar.\n\nUse o comando Freebase > Editar Esquema de alinhamento \npara alinhar seus dados com o esquema da Freebase.",
"core-project/use-to-select": "Use facetas e filtros para selecionar subconjuntos de dados que você deseja aplicar as alterações. Escolha os métodos de faceta e filtro nos menus na parte superior de cada uma das colunas.",
"core-project/not-sure": "Não sabe como começar?",
"core-project/permalink": "Permalink",
@ -344,7 +344,7 @@
"core-project/other-processes": "outros processos pendentes",
"core-project/project-data-package": "Pacote de dados do projeto",
"core-project/excel-xml": "Excel 2007+ (.xlsx)",
"core-project/custom-tabular": "Exportar tabela personalizada...",
"core-project/custom-tabular": "Exportar tabela personalizada",
"core-project/filter": "Filtrar:",
"core-project/extensions": "Extensões",
"core-project/starting": "Iniciando",
@ -398,12 +398,12 @@
"core-views/join-cells": "Unir células com múltiplos valores",
"core-views/actions": "Ações",
"core-views/search-match": "Buscar uma correspondência",
"core-views/filtered-cell": "Match all filtered cells to...",
"core-views/filtered-cell": "Corresponder todas as células filtradas para…",
"core-views/bounded-log-facet": "Faceta numérica logarítmica de limite 1",
"core-views/remove-col": "Remover esta coluna",
"core-views/new-topic2": "Marque para criar um novo item para cada célula nesta coluna para todas as linhas filtradas atuais.",
"core-views/check-format": "Por favor, verifique o formato do arquivo.",
"core-views/remove-matching": "Remover todas as linhas que corresponderam",
"core-views/remove-matching": "Remover as linhas que corresponderam",
"core-views/configure-prop": "configurar",
"core-views/url-fetch": "Formulate the URLs to fetch:",
"core-views/previous": "anterior",
@ -417,7 +417,7 @@
"core-views/add-based-col": "Adicionar coluna baseada nesta coluna",
"core-views/rename-col": "Renomear esta coluna",
"core-views/facet-empty-string": "Faceta por cadeia vazia",
"core-views/by-judg": "By judgment",
"core-views/by-judg": "Por julgamento",
"core-views/contain-val": "(contendo os valores originais das células)",
"core-views/hide": "Esconder",
"core-views/columnize-col": "Criar colunas a partir de colunas chave/valor",
@ -446,7 +446,7 @@
"core-views/flag-rows": "Marcar linhas com bandeiras",
"core-views/after-split": "Depois de dividir",
"core-views/one-col": "Uma coluna",
"core-views/best-name": "Best candidate's name match",
"core-views/best-name": "Melhor correspondência de nome de candidato",
"core-views/collapse-expand": "Contrair/expandir colunas para tornar a visualização mais agradável",
"core-views/val-col": "Coluna valor",
"core-views/uppercase": "Para maiúsculo",
@ -454,7 +454,7 @@
"core-views/re-trans": "Retransformar",
"core-views/discard-judg": "Descartar a análise de reconciliação",
"core-views/blank-out": "Definir células para nulo",
"core-views/best-cand-type-match": "best candidate's types match?",
"core-views/best-cand-type-match": "melhor correspondência de tipo de candidato?",
"core-views/sort-by-col": "ordenar somente esta coluna",
"core-views/enter-col-name": "Digite um nome para a nova coluna",
"core-views/text-facet": "Faceta de texto",
@ -529,7 +529,7 @@
"core-views/create-topic-cell": "Criar um novo item para esta célula",
"core-views/boolean": "boolean",
"core-views/to-be-recon": "reconciliação pendente",
"core-views/copy-recon": "Copiar dados de reconciliação...",
"core-views/copy-recon": "Copiar dados de reconciliação",
"core-views/judg-hist": "Judgment action timestamp",
"core-views/judg-actions": "Judgment action type",
"core-views/new-col-name": "Nome da nova coluna",
@ -587,7 +587,7 @@
"core-views/facet-error": "Faceta por erro",
"core-views/unescape-html": "Não escapar entidades HTML",
"core-views/trim-all": "Remover espaços em branco ao redor do texto",
"core-views/best-type-match": "Best candidate's type match",
"core-views/best-type-match": "Melhor correspondência de tipo de candidato",
"core-views/facet": "Faceta",
"core-views/key-col": "Coluna chave",
"core-views/display-null": "Mostrar/Esconder variáveis com valores nulos.",
@ -600,7 +600,7 @@
"core-views/best-cand-score": "melhor score dos candidatos",
"core-views/sel-col-val": "Por favor, selecione uma coluna chave e outra coluna valor, uma diferente da outra.",
"core-views/blank-out-empty": "Para limpar o texto (String)",
"core-views/reconcile-tooltip": "Match this column's cells to items from external databases",
"core-views/reconcile-tooltip": "Corresponder as células desta coluna aos itens de bancos de dados externos",
"core-views/split-cells": "Dividir células com múltiplos valores",
"core-views/titlecase": "Maiúsculas nas primeiras letras",
"core-views/milli": "milissegundos",
@ -610,7 +610,7 @@
"core-views/sort-by": "Ordenar por",
"core-views/ignore-blank": "Ignorar células vazias",
"core-views/transp-cell": "Transpor células de colunas para linhas",
"core-views/best-cand-name": "best candidate's name match?",
"core-views/best-cand-name": "melhor correspondência de nome de candidato?",
"core-views/blanks": "Vazios",
"core-views/copy-to-col": "Copiar para colunas",
"core-views/how-split": "Como dividir a coluna",
@ -696,17 +696,44 @@
"core-dialogs/sqlExporterIgnoreFacets": "Ignorar facetas e filtros e exportar todas as linhas",
"core-dialogs/for-include-if-exist-drop-stmt-checkbox": "Incluir 'IF EXISTS' na declaração DROP",
"core-dialogs/for-null-cell-value-to-empty-str-label": "Converter valor null para NULL em INSERT",
"core-project/sql-export": "Exportador SQL...",
"core-project/sql-export": "Exportador SQL",
"core-views/replace": "Substituir",
"core-views/text-to-find": "Buscar:",
"core-views/replacement-text": "Substituir por:",
"core-views/whole-word": "palavra inteira",
"core-views/finding-info2": "Verificar \"expressão regular\" para encontrar caracteres especiais (novas linhas, tabulações...) ou padrões complexos.",
"core-views/replacement-info": "Se a opção \"expressão regular\" estiver marcada e o padrão de busca conter grupos delimitados com parênteses, $0 retornará a string completa coincidindo com o padrão e $1, $2... o primeiro, segundo... grupo.",
"core-views/replacement-info": "Se a opção \"expressão regular\" estiver marcada e o padrão de busca conter grupos delimitados por parênteses, $0 retornará o texto completo coincidindo com o padrão, e $1, $2... o primeiro, segundo... grupo.",
"core-views/replace-dont-escape": "use \\n para novas linhas, \\t para tabulação, \\\\n para \\n, \\\\t para \\t.",
"core-views/warning-regex": "Expressão regular inválida.",
"core-views/use-values-as-identifiers": "Usar valores como identificadores",
"core-views/use-values-as-identifiers2": "Marcar células como reconciliadas com seus valores como identificadores",
"core-views/choose-reconciliation-service": "Escolher um serviço de reconciliação",
"core-views/choose-reconciliation-service-alert": "Por favor, escolha um serviço de reconciliação primeiro."
"core-views/choose-reconciliation-service-alert": "Por favor, escolha um serviço de reconciliação primeiro.",
"core-dialogs/sqlExporterOutputEmptyRows": "Linha vazia como saída (i.e. todas as células nulas)",
"core-views/case-insensitive": "sensível à capitalização",
"core-views/finding-info1": "Deixe em branco para adicionar o texto de substituição após cada caractere.",
"core-views/replace-smartquotes": "Substituir aspas inteligentes por ascii",
"core-recon/add-std-srv": "Adicionar serviço padrão",
"core-views/blank-rows": "Linhas vazias",
"core-views/non-blank-values": "Valores não vazios por coluna",
"core-views/non-blank-records": "Registros não vazios por coluna",
"core-index/tags": "Etiquetas:",
"core-index/title": "Título:",
"core-index/license": "Licença:",
"core-index/homepage": "Página inicial:",
"core-index/image": "Imagem:",
"core-dialogs/record-fields": "uma ou mais linhas mescladas para formar um registro; O objeto possui mais campos, detalhes em https://github.com/OpenRefine/OpenRefine/wiki/Variables#record",
"core-views/join-col": "Mesclar colunas",
"core-views/column-join": "Mesclar colunas",
"core-views/column-join-before-column-picker": "Selecione e ordene as colunas para mesclar",
"core-views/column-join-before-options": "Selecione as opções",
"core-views/column-join-field-separator": "Separador entre os conteúdos de cada coluna:",
"core-views/column-join-field-separator-advice": "Entre com um ou mais caracteres, ou deixe em branco para mesclar as colunas sem um separador.",
"core-views/column-join-replace-nulls": "Substituir valores nulos com…",
"core-views/column-join-skip-nulls": "Pule nulos.",
"core-views/column-join-replace-nulls-advice": "Entre com um ou mais caracteres, ou deixe em branco para substituir valores nulos com textos vazios.",
"core-views/column-join-write-selected-column": "Escrever resultado na coluna selecionada.",
"core-views/column-join-copy-to-new-column": "Escrever resultado em nova coluna chamada…",
"core-views/column-join-delete-joined-columns": "Exclua colunas mescladas.",
"core-views/column-join-dont-escape": "No separador e substitutos de nulos, use \\n para novas linhas, \\t para tabulação, \\\\n para \\n, \\\\t para \\t."
}