diff --git a/fda-table-service/services/src/main/java/at/tuwien/service/impl/JdbcConnector.java b/fda-table-service/services/src/main/java/at/tuwien/service/impl/JdbcConnector.java index 0154d24ae9c0accd1f15be03cfbc7f0c3ded4b47..81193a9f36117f1af6b881979320b8caf4da62c2 100644 --- a/fda-table-service/services/src/main/java/at/tuwien/service/impl/JdbcConnector.java +++ b/fda-table-service/services/src/main/java/at/tuwien/service/impl/JdbcConnector.java @@ -112,6 +112,8 @@ public abstract class JdbcConnector implements DatabaseConnector { log.warn("No data provided."); throw new TableMalformedException("No data provided"); } + log.info("First row {}", data.getData().get(0)); + log.info("Table columns {}", table.getColumns()); if (data.getData().get(0).size() != table.getColumns().size()) { log.error("Provided columns differ from table columns found in metadata db."); throw new TableMalformedException("Provided columns differ from table columns found in metadata db."); @@ -138,9 +140,11 @@ public abstract class JdbcConnector implements DatabaseConnector { .values(row)); } try { + log.trace("insertCsv statements {}", statements); context.batch(statements) .execute(); } catch (DataAccessException e) { + log.error("DataAccessException {}", e); throw new TableMalformedException("Columns seem to differ or other problem with jOOQ mapper, most commonly it is a data type issue try with type 'STRING'", e); } } diff --git a/fda-ui/nuxt.config.js b/fda-ui/nuxt.config.js index 4dce4966bd1705b47b092f04f6c7fa671e804b29..d621ad2f1248b80f17829f432eb8a98f05332157 100644 --- a/fda-ui/nuxt.config.js +++ b/fda-ui/nuxt.config.js @@ -54,7 +54,8 @@ export default { plugins: [ { src: '~/plugins/toast', ssr: false }, - { src: '~/plugins/vendors', ssr: false } + { src: '~/plugins/vendors', ssr: false }, + { src: '~/plugins/axios' } ], // Auto import components (https://go.nuxtjs.dev/config-components) diff --git a/fda-ui/pages/databases/_database_id/tables/_table_id/import.vue b/fda-ui/pages/databases/_database_id/tables/_table_id/import.vue index d199c99dcaccd08c83e0ab0ab5a1efa4323f87eb..603319cd9550f741d2f866c4175fb3f0c8960429 100644 --- a/fda-ui/pages/databases/_database_id/tables/_table_id/import.vue +++ b/fda-ui/pages/databases/_database_id/tables/_table_id/import.vue @@ -4,7 +4,7 @@ <v-card-title v-if="!loading"> Import Data </v-card-title> - <v-card-subtitle>{{ table.name }} ({{ table.internal_name }})</v-card-subtitle> + <v-card-subtitle>{{ table.name }} ({{ table.internalName }})</v-card-subtitle> <v-card-text> <v-checkbox v-model="tableInsert.skipHeader" @@ -43,7 +43,7 @@ export default { loading: false, table: { name: null, - internal_name: null + internalName: null }, tableInsert: { skipHeader: false, @@ -76,6 +76,7 @@ export default { } catch (err) { console.error('Could not insert data.', err) } + this.loading = false }, async upload () { this.loading = true @@ -97,7 +98,7 @@ export default { console.error('Could not upload data.', err) return } - const insertUrl = `/api/database/${this.databaseId}/table/${this.tableId}/data` + const insertUrl = `/api/database/${this.databaseId}/table/${this.tableId}/data/csv` let insertResult try { insertResult = await this.$axios.post(insertUrl, this.tableInsert) diff --git a/fda-ui/pages/databases/_database_id/tables/_table_id/index.vue b/fda-ui/pages/databases/_database_id/tables/_table_id/index.vue index dfc2ea2a72e13822e7ea7ad5784230e20bbe5fd5..f479f2d3a0f19fe3fa7cd369a2961398368d9979 100644 --- a/fda-ui/pages/databases/_database_id/tables/_table_id/index.vue +++ b/fda-ui/pages/databases/_database_id/tables/_table_id/index.vue @@ -38,6 +38,7 @@ export default { data () { return { loading: true, + page: 0, table: { name: null, description: null @@ -75,7 +76,9 @@ export default { }, async loadData () { try { - const res = await this.$axios.get(`/api/database/${this.$route.params.database_id}/table/${this.$route.params.table_id}/data`) + let url = `/api/database/${this.$route.params.database_id}/table/${this.$route.params.table_id}/data` + url += `?page=${this.page}&size=10` + const res = await this.$axios.get(url) this.rows = res.data.result console.debug('table data', res.data) } catch (err) { diff --git a/fda-ui/plugins/axios.js b/fda-ui/plugins/axios.js new file mode 100644 index 0000000000000000000000000000000000000000..b792a0bf3dff5b67b1878f6ad88a459a7489e3b5 --- /dev/null +++ b/fda-ui/plugins/axios.js @@ -0,0 +1,11 @@ +export default function ({ $axios, redirect }) { + console.log('axios intercepter args', arguments) +} + +// export default function (item) { +// $axios.onError(error => { +// if(error.response.status === 500) { +// redirect('/sorry') +// } +// }) +// }