From ERDDelayedObjectCreationAssignment: /** * Static constructor required by the EOKeyValueUnarchiver * interface. If this isn't implemented then the default * behavior is to construct the first super class that does * implement this method. Very lame. * @param eokeyvalueunarchiver to be unarchived * @return decoded assignment of this class */ public static Object decodeWithKeyValueUnarchiver(EOKeyValueUnarchiver eokeyvalueunarchiver) { return new ERDDelayedObjectCreationAssignment(eokeyvalueunarchiver); }
You may need to override the other constructor too. Lots of boilerplate with these things, unfortunately. On Dec 9, 2014, at 3:34 PM, James Cicenia <ja...@jimijon.com> wrote: > It never fires :-( > > public class DelayedCustomReportKeysAssignment extends ERDDelayedAssignment{ > public DelayedCustomReportKeysAssignment(EOKeyValueUnarchiver u) { > super(u); > // TODO Auto-generated constructor stub > } > > static final long serialVersionUID = 1L; > > public Object fireNow(D2WContext c) { > String keyPath = "session.objectStore." + c.entity().name() + > "_reportKeys"; > Object keys = c.valueForKeyPath(keyPath); > return keys; > } > > } > > > >> On Dec 9, 2014, at 4:28 PM, Ramsey Gurley <rgur...@smarthealth.com> wrote: >> >> Put a breakpoint on the line >> >> return keys; >> >> It sounds like keys is a string, not an array. >> >> On Dec 9, 2014, at 3:17 PM, James Cicenia <ja...@jimijon.com> wrote: >> >>> >>> Uh… that first rule. >>> >>> I created my DelayedAssignment that extended ERDDelayedAssignment and >>> implemented fireNow >>> >>> I put in a rule to for displayPropertyKeys but it crashes on = “” >>> >>> 100 : pageConfiguration like ‘ListCustom*' => displayPropertyKeys = "" >>> [DelayedCustomReportKeysAssignment] >>> >>> java.lang.ClassCastException: java.lang.String cannot be cast to >>> com.webobjects.foundation.NSArray >>> >>> >>> >>>> On Dec 9, 2014, at 3:52 PM, Ramsey Gurley <rgur...@smarthealth.com> wrote: >>>> >>>> :-) >>>> >>>> 100 : task = ‘list’ and entity.userInfo.availableKeys.count > 0 => >>>> displayPropertyKeys = "” [MyDelayedAssignment] >>>> >>>> MyDelayedAssignment.java >>>> >>>> public Object fireNow(D2WContext c) { >>>> String keyPath = “session.objectStore.” + c.pageName + “_availableKeys”; >>>> Object keys = c.valueForKeyPath(keyPath); >>>> //TODO Do something if keys is null >>>> return keys; >>>> } >>>> >>>> On Dec 9, 2014, at 2:41 PM, James Cicenia <ja...@jimijon.com> wrote: >>>> >>>>> Is there a generic way to get the PageConfiguration and then the delayed >>>>> response? >>>>> Or >>>>> Do I have to create a >>>>> 90 : pageConfiguration = 'ListCustomCategory' => displayPropertyKeys = >>>>> "session.objectStore.ListCustomCategory_reportKeys" >>>>> [er.directtoweb.ERDDelayedKeyValueAssignment] >>>>> for each Entity? >>>>> >>>>> Anyway, this method does work so I will definitely go this route. >>>>> thanks >>>>> >>>>> >>>>> >>>>> >>>>>> On Dec 9, 2014, at 3:13 PM, Ramsey Gurley <rgur...@smarthealth.com> >>>>>> wrote: >>>>>> >>>>>> Yep, it’s a full blown NSKeyValueCodingAdditions object backed by the >>>>>> same dictionary that holds the page cache I believe. >>>>>> >>>>>> On Dec 9, 2014, at 2:06 PM, James Cicenia <ja...@jimijon.com> wrote: >>>>>> >>>>>>> OK - >>>>>>> >>>>>>> Though I added the cover methods to all entities, so I will still go >>>>>>> with that method vs. user info and eomodeler. >>>>>>> >>>>>>> Now what does the syntax >>>>>>> "session.objectStore.<pageConfiguration>_availableKeys” mean? >>>>>>> >>>>>>> Is objectStore a custom dictionary in your Session? >>>>>>> >>>>>>> >>>>>>>> On Dec 9, 2014, at 2:53 PM, Ramsey Gurley <rgur...@smarthealth.com> >>>>>>>> wrote: >>>>>>>> >>>>>>>> Just keep in mind that while the context may be one of many instances, >>>>>>>> the rule cache is global. It might seem to work fine for you in >>>>>>>> Eclipse. Can you say that when multiple users are accessing the same >>>>>>>> page concurrently on the same app instance? It works great, until it >>>>>>>> doesn’t :-) >>>>>>>> >>>>>>>> Were I doing this, I would put the keys in the userInfo like you were >>>>>>>> doing. I would then take the selected values from the custom page and >>>>>>>> stuff it in say, >>>>>>>> session.objectStore.<pageConfiguration>_availableKeys. Then I would >>>>>>>> have a custom delayed assignment which pulled those keys back out of >>>>>>>> the session and provided them to the displayPropertyKeys RHS key. >>>>>>>> >>>>>>>> On Dec 9, 2014, at 1:36 PM, James Cicenia <ja...@jimijon.com> wrote: >>>>>>>> >>>>>>>>> >>>>>>>>> I am using D2W except for on custom screens like my column picker. >>>>>>>>> I am using two wobrowsers for the user to pick columns and some >>>>>>>>> ajaxsubmitbuttons >>>>>>>>> >>>>>>>>> Typical: >>>>>>>>> >>>>>>>>> Leftlist <<-->> RightList >>>>>>>>> >>>>>>>>> Then some buttons: >>>>>>>>> >>>>>>>>> PDF Excel Screen >>>>>>>>> >>>>>>>>> So since I am generating a new “List” with the buttons, the setting >>>>>>>>> of the d2wcontext directly works fine. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>>> On Dec 9, 2014, at 2:21 PM, Ramsey Gurley <rgur...@smarthealth.com> >>>>>>>>>> wrote: >>>>>>>>>> >>>>>>>>>> Using D2W? In this case, you could make a rule per entity if that’s >>>>>>>>>> what you need. >>>>>>>>>> >>>>>>>>>> 100: entity.name=‘Blah’ => availableKeys = {“name”=“Name”; “-DATES-“ >>>>>>>>>> = “— Dates —“;} [Assignment] >>>>>>>>>> >>>>>>>>>> Or store in the userInfo like you were doing >>>>>>>>>> >>>>>>>>>> 100: *true* => availableKeys = entity.userInfo.availableKeys >>>>>>>>>> [ERDKeyValueAssignment] >>>>>>>>>> >>>>>>>>>> As you noted, entering data via EOModeler for userInfo is a bit of a >>>>>>>>>> pain. You may want to get the userInfo started and then edit the >>>>>>>>>> entity.plist directly in a text editor instead. >>>>>>>>>> >>>>>>>>>> On Dec 9, 2014, at 9:22 AM, James Cicenia <ja...@jimijon.com> wrote: >>>>>>>>>> >>>>>>>>>>> I want to run a method called availableKeys which just returns an >>>>>>>>>>> NSArray of keypaths for that Entity. >>>>>>>>>>> >>>>>>>>>>> I will be creating a picker of keys that are pre determined. I was >>>>>>>>>>> going to use the UserInfo but it made EOModeler act a bit funny. >>>>>>>>>>> So I am doing something like: >>>>>>>>>>> >>>>>>>>>>> public NSMutableDictionary availableKeys(){ >>>>>>>>>>> if(availableKeys == null){ >>>>>>>>>>> availableKeys.takeValueForKeyPath("Name", "name”); >>>>>>>>>>> availableKeys.takeValueForKeyPath("--- Dates ---", >>>>>>>>>>> "-DATES-"); >>>>>>>>>>> availableKeys.takeValueForKeyPath("Active Date", >>>>>>>>>>> "activeDt"); >>>>>>>>>>> } >>>>>>>>>>> return availableKeys; >>>>>>>>>>> } >>>>>>>>>>> >>>>>>>>>>> So in my “Generic” pick list component I want to pass in the >>>>>>>>>>> displayGroup, let them pick the columns of the report, and then >>>>>>>>>>> process. >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>>> On Dec 9, 2014, at 10:14 AM, Ramsey Gurley >>>>>>>>>>>> <rgur...@smarthealth.com> wrote: >>>>>>>>>>>> >>>>>>>>>>>> EOEntity entity = >>>>>>>>>>>> EOModelGroup.defaultModelGroup().entityNamed(entityName); >>>>>>>>>>>> Class class = _NSUtilities.classWithName(entity.className()); >>>>>>>>>>>> Method method = class.getMethod(methodName, parameterTypes); >>>>>>>>>>>> method.invoke(null, parameters); //null target for static methods >>>>>>>>>>>> >>>>>>>>>>>> You could do it through java’s reflection APIs, but that sounds >>>>>>>>>>>> really fishy. Maybe if you explain what you are trying to >>>>>>>>>>>> accomplish, we could offer better insight. For instance, you may >>>>>>>>>>>> be better served using the clazz pattern if you want static >>>>>>>>>>>> methods you can override. >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> On Dec 9, 2014, at 8:37 AM, James Cicenia <ja...@jimijon.com> >>>>>>>>>>>> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> I have a string that is an EntityName. >>>>>>>>>>>>> I want to run that entity’s static class method. >>>>>>>>>>>>> >>>>>>>>>>>>> do I have to do this?: >>>>>>>>>>>>> >>>>>>>>>>>>> EOEnterpriseObject myClass = >>>>>>>>>>>>> EOUtilities.createAndInsertInstance( ec, entityName) ; >>>>>>>>>>>>> >>>>>>>>>>>>> I really don’t want to create an instance. >>>>>>>>>>>>> >>>>>>>>>>>>> Thanks >>>>>>>>>>>>> James >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>>> Do not post admin requests to the list. They will be ignored. >>>>>>>>>>>>> Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) >>>>>>>>>>>>> Help/Unsubscribe/Update your Subscription: >>>>>>>>>>>>> https://lists.apple.com/mailman/options/webobjects-dev/rgurley%40smarthealth.com >>>>>>>>>>>>> >>>>>>>>>>>>> This email sent to rgur...@smarthealth.com >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>> >> >
_______________________________________________ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com