You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@isis.apache.org by "Dan Haywood (JIRA)" <ji...@apache.org> on 2018/02/13 16:35:00 UTC
[jira] [Commented] (ISIS-1829)
AppManifestAbstract#withFixtureScripts no longer works.
[ https://issues.apache.org/jira/browse/ISIS-1829?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16362600#comment-16362600 ]
Dan Haywood commented on ISIS-1829:
-----------------------------------
With kitchensink, using the old AppManifestAbstract2 API, the following works:
{code:java}
public class KitchensinkAppManifestWithFixtures extends KitchensinkAppManifest {
@Override
protected void overrideFixtures(final List<Class<? extends FixtureScript>> fixtureScripts) {
fixtureScripts.add(KitchensinkSetupFixture.class);
}
}
{code}
but so does:
{code:java}
public class KitchensinkAppManifestWithFixtures extends AppManifestAbstract {
private final static AppManifestAbstract.Builder BUILDER =
KitchensinkAppManifest.BUILDER.withFixtureScripts(KitchensinkSetupFixture.class);
public KitchensinkAppManifestWithFixtures() {
super(BUILDER);
}
}{code}
this is where KitchensinkAppManifest itself uses the old AppManifestAbstract API:
{code:java}
public class KitchensinkAppManifest extends AppManifestAbstract {
private final static Builder BUILDER =
Builder.forModules(
KitchensinkDomModule.class,
KitchensinkFixtureModule.class,
KitchensinkAppModule.class,
FakeDataModule.class
)
.withAuthMechanism("shiro")
.withConfigurationProperty("isis.foo", "other")
.withConfigurationPropertiesFile(KitchensinkAppManifest.class, "git.properties");
public KitchensinkAppManifest() {
super(BUILDER);
}
}
{code}
So far so good.
HOWEVER, if refactor KitchensinkAppManifest to use the new AppManifestAbstract2 API:
{code:java}
public class KitchensinkAppManifest extends AppManifestAbstract2 {
final static AppManifestAbstract2.Builder BUILDER =
Builder.forModule(new KitchensinkAppModule()) // in turn defines transitive dependencies...
.withAdditionalModules(FakeDataModule.class)
.withAuthMechanism("shiro")
.withConfigurationProperty("isis.foo", "other")
.withConfigurationPropertiesFile(KitchensinkAppManifest.class, "git.properties");
public KitchensinkAppManifest() {
super(BUILDER);
}
}
{code}
and KitchensinkApManifestWithFixtures is basically unchanged:
{code:java}
public class KitchensinkAppManifestWithFixtures extends AppManifestAbstract2 {
private final static AppManifestAbstract2.Builder BUILDER =
KitchensinkAppManifest.BUILDER.withFixtureScripts(KitchensinkSetupFixture.class);
public KitchensinkAppManifestWithFixtures() {
super(BUILDER);
}
}{code}
then this DOES NOT work.
but the workaround:
{code:java}
public class KitchensinkAppManifestWithFixtures extends AppManifestAbstract2 {
public KitchensinkAppManifestWithFixtures() {
super(KitchensinkAppManifest.BUILDER);
}
@Override protected void overrideFixtures(final List<Class<? extends FixtureScript>> fixtureScriptClasses) {
fixtureScriptClasses.add(KitchensinkSetupFixture.class);
}
}{code}
does still work.
> AppManifestAbstract#withFixtureScripts no longer works.
> -------------------------------------------------------
>
> Key: ISIS-1829
> URL: https://issues.apache.org/jira/browse/ISIS-1829
> Project: Isis
> Issue Type: Bug
> Affects Versions: 1.16.0
> Reporter: Dan Haywood
> Assignee: Dan Haywood
> Priority: Major
> Fix For: 1.16.1
>
>
> workaround is to use overrideFixtureScripts
> I also think that the inverse of using overrideConfigurationProperties is broken in 1.16.0
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)