Hi Vladimir,

The isis.properties you want to point to lives in a different project and
might have a different purpose so you should rather not create and
inter-project dependency like that. Also your example uses a resource
location which is specific to your machine which is a pain if you want to
have another developer work on the same code base.

In general there are only a few properties you need to set in ISFT since
most domain services are automatically discovered by the @DomainService
annotation. We've had no requirement to use isis.properties in our
integtest projects so far, perhaps you can share the reason why the current
situation doesn't work for you?

Cheers,

Jeroen






On Mon, Nov 24, 2014 at 11:52 AM, Vladimir Nišević <vnise...@gmail.com>
wrote:

> Hi guys, based on example from ToDo, we have wrote an our own
> AppSystemInitializier, where we building our own IsisSystemForTest but with
> the difference that we want to reuse current property files, and not
> explicitly declare same we have in the properties again (e.g. domain
> services).
>
> So the question is how to build a IsisSystemForTest where we just point to
> webapp\WEBINF\ directory.
>
> Here what we tried using the idea (
> http://isis.apache.org/reference/externalized-configuration.html) but yet
> not succeeded.
>
>
> package integration;
>
> import org.apache.isis.core.commons.config.IsisConfiguration;
> import org.apache.isis.core.commons.config.IsisConfigurationBuilder;
> import
>
> org.apache.isis.core.commons.config.IsisConfigurationBuilderResourceStreams;
> import org.apache.isis.core.commons.resource.ResourceStreamSourceComposite;
> import
> org.apache.isis.core.commons.resource.ResourceStreamSourceFileSystem;
> import org.apache.isis.core.integtestsupport.IsisSystemForTest;
>
> /**
>  * Holds an instance of an {@link IsisSystemForTest} as a {@link
> ThreadLocal} on
>  * the current thread, initialized with ToDo app's domain services.
>  */
> public class AddressSearchEngineSystemInitializer {
>
>     public static IsisSystemForTest initIsft() {
>         IsisSystemForTest isft = IsisSystemForTest.getElseNull();
>         if (isft == null) {
>             isft = new
> AddressSearchEngineSystemBuilder().build().setUpSystem();
>             IsisSystemForTest.set(isft);
>         }
>         return isft;
>     }
>
>     private static class AddressSearchEngineSystemBuilder extends
> IsisSystemForTest.Builder {
>
>         public AddressSearchEngineSystemBuilder() {
>             with(loadFromFileSystem());
>
>         }
>
>         private static IsisConfiguration loadFromFileSystem() {
>             final String configLocation =
>
> "D:\\aseDev\\WorkspaceAse.eclipse.luna\\ase\\webapp\\src\\main\\webapp\\WEB-INF\\";
>             final ResourceStreamSourceComposite compositeSource = new
>
> ResourceStreamSourceComposite(ResourceStreamSourceFileSystem.create(configLocation));
>             final IsisConfigurationBuilder isisConfigurationBuilder = new
> IsisConfigurationBuilderResourceStreams(compositeSource);
>             return isisConfigurationBuilder.getConfiguration();
>         }
>     }
> }
>
>
>
> Thanks,Vladimir
>

Reply via email to