You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

DataSourceSelection.java 1.3KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. package com.rthoni.intellij.codefromds.dbo;
  2. import com.intellij.database.model.DasTable;
  3. import com.intellij.database.psi.DbDataSource;
  4. import com.intellij.database.util.DasUtil;
  5. import java.util.List;
  6. import java.util.Vector;
  7. import java.util.stream.Collectors;
  8. /**
  9. * Created by robin on 11/15/16.
  10. */
  11. public class DataSourceSelection {
  12. public DataSourceSelection() {
  13. }
  14. public DataSourceSelection(DbDataSource source) {
  15. _source = source;
  16. final List<? extends DasTable> tables = DasUtil.getTables(source).toList();
  17. _tables = new Vector<>();
  18. for (DasTable table : tables) {
  19. TableSelection tableSelection = new TableSelection();
  20. tableSelection.setTable(table);
  21. tableSelection.setColumns(DasUtil.getColumns(table).toList().stream().map(ColumnSelection::new).collect(Collectors.toList()));
  22. _tables.add(tableSelection);
  23. }
  24. }
  25. private DbDataSource _source;
  26. private List<TableSelection> _tables;
  27. public DbDataSource getSource() {
  28. return _source;
  29. }
  30. public void setSource(DbDataSource source) {
  31. _source = source;
  32. }
  33. public List<TableSelection> getTables() {
  34. return _tables;
  35. }
  36. public void setTables(List<TableSelection> tables) {
  37. _tables = tables;
  38. }
  39. }