isis-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From GESCONSULTOR - Óscar Bou <o....@gesconsultor.com>
Subject Re: IsisException: Object not yet known to Isis
Date Fri, 13 Dec 2013 17:36:42 GMT

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 <dan@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.bou@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 <dan@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.bou@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 <dan@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.bou@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
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>> 
>>>> 
>> 
>> 


Mime
View raw message