Skip to content

Instantly share code, notes, and snippets.

@orekyuu
Created July 18, 2024 02:05
Show Gist options
  • Save orekyuu/d46f3abce0f2fabe8a9150889b1d98da to your computer and use it in GitHub Desktop.
Save orekyuu/d46f3abce0f2fabe8a9150889b1d98da to your computer and use it in GitHub Desktop.
import com.intellij.database.extensions.Clipboard
import com.intellij.database.extensions.Files
import com.intellij.database.extensions.ScriptLogger
import com.intellij.database.model.DasColumn
import com.intellij.database.model.DasObject
import com.intellij.database.model.DasTable
import com.intellij.database.util.DasUtil
import com.intellij.ide.util.PackageChooserDialog
import com.intellij.openapi.application.ApplicationManager
import com.intellij.openapi.project.Project
import com.intellij.openapi.ui.Messages
import com.intellij.psi.JavaPsiFacade
import com.intellij.psi.search.GlobalSearchScope
import com.intellij.ui.components.JBList
import com.intellij.util.containers.JBIterable
import javax.swing.JOptionPane
import javax.swing.JScrollPane
import javax.swing.ListSelectionModel
val project: Project = bindings["PROJECT"] as Project
val files: Files = bindings["FILES"] as Files
val clipboard = bindings["CLIPBOARD"] as Clipboard
val logger = bindings["LOG"] as ScriptLogger
val selection = bindings["SELECTION"] as Iterable<DasObject>
fun selectedTables() = selection.filterIsInstance<DasTable>()
fun columns(table: DasTable) = DasUtil.getColumns(table)
fun isNullable(column: DasColumn) = !column.isNotNull
fun toJavaType(column: DasColumn) = when (column.dasType.specification) {
"int" -> "Integer"
"varchar" -> "String"
else -> "Object"
}
val selectedTables = selection.filterIsInstance<DasTable>()
selectedTables.forEach {
}
ApplicationManager.getApplication().invokeLater {
val dialog = PackageChooserDialog("Select Package", project)
dialog.show()
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment