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:19:02 GMT
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