@@ -817,7 +817,7 @@ public void setTableConfigMap(String sTableID, Map mapTableConfig ) {
817
817
818
818
Map mapTablesConfig = getTablesConfigMap ();
819
819
820
- return (( Map )mapTablesConfig .get (key ));
820
+ return ( BEncoder . cloneMap (( Map )mapTablesConfig .get (key ) ));
821
821
}
822
822
}
823
823
@@ -826,6 +826,8 @@ public void setTableConfigMap(String sTableID, Map mapTableConfig ) {
826
826
String sTableID ,
827
827
Map mapTableConfigDefault )
828
828
{
829
+ mapTableConfigDefault = BEncoder .cloneMap ( mapTableConfigDefault );
830
+
829
831
sTableID = getBaseViewID ( sTableID );
830
832
synchronized (this ) {
831
833
String key = "TableDefault." + sTableID ;
@@ -993,31 +995,45 @@ public TableColumnInfo getColumnInfo( TableColumnCore column ){
993
995
}
994
996
}
995
997
996
- public void resetColumns (Class dataSourceType , String tableID ) {
997
- TableColumnCore [] allTableColumns = getAllTableColumnCoreAsArray (
998
- dataSourceType , tableID );
999
- if (allTableColumns != null ) {
1000
- for (TableColumnCore column : allTableColumns ) {
1001
- if (column != null ) {
1002
- column .setVisible (false );
1003
- column .reset ();
998
+ public void
999
+ resetColumns (
1000
+ Class dataSourceType , String tableID )
1001
+ {
1002
+ Map defaults = getTableConfigDefaultMap (tableID );
1003
+
1004
+ if ( defaults == null ){
1005
+ TableColumnCore [] allTableColumns = getAllTableColumnCoreAsArray (
1006
+ dataSourceType , tableID );
1007
+ if (allTableColumns != null ) {
1008
+ for (TableColumnCore column : allTableColumns ) {
1009
+ if (column != null ) {
1010
+ column .setVisible (false );
1011
+ column .reset ();
1012
+ }
1004
1013
}
1005
1014
}
1006
- }
1007
- String [] defaultColumnNames = getDefaultColumnNames ( tableID );
1008
- if ( defaultColumnNames != null ) {
1009
- int i = 0 ;
1010
- for ( String name : defaultColumnNames ) {
1011
- TableColumnCore column = getTableColumnCore ( tableID , name );
1012
- if ( column != null ) {
1013
- column .setVisible ( true );
1014
- column . setPositionNoShift ( i ++);
1015
+ String [] defaultColumnNames = getDefaultColumnNames ( tableID );
1016
+ if ( defaultColumnNames != null ) {
1017
+ int i = 0 ;
1018
+ for ( String name : defaultColumnNames ) {
1019
+ TableColumnCore column = getTableColumnCore ( tableID , name );
1020
+ if ( column != null ) {
1021
+ column . setVisible ( true );
1022
+ column .setPositionNoShift ( i ++ );
1023
+ }
1015
1024
}
1016
1025
}
1026
+
1027
+ saveTableColumns (dataSourceType , tableID );
1028
+
1029
+ }else {
1030
+
1031
+ setTableConfigMap (tableID , defaults );
1032
+
1033
+ loadTableColumnSettings ( dataSourceType , tableID );
1017
1034
}
1018
- saveTableColumns (dataSourceType , tableID );
1019
- TableStructureEventDispatcher .getInstance (tableID ).tableStructureChanged (
1020
- true , dataSourceType );
1035
+
1036
+ TableStructureEventDispatcher .getInstance (tableID ).tableStructureChanged (true , dataSourceType );
1021
1037
}
1022
1038
1023
1039
private void markDirty () {
0 commit comments