Hi Oscar, glad that sorted it out. Yes, let's use that as the fix. Are you happy to raise the ticket and apply the patch? Cheers Dan
On 21 December 2013 14:57, GESCONSULTOR - Óscar Bou <o....@gesconsultor.com>wrote: > Hi, Dan. > > Seems it was that annotation (dependentElement) and it was properly solved > by changing this: > > void ensureRootObject(final PersistenceCapable pojo) { > final ObjectAdapter adapter = > getAdapterManager().getAdapterFor(pojo); > if(adapter == null) { > throw new IsisException(MessageFormat.format("Object not yet > known to Isis: {0}", pojo)); > } > > to this: > > void ensureRootObject(final PersistenceCapable pojo) { > final ObjectAdapter adapter = > getAdapterManager().adapterFor(pojo); > if(adapter == null) { > throw new IsisException(MessageFormat.format("Object not yet > known to Isis: {0}", pojo)); > } > > > Should it be updated on Isis? > > > > > El 13/12/2013, a las 18:36, GESCONSULTOR - Óscar Bou < > o....@gesconsultor.com> escribió: > > > > > Just to clarify to anyone seeing this code, I've noticed there was some > legacy code on this Entity (the Programming Model's addTo removeFrom). > > > > As it's not currently needed (due to JDO's managed relationships) I've > deleted it. > > > > Thanks again, > > > > Oscar > > > > > > > > El 13/12/2013, a las 18:23, Dan Haywood <d...@haywood-associates.co.uk> > escribió: > > > >> It could be the (... dependentElement = "true") bit. I don't think we > are > >> using dependent objects in Estatio, which might be a reason we haven't > seen > >> this issue. > >> > >> You could also try temporarily removing that annotation. It might > change > >> your schema, so obviously only something to do running under HSQLDB. > >> > >> Cheers > >> Dan > >> > >> > >> > >> > >> > >> On 13 December 2013 17:19, GESCONSULTOR - Óscar Bou > >> <o....@gesconsultor.com>wrote: > >> > >>> Not being able to reproduce it now, as I need one system administrator > >>> that has just left until Monday. > >>> > >>> Those entities are "part" of a Scale (inside a Collection), and are > lazy > >>> loaded due to that, I think. > >>> > >>> They have the following code: > >>> > >>> @PersistenceCapable > >>> @Inheritance(strategy = InheritanceStrategy.NEW_TABLE) > >>> public class TimeScale extends AbstractScale { > >>> > >>> // {{ TimeScaleLevels (Collection) > >>> @Persistent(mappedBy = "timeScale", dependentElement = "true") > >>> private SortedSet<PointInTime> timeScaleLevels = new > >>> TreeSet<PointInTime>(); > >>> > >>> @MemberOrder(sequence = "1") > >>> public SortedSet<PointInTime> getTimeScaleLevels() { > >>> return this.timeScaleLevels; > >>> } > >>> > >>> public void setTimeScaleLevels(final SortedSet<PointInTime> > >>> timeScaleLevels) { > >>> this.timeScaleLevels = timeScaleLevels; > >>> } > >>> > >>> @MemberOrder(name = "timeScaleLevels", sequence = "10") > >>> public TimeScale insertIntoTimeScaleLevels(final PointInTime > >>> timeScaleLevel) { > >>> this.addToTimeScaleLevels(timeScaleLevel); > >>> return this; > >>> } > >>> > >>> // Programming model. > >>> public void addToTimeScaleLevels(final PointInTime timeScaleLevel) { > >>> // check for no-op > >>> if ((timeScaleLevel == null) || > >>> this.getTimeScaleLevels().contains(timeScaleLevel)) { > >>> return; > >>> } > >>> // associate new > >>> this.getTimeScaleLevels().add(timeScaleLevel); > >>> // additional business logic > >>> this.onAddToTimeScaleLevels(timeScaleLevel); > >>> } > >>> > >>> // Action. > >>> @MemberOrder(name = "timeScaleLevels", sequence = "20") > >>> public TimeScale deleteFromTimeScaleLevels(final PointInTime > >>> timeScaleLevel) { > >>> this.removeFromTimeScaleLevels(timeScaleLevel); > >>> return this; > >>> } > >>> > >>> // Programming model. > >>> public void removeFromTimeScaleLevels(final PointInTime > >>> timeScaleLevel) { > >>> // check for no-op > >>> if ((timeScaleLevel == null) || > >>> !this.getTimeScaleLevels().contains(timeScaleLevel)) { > >>> return; > >>> } > >>> // dissociate existing > >>> this.getTimeScaleLevels().remove(timeScaleLevel); > >>> // additional business logic > >>> this.onRemoveFromTimeScaleLevels(timeScaleLevel); > >>> } > >>> > >>> protected void onAddToTimeScaleLevels(final PointInTime > >>> timeScaleLevel) { > >>> } > >>> > >>> protected void onRemoveFromTimeScaleLevels(final PointInTime > >>> timeScaleLevel) { > >>> } > >>> > >>> // }} > >>> > >>> @SuppressWarnings("unchecked") > >>> @Override > >>> protected <E extends AbstractScaleLevel> SortedSet<E> > >>> internalGetElements() { > >>> return (SortedSet<E>) this.timeScaleLevels; > >>> } > >>> > >>> public PointInTime createLevel(@Named("Name") final String name, > >>> @Named("Description") @Optional final String description, @Named("Time > >>> Lapse Duration") final BigDecimal timelapseDuration, @Named("Time Lapse > >>> Unit") final StandardTimeUnit timelapseUnit) { > >>> > >>> return this.wrap(this.timeScales).createScaleLevel(this, name, > >>> description, StandardTimeUnit.HOURS.convert(timelapseDuration, > >>> timelapseUnit), timelapseUnit); > >>> } > >>> > >>> // {{ levelForPointInTime (action) > >>> @Hidden > >>> @MemberOrder(sequence = "1") > >>> public PointInTime levelForPointInTime(final BigDecimal pointInTime, > >>> final StandardTimeUnit pointInTimeUnits) { > >>> return (PointInTime) > >>> this.levelForValue(StandardTimeUnit.HOURS.convert(pointInTime, > >>> pointInTimeUnits)); > >>> } > >>> > >>> // }} > >>> > >>> // {{ injected: TimeScales > >>> private TimeScales timeScales; > >>> > >>> public void setTimeScales(final TimeScales timeScales) { > >>> this.timeScales = timeScales; > >>> } > >>> // }} > >>> > >>> > >>> > >>> > >>> > ------------------------------------------------------------------------------------------------------------------- > >>> > >>> > >>> @PersistenceCapable > >>> @Inheritance(strategy = InheritanceStrategy.NEW_TABLE) > >>> public class PointInTime extends AbstractScaleLevelBin { > >>> > >>> // {{ TimeScale (property) > >>> private TimeScale timeScale; > >>> > >>> @Column(allowsNull = "false") > >>> @MemberOrder(sequence = "1") > >>> public TimeScale getTimeScale() { > >>> return this.timeScale; > >>> } > >>> > >>> public void setTimeScale(final TimeScale timeScale) { > >>> this.timeScale = timeScale; > >>> } > >>> > >>> // }} > >>> > >>> // {{ TimeLapseDuration (property) > >>> private BigDecimal timeLapseDuration; > >>> > >>> @Disabled > >>> @Column(allowsNull = "false") > >>> @MemberOrder(sequence = "1") > >>> public BigDecimal getTimeLapseDuration() { > >>> return this.timeLapseDuration; > >>> } > >>> > >>> public void setTimeLapseDuration(final BigDecimal timeLapseDuration) > { > >>> this.timeLapseDuration = timeLapseDuration; > >>> } > >>> > >>> public void modifyTimeLapseDuration(final BigDecimal > >>> timeLapseDuration) { > >>> final BigDecimal currentTimeLapseDuration = > >>> this.getTimeLapseDuration(); > >>> // check for no-op > >>> if ((timeLapseDuration == null) || > >>> timeLapseDuration.equals(currentTimeLapseDuration)) { > >>> return; > >>> } > >>> // associate new > >>> this.setTimeLapseDuration(timeLapseDuration); > >>> // additional business logic > >>> this.onModifyTimeLapseDuration(currentTimeLapseDuration, > >>> timeLapseDuration); > >>> } > >>> > >>> public void clearTimeLapseDuration() { > >>> final BigDecimal currentTimeLapseDuration = > >>> this.getTimeLapseDuration(); > >>> // check for no-op > >>> if (currentTimeLapseDuration == null) { > >>> return; > >>> } > >>> // dissociate existing > >>> this.setTimeLapseDuration(null); > >>> // additional business logic > >>> this.onClearTimeLapseDuration(currentTimeLapseDuration); > >>> } > >>> > >>> protected void onModifyTimeLapseDuration(final BigDecimal > >>> oldTimeLapseDuration, final BigDecimal newTimeLapseDuration) { > >>> > >>> if ((newTimeLapseDuration != null) && (this.getTimeLapseUnit() != > >>> null)) { > >>> > >>> this.setValue(StandardTimeUnit.HOURS.convert(this.timeLapseDuration, > >>> this.timeLapseUnit)); > >>> } else { > >>> this.setValue(null); > >>> } > >>> > >>> } > >>> > >>> protected void onClearTimeLapseDuration(final BigDecimal > >>> oldTimeLapseDuration) { > >>> > >>> this.setValue(null); > >>> > >>> } > >>> > >>> // }} > >>> > >>> // {{ TimeLapseUnit (property) > >>> private StandardTimeUnit timeLapseUnit; > >>> > >>> @Disabled > >>> @Column(allowsNull = "false") > >>> @MemberOrder(sequence = "1") > >>> public StandardTimeUnit getTimeLapseUnit() { > >>> return this.timeLapseUnit; > >>> } > >>> > >>> public void setTimeLapseUnit(final StandardTimeUnit timeLapseUnit) { > >>> this.timeLapseUnit = timeLapseUnit; > >>> } > >>> > >>> // }} > >>> > >>> // {{ assignTimeLapse (action) > >>> @MemberOrder(sequence = "1") > >>> public void assignTimeLapse(@Named("Time Lapse - Duration") final > >>> BigDecimal duration, @Named("Time Lapse - Unit") final StandardTimeUnit > >>> standardTimeUnit) { > >>> > >>> this.setTimeLapseDuration(duration); > >>> this.setTimeLapseUnit(standardTimeUnit); > >>> this.setValue(StandardTimeUnit.HOURS.convert(duration, > >>> standardTimeUnit)); > >>> > >>> } > >>> > >>> // }} > >>> > >>> /* > >>> * (non-Javadoc) > >>> * > >>> * @see > >>> * > >>> com.xms.framework.risk.criteria.api.domain.ScaleLevel#isValueIncluded > >>> * (java.lang.Object) > >>> */ > >>> @Override > >>> @Programmatic > >>> public Boolean isValueIncluded(final BigDecimal value) { > >>> // The equals() method for BigDecimals fails when they don't have > >>> the > >>> // same scale. This is the proper way. See: > >>> // > >>> > http://www.opentaps.org/docs/index.php/How_to_Use_Java_BigDecimal:_A_Tutorial > >>> if ((this.getValue() == null) || > (this.getValue().compareTo(value) > >>> < 0)) { > >>> return false; > >>> } else { > >>> final AbstractScaleLevel lowerLevel = > >>> this.getScale().lowerLevel(this); > >>> if (lowerLevel == null) { > >>> return true; > >>> } else if (lowerLevel.getValue().compareTo(value) > 0) { > >>> return true; > >>> } else { > >>> return false; > >>> } > >>> } > >>> } > >>> > >>> @Override > >>> @NotPersisted > >>> @NotPersistent > >>> @Hidden > >>> public AbstractScale getScale() { > >>> return this.getTimeScale(); > >>> } > >>> > >>> @Override > >>> public void setScale(final AbstractScale scale) { > >>> this.timeScale = (TimeScale) scale; > >>> } > >>> > >>> public String disableValue() { > >>> return "When you enter a Duration and a Time Unit the value will > >>> automatically be the equivalent number of Hours"; > >>> } > >>> > >>> } > >>> > >>> > >>> > >>> HTH, > >>> > >>> Oscar > >>> > >>> > >>> > >>> > >>> El 13/12/2013, a las 17:58, Dan Haywood <d...@haywood-associates.co.uk> > >>> escribió: > >>> > >>>> It is, perhaps, possible that the object not yet mapped is already > >>>> persisted... perhaps it's being loaded lazily earlier on somehow, and > >>> isn't > >>>> being picked up by the synchronizer. > >>>> > >>>> Can you put a break point at the ensureRootLogging(...) when it throws > >>> the > >>>> exception, and copy the full stack trace out? > >>>> > >>>> Also, there may be a quick fix (though it's a bit hacky; it'd be nice > to > >>>> understand why this is breaking). Even so, to apply that possible > >>>> fix/hack, in ensureRootLObject(...), change the call to > >>>> "getAdapterFor(...)" to instead call "adapterFor(...)"; this latter > >>> method > >>>> will create the adapter if it's not there. > >>>> > >>>> Dan > >>>> > >>>> > >>>> > >>>> On 13 December 2013 16:37, GESCONSULTOR - Óscar Bou > >>>> <o....@gesconsultor.com>wrote: > >>>> > >>>>> Thanks a lot, Dan. > >>>>> > >>>>> This object is: [value=1.000000000000000, [name=1 hour, > >>>>> [tenantId=TENANT, [id=91FB2A32-BDC6-47A3-A67D-CE76FA4EF5EF, class > >>>>> > >>> > name=com.xms.framework.architecture.domain.model.valuation.PointInTime]]]] > >>>>> > >>>>> That "PointInTime" was initially created through a Fixture - on a > past > >>>>> execution -, and currently loaded from the database through a > repository > >>>>> call. > >>>>> > >>>>> The code for the repository's method, "findByPropMultiTenant" is the > >>> next > >>>>> one: > >>>>> > >>>>> @Programmatic > >>>>> public <S extends AbstractXMSDomainObject> List<S> > >>>>> findByPropMultiTenant(final String tenantId, final Class<S> clazz, > final > >>>>> String whereClause, final Integer firstResult, final Integer > maxResults, > >>>>> final String orderClause) { > >>>>> return > >>>>> IsisContext.getTransactionManager().executeWithinTransaction(new > >>>>> TransactionalClosureWithReturnAbstract<List<S>>() { > >>>>> > >>>>> @Override > >>>>> public List<S> execute() { > >>>>> return > >>>>> > >>> > AbstractXMSDomainObjectRepositoryAndFactory.this.doFindByPropMultiTenant(tenantId, > >>>>> clazz, whereClause, firstResult, maxResults, orderClause); > >>>>> } > >>>>> > >>>>> @Override > >>>>> public void onFailure() { > >>>>> > >>>>> } > >>>>> }); > >>>>> > >>>>> } > >>>>> > >>>>> @SuppressWarnings("unchecked") > >>>>> @Programmatic > >>>>> private <S extends AbstractXMSDomainObject> List<S> > >>>>> doFindByPropMultiTenant(final String tenantId, final Class<S> clazz, > >>> final > >>>>> String whereClause, final Integer firstResult, final Integer > maxResults, > >>>>> final String orderClause) { > >>>>> > >>>>> // Ensure any newly persisted objects are saved to the object > >>> store > >>>>> // before executing the query. > >>>>> this.getContainer().flush(); > >>>>> > >>>>> // See this for examples: > >>>>> // > >>>>> > >>> > http://www.datanucleus.org/products/accessplatform_2_1/jdo/query_api.html > >>>>> final Query query = > >>>>> this.isisJdoSupport.getJdoPersistenceManager().newQuery(clazz); > >>>>> > >>>>> // Always add the Tenant filter. > >>>>> String filter = String.format("tenantId == '%s'", tenantId); > >>>>> if ((whereClause != null) && (whereClause.trim().length() != 0)) > >>> { > >>>>> filter = filter.concat(" && ").concat(whereClause); > >>>>> } > >>>>> query.setFilter(filter); > >>>>> > >>>>> query.setRange(this.firstResultToLong(firstResult), > >>>>> this.maxResultsToLong(maxResults)); > >>>>> final List<S> result = (List<S>) query.execute(); > >>>>> return result; > >>>>> } > >>>>> > >>>>> > >>>>> > >>>>> Thanks, > >>>>> > >>>>> Oscar > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> El 13/12/2013, a las 17:15, Dan Haywood < > d...@haywood-associates.co.uk> > >>>>> escribió: > >>>>> > >>>>>> Hi Oscar, > >>>>>> the stack trace is somewhat truncated, unfortunately, but I think I > can > >>>>>> approximately work it out. > >>>>>> > >>>>>> *It starts to get useful down at the very end, in the last nested > >>>>> block...* > >>>>>> > >>>>>> > >>>>>> Caused by: org.apache.isis.core.commons.exceptions.IsisException: > >>> Object > >>>>>> not yet known to Isis: [value=1.000000000000000, [name=1 hour, > >>>>>> [tenantId=TENANT, [id=91FB2A32-BDC6-47A3-A67D-CE76FA4EF5EF, class > >>>>>> > >>>>> > >>> > name=com.xms.framework.architecture.domain.model.valuation.PointInTime]]]] > >>>>>> at > >>>>>> org.apache.isis.objectstore.jdo.datanucleus.persistence. > >>>>>> > FrameworkSynchronizer.ensureRootObject(FrameworkSynchronizer.java:353) > >>>>>> at > >>>>>> org.apache.isis.objectstore.jdo.datanucleus.persistence. > >>>>>> FrameworkSynchronizer$2.run(FrameworkSynchronizer.java:143) > >>>>>> at > >>>>>> org.apache.isis.objectstore.jdo.datanucleus.persistence. > >>>>>> FrameworkSynchronizer$7.call(FrameworkSynchronizer.java:291) > >>>>>> at > >>>>>> org.apache.isis.objectstore.jdo.datanucleus.persistence. > >>>>>> FrameworkSynchronizer$7.call(FrameworkSynchronizer.java:287) > >>>>>> at > >>>>>> org.apache.isis.objectstore.jdo.datanucleus.persistence. > >>>>>> FrameworkSynchronizer.withLogging(FrameworkSynchronizer.java:276) > >>>>>> > >>>>>> > >>>>>> > >>>>>> *From what I can see, there's a repository query...* > >>>>>> > >>>>>> com.xms.framework.common.domain.model.AbstractXMSDomainObjectReposit > >>>>>> oryAndFactory.findByPropMultiTenant(AbstractXMSDomainObjectReposit > >>>>>> oryAndFactory.java:509) > >>>>>> at > >>>>>> com.xms.framework.common.domain.model.AbstractXMSDomainObjectReposit > >>>>>> oryAndFactory.findByProp(AbstractXMSDomainObjectReposit > >>>>>> oryAndFactory.java:502) > >>>>>> at > >>>>>> com.xms.framework.common.domain.model.AbstractSingletonMultiTenantOb > >>>>>> > >>> > jectRepositoryAndFactory.singletonInstance(AbstractSingletonMultiTenantOb > >>>>>> jectRepositoryAndFactory.java:16) > >>>>>> at > >>>>>> com.xms.framework.monitoring.domain.model.architecture. > >>>>>> AssetsMonitoringInformation.monitoringInformation( > >>>>>> AssetsMonitoringInformation.java:12) > >>>>>> > >>>>>> > >>>>>> > >>>>>> *which (as they all do) causes a flush of the xactn, which in turn > >>> causes > >>>>>> some queued up "create object" commands to be executed...* > >>>>>> > >>>>>> org.apache.isis.objectstore.jdo.datanucleus.persistence.commands. > >>>>>> > DataNucleusCreateObjectCommand.execute(DataNucleusCreateObjectCommand > >>>>>> .java:54) > >>>>>> at > >>>>>> org.apache.isis.objectstore.jdo.datanucleus.DataNucleusObjectStore. > >>>>>> executeCommands(DataNucleusObjectStore.java:361) > >>>>>> > >>>>>> > >>>>>> > >>>>>> > >>>>>> *DataNucleus then does its persist...* > >>>>>> > >>>>>> org.datanucleus.state.JDOStateManager.internalMakePersistent( > >>>>>> JDOStateManager.java:3779) > >>>>>> at > >>>>>> org.datanucleus.state.JDOStateManager.makePersistent( > >>>>>> JDOStateManager.java:3752) > >>>>>> > >>>>>> > >>>>>> > >>>>>> > >>>>>> *and calls Isis through a callback:* > >>>>>> > >>>>>> org.datanucleus.api.jdo.JDOCallbackHandler.postStore( > >>>>>> JDOCallbackHandler.java:158) > >>>>>> at > >>>>>> > >>>>>> > >>>>>> > >>>>>> *Isis then attempts to synchronize its state with that of > DataNucleus, > >>>>> and > >>>>>> fails fast because it's being asked to locate an object that it has > >>> never > >>>>>> seen before:* > >>>>>> > >>>>>> Caused by: java.lang.RuntimeException: > >>>>>> org.apache.isis.core.commons.exceptions.IsisException: Object not > yet > >>>>>> known to Isis: [value=1.000000000000000, [name=1 hour, > >>>>>> [tenantId=TENANT, [id=91FB2A32-BDC6-47A3-A67D-CE76FA4EF5EF, class > >>>>>> > >>>>> > >>> > name=com.xms.framework.architecture.domain.model.valuation.PointInTime]]]] > >>>>>> at > >>>>>> org.apache.isis.objectstore.jdo.datanucleus.persistence. > >>>>>> FrameworkSynchronizer.withLogging(FrameworkSynchronizer.java:278) > >>>>>> at > >>>>>> org.apache.isis.objectstore.jdo.datanucleus.persistence. > >>>>>> FrameworkSynchronizer.withLogging(FrameworkSynchronizer.java:287) > >>>>>> > >>>>>> > >>>>>> *The actual exception is thrown by > >>>>> FrameworkSynchronizer#ensureRootObject* > >>>>>> > >>>>>> void ensureRootObject(final PersistenceCapable pojo) { > >>>>>> final ObjectAdapter adapter = > >>>>>> getAdapterManager().getAdapterFor(pojo); > >>>>>> if(adapter == null) { > >>>>>> throw new IsisException(MessageFormat.format("Object not yet > >>>>>> known to Isis: {0}", pojo)); > >>>>>> } > >>>>>> > >>>>>> > >>>>>> > >>>>>> > >>>>>> *This is a "fail fast" because, I think, it ought not to happen... > if > >>> the > >>>>>> object was created using > >>>>>> DomainObjectContainer#createTransientInstance(...), then the pojo's > >>>>> adapter > >>>>>> would be in the AdapterManager.* > >>>>>> > >>>>>> Could you put a break point on the failing line (in > ensureRootObject) > >>> and > >>>>>> find out which object is not mapped, then see how that object is > >>>>> originally > >>>>>> instantiated (eg put a break point in that object's constructor and > >>> look > >>>>>> down the stacktrace). > >>>>>> > >>>>>> > >>>>>> Dan > >>>>>> > >>>>>> > >>>>>> > >>>>>> > >>>>>> > >>>>>> > >>>>>> On 13 December 2013 15:55, GESCONSULTOR - Óscar Bou > >>>>>> <o....@gesconsultor.com>wrote: > >>>>>> > >>>>>>> > >>>>>>> Hi to all. > >>>>>>> > >>>>>>> While testing a part of our app, the following exception has been > >>>>> raised. > >>>>>>> It blocks the execution of any logic. > >>>>>>> > >>>>>>> Not sure about if it's a framework error or perhaps something > >>> regarding > >>>>>>> Isis Session management. > >>>>>>> > >>>>>>> Any help, please? > >>>>>>> > >>>>>>> Thanks, > >>>>>>> > >>>>>>> Oscar > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> 16:40:05,021 [IsisTransaction http-8094-7 INFO ] abort > >>>>>>> transaction IsisTransaction@4ff9c1a1[state=MUST_ABORT,commands=0] > >>>>>>> 16:40:05,022 [JSONRPCController http-8094-7 ERROR] Exception > >>>>>>> executing consequence for rule "event handler: Asset Dimension > Impact > >>>>>>> restored. Send emails" in com.xms.framework.monitoring.rules: > >>>>>>> java.lang.RuntimeException: > >>>>>>> org.apache.isis.core.commons.exceptions.IsisException: Object not > yet > >>>>>>> known to Isis: [value=1.000000000000000, [name=1 hour, > >>>>>>> [tenantId=TENANT, [id=91FB2A32-BDC6-47A3-A67D-CE76FA4EF5EF, class > >>>>>>> > >>>>> > >>> > name=com.xms.framework.architecture.domain.model.valuation.PointInTime]]]] > >>>>>>> com.xms.framework.api.exception.XMSRuntimeException: Exception > >>> executing > >>>>>>> consequence for rule "event handler: Asset Dimension Impact > restored. > >>>>>>> Send emails" in com.xms.framework.monitoring.rules: > >>>>>>> java.lang.RuntimeException: > >>>>>>> org.apache.isis.core.commons.exceptions.IsisException: Object not > yet > >>>>>>> known to Isis: [value=1.000000000000000, [name=1 hour, > >>>>>>> [tenantId=TENANT, [id=91FB2A32-BDC6-47A3-A67D-CE76FA4EF5EF, class > >>>>>>> > >>>>> > >>> > name=com.xms.framework.architecture.domain.model.valuation.PointInTime]]]] > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > com.xms.framework.devstudio.service.AbstractDevStudioDomainService.executeAction(AbstractDevStudioDomainService.java:188) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > com.xms.framework.impl.devstudio.service.XMSDomainCustomizeMethodsService.realTimeDashboards_notifyServiceUp(XMSDomainCustomizeMethodsService.java:5422) > >>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > >>>>>>> at java.lang.reflect.Method.invoke(Method.java:597) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > com.wavemaker.runtime.service.reflect.ReflectServiceType.invokeMethod(ReflectServiceType.java:115) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > com.wavemaker.runtime.server.ServerUtils.invokeMethodWithEvents(ServerUtils.java:293) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > com.wavemaker.runtime.server.ControllerBase.invokeMethod(ControllerBase.java:263) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > com.wavemaker.runtime.server.JSONRPCController.executeRequest(JSONRPCController.java:109) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > com.wavemaker.runtime.server.ControllerBase.handleRequestInternal(ControllerBase.java:135) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:900) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:827) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789) > >>>>>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) > >>>>>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:183) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.springframework.security.web.access.channel.ChannelProcessingFilter.doFilter(ChannelProcessingFilter.java:144) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.apache.isis.core.webapp.IsisSessionFilter$SessionState$1.handle(IsisSessionFilter.java:320) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.apache.isis.core.webapp.IsisSessionFilter.doFilter(IsisSessionFilter.java:409) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) > >>>>>>> at > >>>>>>> > >>>>> > >>> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) > >>>>>>> at > >>>>>>> > >>>>> > >>> > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606) > >>>>>>> at > >>>>>>> > >>> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) > >>>>>>> at java.lang.Thread.run(Thread.java:662) > >>>>>>> Caused by: Exception executing consequence for rule "event handler: > >>>>>>> Asset Dimension Impact restored. Send emails" in > >>>>>>> com.xms.framework.monitoring.rules: java.lang.RuntimeException: > >>>>>>> org.apache.isis.core.commons.exceptions.IsisException: Object not > yet > >>>>>>> known to Isis: [value=1.000000000000000, [name=1 hour, > >>>>>>> [tenantId=TENANT, [id=91FB2A32-BDC6-47A3-A67D-CE76FA4EF5EF, class > >>>>>>> > >>>>> > >>> > name=com.xms.framework.architecture.domain.model.valuation.PointInTime]]]] > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.drools.runtime.rule.impl.DefaultConsequenceExceptionHandler.handleException(DefaultConsequenceExceptionHandler.java:39) > >>>>>>> at > >>>>>>> > >>> org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:1297) > >>>>>>> at > >>>>>>> > org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:1221) > >>>>>>> at > >>>>>>> > org.drools.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:1456) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:710) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:674) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.drools.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:230) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > com.xms.framework.monitoring.domain.model.realtime.server.RealTimeIntelligentMonitoringServer.insertCommand(RealTimeIntelligentMonitoringServer.java:51) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > com.xms.framework.monitoring.domain.model.realtime.dashboards.RealTimeDashboards.notifyServiceUp(RealTimeDashboards.java:389) > >>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > >>>>>>> at java.lang.reflect.Method.invoke(Method.java:597) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.apache.isis.core.progmodel.facets.actions.invoke.ActionInvocationFacetViaMethod.invoke(ActionInvocationFacetViaMethod.java:111) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.apache.isis.core.runtime.transaction.facets.ActionInvocationFacetWrapTransaction$1.execute(ActionInvocationFacetWrapTransaction.java:56) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.apache.isis.core.runtime.transaction.facets.ActionInvocationFacetWrapTransaction$1.execute(ActionInvocationFacetWrapTransaction.java:53) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.apache.isis.core.runtime.system.transaction.IsisTransactionManager.executeWithinTransaction(IsisTransactionManager.java:217) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.apache.isis.core.runtime.transaction.facets.ActionInvocationFacetWrapTransaction.invoke(ActionInvocationFacetWrapTransaction.java:53) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.apache.isis.core.metamodel.specloader.specimpl.ObjectActionImpl.execute(ObjectActionImpl.java:345) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > com.xms.framework.devstudio.service.AbstractDevStudioDomainService.executeAction(AbstractDevStudioDomainService.java:183) > >>>>>>> ... 73 more > >>>>>>> Caused by: java.lang.RuntimeException: > >>>>>>> org.apache.isis.core.commons.exceptions.IsisException: Object not > yet > >>>>>>> known to Isis: [value=1.000000000000000, [name=1 hour, > >>>>>>> [tenantId=TENANT, [id=91FB2A32-BDC6-47A3-A67D-CE76FA4EF5EF, class > >>>>>>> > >>>>> > >>> > name=com.xms.framework.architecture.domain.model.valuation.PointInTime]]]] > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.apache.isis.objectstore.jdo.datanucleus.persistence.FrameworkSynchronizer.withLogging(FrameworkSynchronizer.java:278) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.apache.isis.objectstore.jdo.datanucleus.persistence.FrameworkSynchronizer.withLogging(FrameworkSynchronizer.java:287) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.apache.isis.objectstore.jdo.datanucleus.persistence.FrameworkSynchronizer.postStoreProcessingFor(FrameworkSynchronizer.java:140) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.apache.isis.objectstore.jdo.datanucleus.persistence.IsisLifecycleListener$2.doRun(IsisLifecycleListener.java:95) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.apache.isis.objectstore.jdo.datanucleus.persistence.IsisLifecycleListener$RunnableAbstract.run(IsisLifecycleListener.java:201) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.apache.isis.objectstore.jdo.datanucleus.persistence.IsisLifecycleListener.withLogging(IsisLifecycleListener.java:180) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.apache.isis.objectstore.jdo.datanucleus.persistence.IsisLifecycleListener.postStore(IsisLifecycleListener.java:91) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.datanucleus.api.jdo.JDOCallbackHandler.postStore(JDOCallbackHandler.java:158) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.datanucleus.state.JDOStateManager.internalMakePersistent(JDOStateManager.java:3779) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.datanucleus.state.JDOStateManager.makePersistent(JDOStateManager.java:3752) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.datanucleus.ExecutionContextImpl.persistObjectInternal(ExecutionContextImpl.java:2199) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.datanucleus.ExecutionContextImpl.persistObjectInternal(ExecutionContextImpl.java:2300) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.datanucleus.store.types.SCOUtils.validateObjectForWriting(SCOUtils.java:1348) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.datanucleus.store.rdbms.scostore.ElementContainerStore.validateElementForWriting(ElementContainerStore.java:369) > >>>>>>> at > >>>>>>> > >>> > org.datanucleus.store.rdbms.scostore.FKSetStore.add(FKSetStore.java:401) > >>>>>>> at > >>>>>>> > >>>>> > >>> > org.datanucleus.store.rdbms.scostore.FKSetStore.addAll(FKSetStore.java:556) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.datanucleus.store.rdbms.mapping.java.CollectionMapping.postInsert(CollectionMapping.java:136) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.datanucleus.store.rdbms.request.InsertRequest.execute(InsertRequest.java:519) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.datanucleus.store.rdbms.RDBMSPersistenceHandler.insertTable(RDBMSPersistenceHandler.java:167) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.datanucleus.store.rdbms.RDBMSPersistenceHandler.insertObject(RDBMSPersistenceHandler.java:143) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.datanucleus.state.JDOStateManager.internalMakePersistent(JDOStateManager.java:3776) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.datanucleus.state.JDOStateManager.makePersistent(JDOStateManager.java:3752) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.datanucleus.ExecutionContextImpl.persistObjectInternal(ExecutionContextImpl.java:2199) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.datanucleus.ExecutionContextImpl.persistObjectInternal(ExecutionContextImpl.java:2294) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.datanucleus.store.rdbms.mapping.java.PersistableMapping.setObjectAsValue(PersistableMapping.java:567) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.datanucleus.store.rdbms.mapping.java.PersistableMapping.setObject(PersistableMapping.java:326) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.datanucleus.store.rdbms.fieldmanager.ParameterSetter.storeObjectField(ParameterSetter.java:193) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.datanucleus.state.JDOStateManager.providedObjectField(JDOStateManager.java:1269) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > com.xms.framework.architecture.domain.model.valuation.ConsequencesByTimeAndCriterion.jdoProvideField(ConsequencesByTimeAndCriterion.java) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > com.xms.framework.common.domain.model.AbstractXMSDomainObject.jdoProvideFields(AbstractXMSDomainObject.java) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.datanucleus.state.JDOStateManager.provideFields(JDOStateManager.java:1346) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.datanucleus.store.rdbms.request.InsertRequest.execute(InsertRequest.java:289) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.datanucleus.store.rdbms.RDBMSPersistenceHandler.insertTable(RDBMSPersistenceHandler.java:167) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.datanucleus.store.rdbms.RDBMSPersistenceHandler.insertObject(RDBMSPersistenceHandler.java:143) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.datanucleus.state.JDOStateManager.internalMakePersistent(JDOStateManager.java:3776) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.datanucleus.state.JDOStateManager.makePersistent(JDOStateManager.java:3752) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.datanucleus.ExecutionContextImpl.persistObjectInternal(ExecutionContextImpl.java:2199) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.datanucleus.ExecutionContextImpl.persistObjectInternal(ExecutionContextImpl.java:2294) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.datanucleus.store.rdbms.mapping.java.PersistableMapping.setObjectAsValue(PersistableMapping.java:567) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.datanucleus.store.rdbms.mapping.java.PersistableMapping.setObject(PersistableMapping.java:326) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.datanucleus.store.rdbms.fieldmanager.ParameterSetter.storeObjectField(ParameterSetter.java:193) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.datanucleus.state.JDOStateManager.providedObjectField(JDOStateManager.java:1269) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > com.xms.framework.architecture.domain.model.Asset.jdoProvideField(Asset.java) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > com.xms.framework.architecture.domain.model.Service.jdoProvideField(Service.java) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > com.xms.framework.architecture.domain.model.technology.InfrastructureService.jdoProvideField(InfrastructureService.java) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > com.xms.framework.common.domain.model.AbstractXMSDomainObject.jdoProvideFields(AbstractXMSDomainObject.java) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.datanucleus.state.JDOStateManager.provideFields(JDOStateManager.java:1346) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.datanucleus.store.rdbms.request.InsertRequest.execute(InsertRequest.java:289) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.datanucleus.store.rdbms.RDBMSPersistenceHandler.insertTable(RDBMSPersistenceHandler.java:167) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.datanucleus.store.rdbms.RDBMSPersistenceHandler.insertTable(RDBMSPersistenceHandler.java:163) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.datanucleus.store.rdbms.RDBMSPersistenceHandler.insertObject(RDBMSPersistenceHandler.java:143) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.datanucleus.state.JDOStateManager.internalMakePersistent(JDOStateManager.java:3776) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.datanucleus.state.JDOStateManager.makePersistent(JDOStateManager.java:3752) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.datanucleus.ExecutionContextImpl.persistObjectInternal(ExecutionContextImpl.java:2199) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.datanucleus.ExecutionContextImpl.persistObjectInternal(ExecutionContextImpl.java:2294) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.datanucleus.store.rdbms.mapping.java.PersistableMapping.setObjectAsValue(PersistableMapping.java:567) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.datanucleus.store.rdbms.mapping.java.PersistableMapping.setObject(PersistableMapping.java:326) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.datanucleus.store.rdbms.fieldmanager.ParameterSetter.storeObjectField(ParameterSetter.java:193) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.datanucleus.state.JDOStateManager.providedObjectField(JDOStateManager.java:1269) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > com.xms.framework.risk.domain.model.materialization.EventOccurrence.jdoProvideField(EventOccurrence.java) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > com.xms.framework.common.domain.model.AbstractXMSDomainObject.jdoProvideFields(AbstractXMSDomainObject.java) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.datanucleus.state.JDOStateManager.provideFields(JDOStateManager.java:1346) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.datanucleus.store.rdbms.request.InsertRequest.execute(InsertRequest.java:289) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.datanucleus.store.rdbms.RDBMSPersistenceHandler.insertTable(RDBMSPersistenceHandler.java:167) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.datanucleus.store.rdbms.RDBMSPersistenceHandler.insertObject(RDBMSPersistenceHandler.java:143) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.datanucleus.state.JDOStateManager.internalMakePersistent(JDOStateManager.java:3776) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.datanucleus.state.JDOStateManager.makePersistent(JDOStateManager.java:3752) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.datanucleus.ExecutionContextImpl.persistObjectInternal(ExecutionContextImpl.java:2199) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.datanucleus.ExecutionContextImpl.persistObjectWork(ExecutionContextImpl.java:2045) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.datanucleus.ExecutionContextImpl.persistObject(ExecutionContextImpl.java:1893) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.datanucleus.api.jdo.JDOPersistenceManager.jdoMakePersistent(JDOPersistenceManager.java:727) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.datanucleus.api.jdo.JDOPersistenceManager.makePersistent(JDOPersistenceManager.java:752) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.apache.isis.objectstore.jdo.datanucleus.persistence.commands.DataNucleusCreateObjectCommand.execute(DataNucleusCreateObjectCommand.java:54) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.apache.isis.objectstore.jdo.datanucleus.DataNucleusObjectStore.executeCommands(DataNucleusObjectStore.java:361) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.apache.isis.objectstore.jdo.datanucleus.DataNucleusObjectStore.execute(DataNucleusObjectStore.java:355) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.apache.isis.core.runtime.system.transaction.IsisTransaction.doFlush(IsisTransaction.java:388) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.apache.isis.core.runtime.system.transaction.IsisTransaction.flush(IsisTransaction.java:337) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.apache.isis.core.runtime.system.transaction.IsisTransactionManager.flushTransaction(IsisTransactionManager.java:298) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.apache.isis.core.runtime.persistence.internal.RuntimeContextFromSession$7.flush(RuntimeContextFromSession.java:221) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.apache.isis.core.metamodel.services.container.DomainObjectContainerDefault.flush(DomainObjectContainerDefault.java:229) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > com.xms.framework.common.domain.model.AbstractXMSDomainObjectRepositoryAndFactory.doFindByPropMultiTenant(AbstractXMSDomainObjectRepositoryAndFactory.java:525) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > com.xms.framework.common.domain.model.AbstractXMSDomainObjectRepositoryAndFactory.access$900(AbstractXMSDomainObjectRepositoryAndFactory.java:37) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > com.xms.framework.common.domain.model.AbstractXMSDomainObjectRepositoryAndFactory$10.execute(AbstractXMSDomainObjectRepositoryAndFactory.java:513) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > com.xms.framework.common.domain.model.AbstractXMSDomainObjectRepositoryAndFactory$10.execute(AbstractXMSDomainObjectRepositoryAndFactory.java:509) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.apache.isis.core.runtime.system.transaction.IsisTransactionManager.executeWithinTransaction(IsisTransactionManager.java:217) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > com.xms.framework.common.domain.model.AbstractXMSDomainObjectRepositoryAndFactory.findByPropMultiTenant(AbstractXMSDomainObjectRepositoryAndFactory.java:509) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > com.xms.framework.common.domain.model.AbstractXMSDomainObjectRepositoryAndFactory.findByProp(AbstractXMSDomainObjectRepositoryAndFactory.java:502) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > com.xms.framework.common.domain.model.AbstractSingletonMultiTenantObjectRepositoryAndFactory.singletonInstance(AbstractSingletonMultiTenantObjectRepositoryAndFactory.java:16) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > com.xms.framework.monitoring.domain.model.architecture.AssetsMonitoringInformation.monitoringInformation(AssetsMonitoringInformation.java:12) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > com.xms.framework.monitoring.rules.SendNotificationEmailsForAssetMonitoringEvent.sendNotificationEmailsForAssetMonitoringEvent(SendNotificationEmailsForAssetMonitoringEvent.java:97) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > com.xms.framework.monitoring.rules.Rule_event_handler__Asset_Dimension_Impact_restored__Send_emails_d3be8ad20c3b4d609f66efe80ac6a5bc.defaultConsequence(Rule_event_handler__Asset_Dimension_Impact_restored__Send_emails_d3be8ad20c3b4d609f66efe80ac6a5bc.java:9) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > com.xms.framework.monitoring.rules.Rule_event_handler__Asset_Dimension_Impact_restored__Send_emails_d3be8ad20c3b4d609f66efe80ac6a5bcDefaultConsequenceInvokerGenerated.evaluate(Unknown > >>>>>>> Source) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > com.xms.framework.monitoring.rules.Rule_event_handler__Asset_Dimension_Impact_restored__Send_emails_d3be8ad20c3b4d609f66efe80ac6a5bcDefaultConsequenceInvoker.evaluate(Unknown > >>>>>>> Source) > >>>>>>> at > >>>>>>> > >>> org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:1287) > >>>>>>> ... 91 more > >>>>>>> Caused by: org.apache.isis.core.commons.exceptions.IsisException: > >>> Object > >>>>>>> not yet known to Isis: [value=1.000000000000000, [name=1 hour, > >>>>>>> [tenantId=TENANT, [id=91FB2A32-BDC6-47A3-A67D-CE76FA4EF5EF, class > >>>>>>> > >>>>> > >>> > name=com.xms.framework.architecture.domain.model.valuation.PointInTime]]]] > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.apache.isis.objectstore.jdo.datanucleus.persistence.FrameworkSynchronizer.ensureRootObject(FrameworkSynchronizer.java:353) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.apache.isis.objectstore.jdo.datanucleus.persistence.FrameworkSynchronizer$2.run(FrameworkSynchronizer.java:143) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.apache.isis.objectstore.jdo.datanucleus.persistence.FrameworkSynchronizer$7.call(FrameworkSynchronizer.java:291) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.apache.isis.objectstore.jdo.datanucleus.persistence.FrameworkSynchronizer$7.call(FrameworkSynchronizer.java:287) > >>>>>>> at > >>>>>>> > >>>>>>> > >>>>> > >>> > org.apache.isis.objectstore.jdo.datanucleus.persistence.FrameworkSynchronizer.withLogging(FrameworkSynchronizer.java:276) > >>>>>>> ... 184 more > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> > >>>>> > >>>>> > >>> > >>> > > > >