рефакторинг. инкапсуляция таблиц бд
This commit is contained in:
@@ -13,11 +13,14 @@ import java.util.Vector;
|
||||
//самый общий интерфейс базы данных, независимо от реализации.
|
||||
public abstract class Database {
|
||||
//------------------------------
|
||||
public LinkedHashMap<Class<? extends DBObject>, DBTable> tables = new LinkedHashMap<>(); //таблицы
|
||||
protected LinkedHashMap<Class<? extends DBObject>, DBTable> tables = new LinkedHashMap<>(); //таблицы
|
||||
protected File file = null;
|
||||
public Database(File file_in) {
|
||||
file = file_in;
|
||||
}
|
||||
public <T extends DBObject> DBTable<?, T> getTable(Class<T> tableClass) {
|
||||
return tables.get(tableClass);
|
||||
}
|
||||
public File getFile() {
|
||||
return file;
|
||||
}
|
||||
|
||||
@@ -42,7 +42,9 @@ public class DataSet<K, D extends DBObject> extends DataSetAnchestor {
|
||||
}
|
||||
protected void createFilters() {
|
||||
}
|
||||
public boolean hasMenuBar(){return true;}
|
||||
public boolean hasMenuBar() {
|
||||
return true;
|
||||
}
|
||||
public DataMenuBar createMenuBar() {
|
||||
return new DataMenuBar(getPluralDescription());
|
||||
}
|
||||
@@ -268,7 +270,7 @@ public class DataSet<K, D extends DBObject> extends DataSetAnchestor {
|
||||
return MainModule_.instance.Check(log, CurrentName());
|
||||
}
|
||||
public boolean CheckSelectedOrCurrent(TextLog log) {
|
||||
if ((getSelectedCount() == 0) && (CurrentName()==null || (getCurrent()==null))) {
|
||||
if ((getSelectedCount() == 0) && (CurrentName() == null || (getCurrent() == null))) {
|
||||
log.Writeln_(getPluralDescription() + ":");
|
||||
log.Writeln_("Отсутствуют отмеченные объекты, или текущий объект!");
|
||||
return false;
|
||||
@@ -298,7 +300,7 @@ public class DataSet<K, D extends DBObject> extends DataSetAnchestor {
|
||||
}
|
||||
return res;
|
||||
}
|
||||
public Vector<K> getSelectedOrCurrentKeys(){
|
||||
public Vector<K> getSelectedOrCurrentKeys() {
|
||||
Vector<K> res = new Vector<>();
|
||||
if (getSelectedCount() > 0)
|
||||
res = getSelectedKeys();
|
||||
@@ -328,5 +330,7 @@ public class DataSet<K, D extends DBObject> extends DataSetAnchestor {
|
||||
}
|
||||
}
|
||||
//-------------------------------------------------------------------------------------
|
||||
public PassCode_ getDeletePassCode(){return null;}
|
||||
public PassCode_ getDeletePassCode() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
3
src/Common/MainModules/_MainModule.java
Normal file
3
src/Common/MainModules/_MainModule.java
Normal file
@@ -0,0 +1,3 @@
|
||||
package Common.MainModules;
|
||||
public class _MainModule {
|
||||
}
|
||||
@@ -11,7 +11,7 @@ public abstract class AddObjectPass<D extends DBObject> extends ObjectPass<D> {
|
||||
protected boolean canStart(Object... args) throws Exception {
|
||||
target = d.newInstance();
|
||||
return
|
||||
((getOwner() == null) || (getDb().tables.get(getOwner()).CheckCurrent(Log))) &&
|
||||
((getOwner() == null) || (getDb().getTable(getOwner()).CheckCurrent(Log))) &&
|
||||
fillObjectFields();
|
||||
}
|
||||
protected boolean fillObjectFields() throws Exception {
|
||||
|
||||
@@ -23,7 +23,7 @@ public abstract class DeleteObjectPass<D extends DBObject> extends ObjectPass<D>
|
||||
case DROP:
|
||||
break;
|
||||
case DELETE:
|
||||
getDb().tables.get(dep).ClearUI();
|
||||
getDb().getTable(dep).ClearUI();
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -49,7 +49,7 @@ public abstract class DeleteObjectPass<D extends DBObject> extends ObjectPass<D>
|
||||
protected void performFinish() throws Exception {
|
||||
getTable().ShowUI();
|
||||
for (Class dep : getTable().getFKDependencies().keySet()) {
|
||||
getDb().tables.get(dep).RefreshUI();
|
||||
getDb().getTable(dep).RefreshUI();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package Common.Passes;
|
||||
import Common.Database.Objects.DBObject;
|
||||
public abstract class DeleteObjectsPass<D extends DBObject> extends ObjectsPass<D>{
|
||||
public abstract class DeleteObjectsPass<D extends DBObject> extends ObjectsPass<D> {
|
||||
public DeleteObjectsPass(Class<D> d_in) {
|
||||
super(d_in);
|
||||
}
|
||||
@@ -12,7 +12,7 @@ public abstract class DeleteObjectsPass<D extends DBObject> extends ObjectsPass<
|
||||
protected boolean canStart(Object... args) throws Exception {
|
||||
if (!getTable().CheckSelectedOrCurrent(Log))
|
||||
return false;
|
||||
target = getTable().getSelectedOrCurrent();
|
||||
target = getTable().getSelectedOrCurrent();
|
||||
return getTable().ShowDeleteObjectsDialog(target.size());
|
||||
}
|
||||
//Очищаем все связанные таблицы, чтобы не допустить перерисовки во время удаления объекта.
|
||||
@@ -25,14 +25,14 @@ public abstract class DeleteObjectsPass<D extends DBObject> extends ObjectsPass<
|
||||
case DROP:
|
||||
break;
|
||||
case DELETE:
|
||||
getDb().tables.get(dep).ClearUI();
|
||||
getDb().getTable(dep).ClearUI();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@Override
|
||||
protected void body() throws Exception {
|
||||
for (D d: target){
|
||||
for (D d : target) {
|
||||
getDb().Delete(d);
|
||||
for (Class dep : getTable().getFKDependencies().keySet()) {
|
||||
switch (getTable().getFKDependencies().get(dep).data) {
|
||||
@@ -53,7 +53,7 @@ public abstract class DeleteObjectsPass<D extends DBObject> extends ObjectsPass<
|
||||
protected void performFinish() throws Exception {
|
||||
getTable().ShowUI();
|
||||
for (Class dep : getTable().getFKDependencies().keySet()) {
|
||||
getDb().tables.get(dep).RefreshUI();
|
||||
getDb().getTable(dep).RefreshUI();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,6 +21,6 @@ public abstract class EditObjectPass<D extends DBObject> extends ObjectPass<D> {
|
||||
protected void showFinish() throws Exception {
|
||||
getTable().ShowUI(target.getPK());
|
||||
for (Class dep : getTable().getFKDependencies().keySet())
|
||||
getDb().tables.get(dep).RefreshUI();
|
||||
getDb().getTable(dep).RefreshUI();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ public abstract class ObjectPass<D extends DBObject> extends Pass<D> {
|
||||
}
|
||||
; //источник данных
|
||||
public DBTable getTable() {
|
||||
return getDb().tables.get(d);
|
||||
return getDb().getTable(d);
|
||||
} //таблица в источнике данных
|
||||
@Override//sorted
|
||||
public String getButtonText() {
|
||||
|
||||
@@ -15,7 +15,7 @@ public abstract class ObjectsPass<D extends DBObject> extends Pass<Vector<D>> {
|
||||
return MainModule_.instance.getDb();
|
||||
}
|
||||
public DBTable getTable() {
|
||||
return getDb().tables.get(d);
|
||||
return getDb().getTable(d);
|
||||
} //таблица в источнике данных
|
||||
@Override//sorted
|
||||
public String getButtonText() {
|
||||
|
||||
@@ -309,7 +309,7 @@ public class DataSetControlForm extends ControlWithCurrentForm<DataTable> {
|
||||
FKBehaviour behaviour = table.getFKDependencies().get(dep);
|
||||
switch (behaviour.ui) {
|
||||
case ACTIVE:
|
||||
table.getDb().tables.get(dep).ShowUI();
|
||||
table.getDb().getTable(dep).ShowUI();
|
||||
break;
|
||||
case PASSIVE:
|
||||
break;
|
||||
@@ -325,7 +325,7 @@ public class DataSetControlForm extends ControlWithCurrentForm<DataTable> {
|
||||
FKBehaviour behaviour = table.getFKDependencies().get(dep);
|
||||
switch (behaviour.ui) {
|
||||
case ACTIVE:
|
||||
table.getDb().tables.get(dep).ClearUI();
|
||||
table.getDb().getTable(dep).ClearUI();
|
||||
break;
|
||||
case PASSIVE:
|
||||
break;
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
package Common.Visual.Menus;
|
||||
import Common.Visual.Menus.StyledPopupMenu;
|
||||
import Common.Visual.Menus.VisualiserMenuItem;
|
||||
import Common.Visual.Trees.StyledTree;
|
||||
|
||||
import javax.swing.*;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package Common.Visual.Trees;
|
||||
import Common.MainModule_;
|
||||
import Common.Visual.Fonts.VisualiserFonts;
|
||||
import Common.Visual.Themes.ThemeElement;
|
||||
import Common.Visual.Menus.GraphMenu;
|
||||
import Common.Visual.Themes.ThemeElement;
|
||||
|
||||
import javax.swing.*;
|
||||
import javax.swing.tree.DefaultMutableTreeNode;
|
||||
|
||||
Reference in New Issue
Block a user