Ignore:
Timestamp:
07/10/13 22:41:02 (11 years ago)
Author:
psniegowski
Message:

HIGHLIGTS:

  • complete events implementation
  • add CLI in Java Framsticks server
  • add automatic registration for events in GUI
  • improve objects fetching (object are never overwritten with new instances)
  • properly react for ListChange? events
  • add ListPanel? with table view
    • columns to be shown may be statically specified in configuration
    • currently modyfying data through tables is not available
  • improve maven configuration
    • configuration file may be specified without touching pom.xml

CHANGELOG:
Extract constants from Flags into ParamFlags? and SetStateFlags?.

Extract flags I/O to FlagsUtils? class.

Configured maven to exec given resource configuration.

For example:
mvn exec:exec -Dframsticks.config=/configs/managed-console.xml

Cleanup pom.xml

Rename ObjectTree? to LocalTree? (also make LocalTree? and RemoteTree? final).

Minor change.

Add maximum number of columns in ListPanelProvider?.

Improve ColumnsConfig? interpretation.

Automatically fill FramsClass?.name if trying to construct empty.

Improve identitifer case mangling in XmlLoader?.

Introduce configurable ColumnsConfig?.

Draft working version of ListPanel?.

Table is being shown (although empty).

More improvements to table building.

Move some functionality from Frame to TreeModel?.

Move tree classes in gui to separate package.

Remove old table related classes.

Add draft implementation of TableModel?.

Redirect ParamBuilder?.forAccess to AccessInterface?.

Optimize ParamBuilder?.forAccess()

Do not clear list when loading.

Do not load fetched values directly.

Implement different AccessInterface? copying policy.

Optimize fetching values routine.

Remove Mode enum (work out get semantics).

Some improvements to ListChange? handling.

Improve UniqueListAccess?.

Add reaction for ListChanges? in the TreeNode?.

EventListeners? are being added in the TreeNode?.

Listeners for ListParams? are now very naive (they download
whole list).

Automatially register on events in GUI.

Events are working in RemoteTree? and Server.

Move listeners to the ClientSideManagedConnection?.

Remove old classes responsible for event subscriptions.

Improve event reading.

Improve events handling at server side.

Add register attribute in FramsClassAnnotation?
to automatically also register other classes.

Registering events works.

Setup for remote listeners registration.

More improvements.

Minor changes.

Add rootTree to the ClientAtServer?.

Moving CLI to the ClientAtServer?.

Fix bug: use Void.TYPE instead of Void.class

More development around CLI.

  • Improve Path resolving.

Add synthetic root to ObjectTree?.

It is needed to allow sybling for the original root
that would containg CLI.

Some work with registering events in RemoteTree?.

Draft implementation of listener registering in RemoteTree?.

Support events registration in the ObjectTree?.

Add events support to ReflectionAccess?.

EventParam? is recognized by ParamCandidate?.

Prepare interface for Events across project.

Add EventListener? and API for listeners in Tree.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • java/main/src/main/java/com/framsticks/params/ParamBuilder.java

    r97 r99  
    77import com.framsticks.util.FramsticksException;
    88import com.framsticks.util.Misc;
     9import com.framsticks.util.lang.FlagsUtil;
    910import com.framsticks.util.lang.Strings;
    1011
     
    6667        private int extra = 0;
    6768
    68         String containedTypeName;
     69        protected String containedTypeName;
     70
     71        protected String eventArgumentTypeName;
    6972
    7073        protected Class<?> storageType;
     
    116119        }
    117120
     121        public ParamBuilder containedTypeName(String containedTypeName) {
     122                this.containedTypeName = containedTypeName;
     123                return this;
     124        }
     125
    118126        /**
    119127         * @return the resultType
     
    160168        public String getUid() {
    161169                return uid;
     170        }
     171
     172        public ParamBuilder uid(String uid) {
     173                this.uid = uid;
     174                return this;
    162175        }
    163176
     
    322335                        case 'e': {
    323336                                type(EventParam.class);
    324                                 break;
    325                         }
    326                         case 'l': {
    327                                 containedTypeName = second;
    328                                 if (third != null) {
    329                                         type(UniqueListParam.class);
    330                                         uid = third;
    331                                 } else {
    332                                         type(ArrayListParam.class);
    333                                 }
    334                                 break;
    335                         }
    336                         default:{
    337                                 log.error("unknown type: " + first);
    338                                 return this;
    339                         }
    340                 }
     337                        eventArgumentTypeName(second);
     338                        break;
     339                }
     340                case 'l': {
     341                        containedTypeName = second;
     342                        if (third != null) {
     343                                type(UniqueListParam.class);
     344                                uid = third;
     345                        } else {
     346                                type(ArrayListParam.class);
     347                        }
     348                        break;
     349                }
     350                default: {
     351                        log.error("unknown type: " + first);
     352                        return this;
     353                }
     354                }
     355                return this;
     356        }
     357
     358        public ParamBuilder eventArgumentTypeName(String eventArgumentTypeName) {
     359                this.eventArgumentTypeName = eventArgumentTypeName;
    341360                return this;
    342361        }
     
    438457                        id(paramEntryValues[0]);
    439458                        group(Integer.valueOf(paramEntryValues[1]));
    440                         flags(Flags.read(paramEntryValues[2]));
     459                        flags(FlagsUtil.read(ParamFlags.class, paramEntryValues[2]));
    441460                        name(paramEntryValues[3]);
    442461                        type(paramEntryValues[4]);
     
    464483                                break;
    465484                        case FLAGS_FIELD:
    466                                 flags(Flags.read(value));
     485                                flags(FlagsUtil.read(ParamFlags.class, value));
    467486                                break;
    468487                        case HELP_FIELD:
     
    492511        }
    493512
     513        /**
     514         * @return the eventArgumentTypeName
     515         */
     516        public String getEventArgumentTypeName() {
     517                return eventArgumentTypeName;
     518        }
     519
    494520        public Class<?> getStorageType() {
    495521                return storageType;
    496         }
    497 
    498         public ParamBuilder forAccess(AccessInterface access) {
    499                 return name(access.getId()).type("o " + access.getId());
    500522        }
    501523
Note: See TracChangeset for help on using the changeset viewer.