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, 27 Dec 2013 16:04:49 GMT
Sure, Dan.

Just to let you know, seems that there's a new DataNucleus release (3.2.9).

I've "touched" my pom.xml files and was experimenting some errors while enhancing, a FieldNotFound exception (updateLock).

Just after updating the <datanucleus-core.version> property to new version the compiler is working.

HTH,

Oscar




El 23/12/2013, a las 08:40, Dan Haywood <dan@haywood-associates.co.uk> escribió:

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