Hi Oscar,
glad that sorted it out.  Yes, let's use that as the fix.  Are you happy to
raise the ticket and apply the patch?
Cheers
Dan


On 21 December 2013 14:57, GESCONSULTOR - Óscar Bou
<o....@gesconsultor.com>wrote:

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

Reply via email to