Re: Apache Isis slack channel

2019-12-18 Thread Martin Grigorov
Hi Brian,

The Apache Slack is not only for @apache.org people.
If you are not an Apache committer then someone has to invite you.
I just tried to invite you but it gives me an error (without message, so I
am not sure what is wrong).

On Wed, Dec 18, 2019 at 9:24 AM Brian K  wrote:

> I think those of us without an Apache.org email need an invite to join that
> slack team.  Have you considered Matrix (my preference) or Gitter to open
> it up?
>
> -Brian
>
> On Tue, Dec 17, 2019, 11:21 AM Dan Haywood 
> wrote:
>
> > Hi folks,
> >
> > As you are probably aware, Andi and I have been working for a good while
> > now on Apache Isis v2.  We've tended to use a private Skype channel to
> > liaise on day-to-day stuff, and we've raised the occasional issue to the
> > mailing list where it warranted further attention/opinion.
> >
> > The immediacy of a messaging system such as Skype is great to get stuff
> > done, but it isn't the ASF way, and we should do better.
> >
> > Now about a year ago I created an #apache-isis channel on the ASF slack
> > workspace, but I didn't promote it and it hasn't been used.  So with
> > immediate effect Andi and I, at least, are going to be using that channel
> > for our ongoing discussions.  You will find it at [1]
> >
> > Note that none of this replaces the users@ and dev@ mailing lists as the
> > official place where our community lives, and we'll continue to
> "escalate"
> > issues up to the mailing list as and when.  But - as other ASF projects
> do
> > - having a Slack channel will hopefully make our framework more
> accessible
> > to would-be new users.
> >
> > So, hope to see some of you there!
> >
> > Cheers
> > Dan
> >
> >
> > [1] https://the-asf.slack.com/archives/CFC42LWBV
> >
>


Re: Memory leak related to permissions

2019-09-24 Thread Martin Grigorov
Hi,

Keeping your requests stateless is a best practice indeed. It helps to
scale your application easily because there is no need of session
replication, sticky sessions/nodes, etc.
Each request can go to any server node without any preparations.
One can easily debug which part of the code creates an http session by
registering a HttpSessionListener. If
https://docs.oracle.com/javaee/6/api/javax/servlet/http/HttpSessionListener.html#sessionCreated(javax.servlet.http.HttpSessionEvent)
is
called then throw an exception and see the stacktrace.

If the objects stay after the session expiration then most probably there
is another problem.
I'd recommend to use Eclipse MAT (Memory Analyzer Tool) to investigate
what's in the heap memory of the application and what keeps hard references
to the problematic instances.

Cheers,
Martin

On Tue, Sep 24, 2019 at 12:38 PM Andi Huber  wrote:

> Sorry for the late reply!
>
> I'm certainly no expert on this. It only seems best practice to consider
> talking to
> REST endpoints a stateless conversation. Meaning the http request/response
> cycle should not carry over any state from one request to the next. There
> is of
> course state, the state of the domain-objects, but that belongs to a
> different tier.
>
> Not sure if that answers your question. I'm also open if someone can shine
> more light on this topic.
>
> On 2019/09/05 10:27:50, Leandro D'Agostino  wrote:
> > Hi Andi,
> >
> > So from your answer I understand that tomcat's session persistence mode
> > is the cause of accumulating sessions without releasing them. But I then
> > would expect when sessions expire, after the session-timeout period,
> > that related objects will eventually be garbage collected. But objects
> > just keep accumulating over a period way longer then the session-timeout
> > period.
> >
> > Could you tell where you did find the hints that for basic-auth no
> > HttpSession objects should be created?
> >
> > Thanks,
> >Leandro
> >
> >
> > On 8/3/19 4:47 PM, Andi Huber wrote:
> > > Again, I'm not entirely sure, but I've found some hints that for
> basic-auth strategy, we don't want the servlet container to create any
> HttpSession objects at all. So a possible fix would be to tell Shiro not to
> create a HttpSession object, whenever we are using basic-auth strategy.
> > >
> > > I'm working on this ...
> > >
> > > // Basic auth should never create sessions ...
> > >
> > >
> request.setAttribute("org.apache.shiro.subject.support.DefaultSubjectContext.SESSION_CREATION_ENABLED",
> Boolean.FALSE);
> > >
> > > On 2019/08/03 12:52:49, Andi Huber  wrote:
> > >> I think I tracked down the reason why these
> PrincipalForApplicationUser instances won't get garbage collected:
> > >>
> > >> With Basic-Auth as the authentication strategy, each request to the
> REST endpoint spawns a new HTTP Session, which holds a reference to a
> collection of PrincipalForApplicationUser instances.
> > >>
> > >> Now when tomcat runs in a mode, where it keeps all the sessions
> (session persistence mode) these objects cannot be garbage collected.
> > >>
> > >> I'm not a 100% sure but, it seems the described behavior is as it
> should be and hence a non-issue.
> > >>
> > >> However, I'm currently investigating, whether I got it all wrong, or
> there is a convenient solution to this, eg. don't create that many HTTP
> session objects.
> > >>
> > >> Let me know what you think!
> > >>
> > >> Cheers, Andi
> > >>
> > >> On 2019/07/23 07:29:26, Leandro D'Agostino 
> wrote:
> > >>> Thanks Andi!
> > >>>
> > >>> We look forward to your findings.
> > >>>
> > >>> Leandro
> > >>>
> > >>> On 7/23/19 9:11 AM, Andi Huber wrote:
> >  We will certainly investigate this.
> > 
> >  Thanks for the effort of tracking this down!
> > 
> >  I've opened a Jira ticket [1].
> > 
> >  KR Andi
> > 
> >  [1] https://issues.apache.org/jira/browse/ISIS-2156
> > 
> >  On 2019/07/22 14:30:44, Leandro D'Agostino 
> wrote:
> > > Hi,
> > >
> > > We ran into the issue that our application keeps building up
> memory but
> > > never releases it.
> > > We could track it down to the class PrincipalForApplicationUser.
> Every
> > > time a user is authenticated, a new PrincipalForApplicationUser
> object
> > > is created and it is then never released. We experience this memory
> > > issue after a change of increasing the number of permissions from
> 20 to
> > > about 200. When comparing the behaviour of the application before
> and
> > > after the change we see that the retained size of the
> > > PrincipalForApplicationUser class has increased from about 15KB per
> > > instance to about 210KB per instance.
> > >
> > > For our investigation we created a test environment based on the
> > > simpleapp application to be able to isolate the issue and
> reproduce the
> > > issue in a minimalistic environment. So the simpleapp application
> was
> > > extended with 

Re: Need help with SummerNote editor

2019-06-17 Thread Martin Grigorov
Hi,

On Sun, Jun 16, 2019 at 4:44 PM Dan Haywood 
wrote:

> Hi Jayesh,
>
> I'm afraid this module broke in the upgrade from Wicket 6.x to Wicket 7.x,
> which was in Isis v15.x I believe.  We haven't had the need to fix it
> outselves since.
>
> You could go back to an earlier version of our archetype and see if you can
> get it working, that might give you some clues as to what's missing.
>
> The component itself uses the approach documented in the Wicket user guide
> [1].  NB: I've quoted the 1.16.2 version because the 1.17.x version has a
> formatting error.
>
> HTH
> Dan
>
>
>
>
> [1]
>
> http://isis.apache.org/versions/1.16.2/guides/ugvw/ugvw.html#_ugvw_extending_replacing-page-elements
>
>
>
> On Tue, 11 Jun 2019 at 21:04, Jayesh Prajapati 
> wrote:
>
> > Hi,
> >
> > It will be great if someone can share link to a github repo where
> > summernote is working. I will use it as reference.
> >
> > Thanks,
> > Jayesh
> >
> > On Thu, Jun 6, 2019 at 9:53 PM Jayesh Prajapati 
> > wrote:
> >
> > > Hi,
> > >
> > > I used quickstart archetype to create project using Apache Isis
> v1.16.2.
> > > This quickstart project by default include many modules and wicket
> > > components. Today I tried to make use of SummernoteEditor annotation on
> > one
> > > of the parameter of "Update" Mixin action. See below code snippet -
> > >
> > > --START
> > > :
> > > @Mixin
> > > public class WithNameAndDescription_update {
> > >
> > > private final WithNameAndDescription entity;
> > >
> > > public WithNameAndDescription_update(WithNameAndDescription entity) {
> > > this.entity = entity;
> > > }
> > >
> > > @ActionLayout(
> > > describedAs = "Update name and description"
> > > )
> > > @Action(semantics = SemanticsOf.IDEMPOTENT)
> > > public WithNameAndDescription $$(
> > > @Parameter(optionality = Optionality.MANDATORY, maxLength =
> > > WithName.MAX_LEN)
> > > @ParameterLayout(named = "Name", describedAs = "Name of this entity")
> > > final String name,
> > >
> > > @Parameter(optionality = Optionality.OPTIONAL, maxLength =
> > > WithDescription.MAX_LEN)
> > > @ParameterLayout(named = "Description", labelPosition =
> > LabelPosition.TOP,
> > > multiLine = 4, describedAs = "Description of this entity")
> > > @SummernoteEditor(height = 100, maxHeight = 300)
> > > final String description
> > > ) {
> > > entity.setName(name);
> > > entity.setDescription(description);
> > > return entity;
> > > }
> > > :
> > > --END
> > >
> > > When user click on "Update" button for a Category it shows popup
> however
> > > in this dialog there is no summernote editor.
>

Could it be that there is some zIndex related failure here ?
At https://wb8.teliclab.info/summernote I can see that the element with CSS
selector .note-editor .note-dropzone has z-index: 100.
Maybe Isis's dialog uses a bigger value and this "hides" the editor.
Check with the browser Dev Tools.

Regards,
Martin

> >
> > > This project is at location -> [1]
> > > I check the settings as per page -> [2]
> > >
> > > Any idea what am I missing here?!
> > >
> > > Thanks,
> > > Jayesh
> > > [1] - https://github.com/Jayeshecs/statements
> > > [2] -
> > > http://platform.incode.org/modules/wkt/summernote/wkt-summernote.html
> > >
> >
>


Re: Major changes with Isis v2

2019-03-28 Thread Martin Grigorov
Hi,

On Thu, Mar 28, 2019 at 3:43 PM Rade, Joerg / Kuehne + Nagel / HAM GI-DP <
joerg.r...@kuehne-nagel.com> wrote:

> Hi Andi,
>
> my 2c:
>
> The move to Spring (Boot?) will very likely popularize the framework and
> therefore is the right thing to do.
>
> I never really had an issue with JDO and found it's debugging output
> helpful. I hope Hibernate can keep up with that.
>
> CMIIW: Spring's CDI relies on the ComponentScan (CS) at start up time and
> does not allow for easy changes at runtime.
>

What kind of changes do you mean ?
Spring will use component scan only if you tell it to do it. You can
bootstrap the application from a @Configuration class(es) without using any
stereotype annotations like @Component, @Service, etc.


> But this is probably not an issue for existing applications, nor do most
> web applications require such a feature.
>
> Years ago I saw CS entering a second round, ending with multiple instances
> of Singletons - ROTFL.
> Admittedly this was as well due to the size of the project (~ 1.5M LOC)
> and excessive use of applicationContext.xml's - but hey: a basic constraint
> was not enforced.
>
> I don't care too much about how the eventing mechanism of the framework is
> implemented (same degree of ignorance as with persistence) as long as the
> features are available ;-)
>
> After all: Apache projects are meritocratic societies - so go ahead and
> keep up the good work!
>
> Thx -j
>
>
>
>
>
>
>
>
>
>
> Kühne + Nagel (AG & Co.) KG
> Rechtsform: Kommanditgesellschaft, Bremen HRA 21928, USt-IdNr.: DE
> 812773878.
> Geschäftsleitung Kühne + Nagel (AG & Co.) KG: Holger Ketz (Vors. ), Tom
> Ban, Martin Brinkmann, Matthias Knicky, Nicholas Minde, Johannes Trimborn,
> Lars Wedel, Matthias Weiner.
> Persönlich haftende Gesellschafterin: Kühne & Nagel A.G., Rechtsform:
> Aktiengesellschaft nach luxemburgischem Recht, HR-Nr.: B 18745,
> Geschäftsführendes Verwaltungsratsmitglied: Karl Gernandt.
> Geschäftsleitung Region Europa: Dr. Hansjörg Rodi (Vors.), Mart Ambur, Tom
> Ban, Dominic Edmonds, Thierry Held, Uwe Hött, Richard Huhn, Jan-Hendrik
> Köstergarten, Heiko Schuhmacher.
>
> Wir arbeiten ausschließlich auf Grundlage der Allgemeinen Deutschen
> Spediteurbedingungen 2017 (ADSp 2017). Hinweis: Die ADSp 2017 weichen in
> Ziffer 23 hinsichtlich des Haftungshöchstbetrages für Güterschäden (§ 431
> HGB) vom Gesetz ab, indem sie die Haftung bei multimodalen Transporten
> unter Einschluss einer Seebeförderung und bei unbekanntem Schadenort auf 2
> SZR/kg und im Übrigen die Regelhaftung von 8,33 SZR/kg zusätzlich auf 1,25
> Millionen Euro je Schadenfall sowie 2,5 Millionen Euro je Schadenereignis,
> mindestens aber 2 SZR/kg, beschränken. Die ADSp sind auf unserer Webseite
> als Download erhältlich. Auf Anfrage senden wir Ihnen diese auch gerne zu.
>


Re: DataNucleus enhancer on multimodule projects

2018-07-23 Thread Martin Grigorov
Hi Marc,

Welcome to Apache Isis!

You need to enhance only the 'dom' module, the one that contains your
domain objects.
There is no need to enhance the webapp stuff or the integration tests. I
think it won't break anything if you try to enhance them but it will slow
down your build.

On Mon, Jul 23, 2018 at 10:44 AM Marc Fargas 
wrote:

> Hi,
>
> I just recently discovered Apache Isis and aI'm now pissed at Google Search
> for not find it earlier for me (it's exactly what I needed, but incredibly
> hard to come by!).
>
> Documentation recommends that, after some playing around with the Hello
> World, you go with the archetype that comes with a multimodule app. Which
> is awesome as you get a nice long term structure from the start.
>
> My problem is with the enhancer though. Following the steps to make
> IntelliJ work I shall call
> "mvn datanucleusenhancer  -o" and there are screenshots etc but... This is
> not for multimodule projects.
>
> Of course, Option A) would be to add the task for every module I have on
> the Run Configuration.
> But, and the reason I write you, Is there an Option B) by which I can call
> datanucleusenhancer on all modules without manually listing them?
>
> Thanks,
> marc
>
> PS: Sorry in advance if this message ir badly formatted. It's been quite a
> while since I last used a mailling list! :)
>


Re: New Member joins the Apache Isis Team

2017-10-05 Thread Martin Grigorov
Welcome to the team, Andi!

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Thu, Oct 5, 2017 at 9:48 PM, Kevin Meyer <ke...@apache.org> wrote:

> Hello all,
>
> I am pleased to announce that Andi Huber has joined the Apache Isis team!
>
> Andi has been submitting pull requests since April last year, ranging from
> bug fixes to enhancements. He has also learned about how Apache Isis
> works, and used this knowledge to improve the core framework code to
> everyone's benefit.
>
> We notice those of you who contribute to our project, and we invite those
> who consistently contribute to join our team.
>
> Thank you for your support!
>
> Kind regards,
> Kevin
>
> --
> Kevin Meyer,
> Chair, Apache Isis Project Management Committee
>
>
>


Re: Summernotes not editable?

2017-09-21 Thread Martin Grigorov
2017-09-21 16:01 GMT+03:00 Rade, Joerg / Kuehne + Nagel / Ham GI-DP <
joerg.r...@kuehne-nagel.com>:

> Hi Martin,
>
> by 'sn buttons' I refer to the SummerNote tool bar ([*v][B][I]...).
>
> I use fontawesome. Can this be a problem?
>
> I rule out browser (same effect on FF, Chrome, IE).
>

If there is a JS error then it will fail on all browsers :-)
Please check the JS console.


>
> -j
>
>
> -----Ursprüngliche Nachricht-
> Von: Martin Grigorov [mailto:mgrigo...@apache.org]
> Gesendet: Donnerstag, 21. September 2017 14:45
> An: users
> Betreff: Re: Summernotes not editable?
>
> 2017-09-21 14:24 GMT+03:00 Rade, Joerg / Kuehne + Nagel / Ham GI-DP <
> joerg.r...@kuehne-nagel.com>:
>
> > Hi,
> >
> > I try to use [1] with [2], [3] but can't edit nor see a frame nor sn
> > buttons with:
> >
>
> What is 'sn' buttons ?
>
> Summernote widget should look like
> http://wb-mgrigorov.rhcloud.com/summernote
> Check for JS errors in the Dev Tools console in your browser.
>
>
> >
> > private String summerNotes = " > rgb(34, 34, 34); font-family: arial, sans-serif;\n"
> > + "font-size: small; line-height: normal;\"> > style=\"background-color:\n"
> > + "yellow;\">Passenger ships have more than 12
> > passengers.";
> > @javax.jdo.annotations.Column(allowsNull = "true", length = 400)
> >// @Property(editing = Editing.ENABLED)
> > @SummernoteEditor(height = 100, maxHeight = 300)
> > public String getSummerNotes() {
> > return summerNotes;
> > }
> > public void setSummerNotes(final String summerNotes) {
> > this.summerNotes = summerNotes;
> > }
> >
> > 'Passenger ships' is marked yellow though. Un commenting @Property
> > doesn't change anything.
> >
> > [4] says that sn isn't compatible with 1.15.0.
> >
> > Is that true for [3] as well?
> > If Yes, which versions should I use?
> > If No, what am I doing wrong?
> >
> > Thanks in advance
> > Jörg
> >
> > [1] https://github.com/isisaddons-legacy/isis-wicket-summernote
> > [2] 'org.apache.isis.core:isis-core-applib:jar:1.15.0'
> > [3] 'org.isisaddons.wicket.summernote:isis-wicket-
> > summernote-cpt:jar:1.15.0.1'
> > [4] https://isis.apache.org/guides/ugvw/ugvw.html#_ugvw_
> > configuration-properties
> >
> >
> > Kühne + Nagel (AG & Co.) KG
> > Rechtsform: Kommanditgesellschaft, Bremen HRA 21928, USt-IdNr.: DE
> > 812773878.
> > Geschäftsleitung Kühne + Nagel (AG & Co.) KG: Dr. Hansjörg Rodi (Vors.
> > ), Martin Brinkmann, Holger Ketz, Jan-Hendrik Köstergarten, Nicholas
> > Minde, Michael Nebel, Lars Wedel, Matthias Weiner.
> > Persönlich haftende Gesellschafterin: Kühne & Nagel A.G., Rechtsform:
> > Aktiengesellschaft nach luxemburgischem Recht, HR-Nr.: B 18745,
> > Geschäftsführendes Verwaltungsratsmitglied: Karl Gernandt.
> > Geschäftsleitung Region Zentral- und Osteuropa: Dr. Hansjörg Rodi
> > (Vors.), Thierry Held, Uwe Hött, Richard Huhn, Holger Ketz,
> > Jan-Hendrik Köstergarten, Jan Kunze, Michael Nebel, Guillaume Sauzedde,
> Mustafa Sener.
> >
> > Wir arbeiten ausschließlich auf Grundlage der Allgemeinen Deutschen
> > Spediteurbedingungen 2017 (ADSp 2017). Hinweis: Die ADSp 2017 weichen
> > in Ziffer 23 hinsichtlich des Haftungshöchstbetrages für Güterschäden
> > (§ 431
> > HGB) vom Gesetz ab, indem sie die Haftung bei multimodalen Transporten
> > unter Einschluss einer Seebeförderung und bei unbekanntem Schadenort
> > auf 2 SZR/kg und im Übrigen die Regelhaftung von 8,33 SZR/kg
> > zusätzlich auf 1,25 Millionen Euro je Schadenfall sowie 2,5 Millionen
> > Euro je Schadenereignis, mindestens aber 2 SZR/kg, beschränken. Die
> > ADSp sind auf unserer Webseite als Download erhältlich. Auf Anfrage
> senden wir Ihnen diese auch gerne zu.
> >
>
> Kühne + Nagel (AG & Co.) KG
> Rechtsform: Kommanditgesellschaft, Bremen HRA 21928, USt-IdNr.: DE
> 812773878.
> Geschäftsleitung Kühne + Nagel (AG & Co.) KG: Dr. Hansjörg Rodi (Vors. ),
> Martin Brinkmann, Holger Ketz, Jan-Hendrik Köstergarten, Nicholas Minde,
> Michael Nebel, Lars Wedel, Matthias Weiner.
> Persönlich haftende Gesellschafterin: Kühne & Nagel A.G., Rechtsform:
> Aktiengesellschaft nach luxemburgischem Recht, HR-Nr.: B 18745,
> Geschäftsführendes Verwaltungsratsmitglied: Karl Gernandt.
> Geschäftsleitung Region Zentral- und Osteuropa: Dr. Hansjörg Rodi (Vors.),
> Thierry Held, Uwe Hött, Richard Huhn, Holger Ketz, Jan-Hendrik
> Köstergar

Re: Summernotes not editable?

2017-09-21 Thread Martin Grigorov
2017-09-21 14:24 GMT+03:00 Rade, Joerg / Kuehne + Nagel / Ham GI-DP <
joerg.r...@kuehne-nagel.com>:

> Hi,
>
> I try to use [1] with [2], [3] but can't edit nor see a frame nor sn
> buttons with:
>

What is 'sn' buttons ?

Summernote widget should look like
http://wb-mgrigorov.rhcloud.com/summernote
Check for JS errors in the Dev Tools console in your browser.


>
> private String summerNotes = " 34, 34); font-family: arial, sans-serif;\n"
> + "font-size: small; line-height: normal;\"> style=\"background-color:\n"
> + "yellow;\">Passenger ships have more than 12
> passengers.";
> @javax.jdo.annotations.Column(allowsNull = "true", length = 400)
>// @Property(editing = Editing.ENABLED)
> @SummernoteEditor(height = 100, maxHeight = 300)
> public String getSummerNotes() {
> return summerNotes;
> }
> public void setSummerNotes(final String summerNotes) {
> this.summerNotes = summerNotes;
> }
>
> 'Passenger ships' is marked yellow though. Un commenting @Property doesn't
> change anything.
>
> [4] says that sn isn't compatible with 1.15.0.
>
> Is that true for [3] as well?
> If Yes, which versions should I use?
> If No, what am I doing wrong?
>
> Thanks in advance
> Jörg
>
> [1] https://github.com/isisaddons-legacy/isis-wicket-summernote
> [2] 'org.apache.isis.core:isis-core-applib:jar:1.15.0'
> [3] 'org.isisaddons.wicket.summernote:isis-wicket-
> summernote-cpt:jar:1.15.0.1'
> [4] https://isis.apache.org/guides/ugvw/ugvw.html#_ugvw_
> configuration-properties
>
>
> Kühne + Nagel (AG & Co.) KG
> Rechtsform: Kommanditgesellschaft, Bremen HRA 21928, USt-IdNr.: DE
> 812773878.
> Geschäftsleitung Kühne + Nagel (AG & Co.) KG: Dr. Hansjörg Rodi (Vors. ),
> Martin Brinkmann, Holger Ketz, Jan-Hendrik Köstergarten, Nicholas Minde,
> Michael Nebel, Lars Wedel, Matthias Weiner.
> Persönlich haftende Gesellschafterin: Kühne & Nagel A.G., Rechtsform:
> Aktiengesellschaft nach luxemburgischem Recht, HR-Nr.: B 18745,
> Geschäftsführendes Verwaltungsratsmitglied: Karl Gernandt.
> Geschäftsleitung Region Zentral- und Osteuropa: Dr. Hansjörg Rodi (Vors.),
> Thierry Held, Uwe Hött, Richard Huhn, Holger Ketz, Jan-Hendrik
> Köstergarten, Jan Kunze, Michael Nebel, Guillaume Sauzedde, Mustafa Sener.
>
> Wir arbeiten ausschließlich auf Grundlage der Allgemeinen Deutschen
> Spediteurbedingungen 2017 (ADSp 2017). Hinweis: Die ADSp 2017 weichen in
> Ziffer 23 hinsichtlich des Haftungshöchstbetrages für Güterschäden (§ 431
> HGB) vom Gesetz ab, indem sie die Haftung bei multimodalen Transporten
> unter Einschluss einer Seebeförderung und bei unbekanntem Schadenort auf 2
> SZR/kg und im Übrigen die Regelhaftung von 8,33 SZR/kg zusätzlich auf 1,25
> Millionen Euro je Schadenfall sowie 2,5 Millionen Euro je Schadenereignis,
> mindestens aber 2 SZR/kg, beschränken. Die ADSp sind auf unserer Webseite
> als Download erhältlich. Auf Anfrage senden wir Ihnen diese auch gerne zu.
>


Re: Summernotes not editable?

2017-09-21 Thread Martin Grigorov
Hi,


2017-09-21 14:24 GMT+03:00 Rade, Joerg / Kuehne + Nagel / Ham GI-DP <
joerg.r...@kuehne-nagel.com>:

> Hi,
>
> I try to use [1] with [2], [3] but can't edit nor see a frame nor sn
> buttons with:
>
> private String summerNotes = " 34, 34); font-family: arial, sans-serif;\n"
>

Try by removing the \n's from the string.

+ "font-size: small; line-height: normal;\"> style=\"background-color:\n"
> + "yellow;\">Passenger ships have more than 12
> passengers.";
> @javax.jdo.annotations.Column(allowsNull = "true", length = 400)
>// @Property(editing = Editing.ENABLED)
> @SummernoteEditor(height = 100, maxHeight = 300)
> public String getSummerNotes() {
> return summerNotes;
> }
> public void setSummerNotes(final String summerNotes) {
> this.summerNotes = summerNotes;
> }
>
> 'Passenger ships' is marked yellow though. Un commenting @Property doesn't
> change anything.
>
> [4] says that sn isn't compatible with 1.15.0.
>
> Is that true for [3] as well?
> If Yes, which versions should I use?
> If No, what am I doing wrong?
>
> Thanks in advance
> Jörg
>
> [1] https://github.com/isisaddons-legacy/isis-wicket-summernote
> [2] 'org.apache.isis.core:isis-core-applib:jar:1.15.0'
> [3] 'org.isisaddons.wicket.summernote:isis-wicket-
> summernote-cpt:jar:1.15.0.1'
> [4] https://isis.apache.org/guides/ugvw/ugvw.html#_ugvw_
> configuration-properties
>
>
> Kühne + Nagel (AG & Co.) KG
> Rechtsform: Kommanditgesellschaft, Bremen HRA 21928, USt-IdNr.: DE
> 812773878.
> Geschäftsleitung Kühne + Nagel (AG & Co.) KG: Dr. Hansjörg Rodi (Vors. ),
> Martin Brinkmann, Holger Ketz, Jan-Hendrik Köstergarten, Nicholas Minde,
> Michael Nebel, Lars Wedel, Matthias Weiner.
> Persönlich haftende Gesellschafterin: Kühne & Nagel A.G., Rechtsform:
> Aktiengesellschaft nach luxemburgischem Recht, HR-Nr.: B 18745,
> Geschäftsführendes Verwaltungsratsmitglied: Karl Gernandt.
> Geschäftsleitung Region Zentral- und Osteuropa: Dr. Hansjörg Rodi (Vors.),
> Thierry Held, Uwe Hött, Richard Huhn, Holger Ketz, Jan-Hendrik
> Köstergarten, Jan Kunze, Michael Nebel, Guillaume Sauzedde, Mustafa Sener.
>
> Wir arbeiten ausschließlich auf Grundlage der Allgemeinen Deutschen
> Spediteurbedingungen 2017 (ADSp 2017). Hinweis: Die ADSp 2017 weichen in
> Ziffer 23 hinsichtlich des Haftungshöchstbetrages für Güterschäden (§ 431
> HGB) vom Gesetz ab, indem sie die Haftung bei multimodalen Transporten
> unter Einschluss einer Seebeförderung und bei unbekanntem Schadenort auf 2
> SZR/kg und im Übrigen die Regelhaftung von 8,33 SZR/kg zusätzlich auf 1,25
> Millionen Euro je Schadenfall sowie 2,5 Millionen Euro je Schadenereignis,
> mindestens aber 2 SZR/kg, beschränken. Die ADSp sind auf unserer Webseite
> als Download erhältlich. Auf Anfrage senden wir Ihnen diese auch gerne zu.
>


Re: Logout link in wicket interface

2017-09-12 Thread Martin Grigorov
Hi Hessel,

On Mon, Sep 11, 2017 at 2:13 PM, Hessel Bakker  wrote:

> Hi all,
>
> In our setup monitoring is being done on (among others) the wicket web
> interface of our hosts.
>
> I am now trying to include a logout step as well, because otherwise
> the sessions stay alive until a timeout is reached, resulting in a log
> file pile-up on the server.
>
> In order to do this, I am looking for a viable logout link. To
> illustrate, this is the link used for the login part:
> http://{HOST.NAME}:8080/{$APP_STATUS}/wicket/signin?-1.
> IFormSubmitListener-signInPanel-signInForm.
>
> When I inspect the menu for logout, the resulting link is:
> http://{HOST.NAME}:8080/{$APP_STATUS}/wicket/entity?3-1.
> ILinkListener-theme-header-tertiaryMenuBar-logoutLink,
>

I guess the problem is because of "?3" - '3' is the page id and is dynamic
depending on your current nagivation.



> which doesn't produce a logout when called by the monitoring system.
>
> I would like to be able to have the monitoring solution (which is
> Zabbix) logout. Can anyone point me in the right direction? Thanks in
> advance.
>

To make the url stable you (or Isis in a future version) will have to
introduce a special page that will invalidate the session.
This page should do the same as
https://github.com/apache/isis/blob/b66fb6e662a4273a00f94fea07725f813121d8e8/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/serviceactions/TertiaryActionsPanel.java#L90-L92
in
its constructor. It can even use "throw
RestartResponseException(SignInPage.class)" instead of
"setResponsePage(SignInPage.class)".
Then in YourApplication.java, in #init() method do something like:
mountPage("logout", LogoutPage.class)
And in your logout step you can use "http://{HOST.NAME 
}:8080/{$APP_STATUS}/wicket/logout".


>
> Kind regards,
> Hessel Bakker
>


Re: Integration of Apache Isis and Ignite

2017-09-06 Thread Martin Grigorov
Hi,


On Wed, Sep 6, 2017 at 4:13 PM, Nikhil Dhamapurkar <
nikhil.dhamapur...@healthengine.com.au> wrote:

> Hi ,
>
> I am trying to integrate  apache Ignite as the L2 Cache for apache isis. I
> have added Apache ignite JDBC connection to the persistor.properties in
> isis.
>
> When I am trying to compile my webapp I am getting ignite logger
> exception, along with exception that says validate datasource connection
> details of ignite and username and password which I have given in
> persistor.properties
>
> Can ISIS be integrated with Ignite as the L2 Cache with a persistent
> database under Ignite, I can not able to find much documentation which
> talks about ignite configuration with isis ?
>

Better search for Ignite + Datanucleus.


>
> While compiling the simple module to work with Ignite I get logger error
> form Ignite I am not sure if I should consult Ignite or Isis experts. I am
> getting the stack trace in [1] I have gone through forum for ignite and
> added ignite-log4j and ignite-core still I get ClassNotFound somehow the
> webapp is not able to find the jar in runtime.
>
> While the later exception is [2]
>
> The properties that I have listed in persistor.properties file are
>
> isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=org.
> apache.ignite.IgniteJdbcThinDriver
> isis.persistor.datanucleus.impl.javax.jdo.option.
> ConnectionURL=jdbc:ignite:thin://localhost:10800
> isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=
> isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword=
>
>
> [ 1]
> 5:53:35,153  [PersistenceSessionFactory main   INFO ]  did *not* find
> config properties to use JNDI datasource; will use JDBC
> Can't load log handler "org.apache.ignite.logger.
> java.JavaLoggerFileHandler"
> java.lang.ClassNotFoundException: org.apache.ignite.logger.java.
> JavaLoggerFileHandler
> java.lang.ClassNotFoundException: org.apache.ignite.logger.java.
> JavaLoggerFileHandler
>

This class is in ignite-core. And I have the feeling it uses
java.util.logging.
Better check how to tell Ignite to log via SLF4J.


> at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
> at java.util.logging.LogManager$5.run(LogManager.java:965)
> at java.security.AccessController.doPrivileged(Native Method)
> at java.util.logging.LogManager.loadLoggerHandlers(LogManager.
> java:958)
> at java.util.logging.LogManager.initializeGlobalHandlers(
> LogManager.java:1578)
> at java.util.logging.LogManager.access$1500(LogManager.java:145)
> at java.util.logging.LogManager$RootLogger.accessCheckedHandlers(
> LogManager.java:1667)
> at java.util.logging.Logger.getHandlers(Logger.java:1777)
> at org.apache.ignite.logger.java.JavaLogger.findHandler(
> JavaLogger.java:399)
> at org.apache.ignite.logger.java.JavaLogger.configure(
> JavaLogger.java:229)
> at org.apache.ignite.logger.java.JavaLogger.(JavaLogger.
> java:170)
> at org.apache.ignite.logger.java.JavaLogger.(JavaLogger.
> java:126)
> at org.apache.ignite.IgniteJdbcDriver.(
> IgniteJdbcDriver.java:369)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
> Method)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance(
> NativeConstructorAccessorImpl.java:62)
> at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(
> DelegatingConstructorAccessorImpl.java:45)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
> at java.lang.Class.newInstance(Class.java:442)
>
> [2]
> Error in custom provider, javax.jdo.JDOFatalUserException: Failed
> initialising database. Please check that your database JDBC driver is
> accessible, and the database URL a
> nd username/password are correct. Exception : null
> java.lang.NullPointerException
> at org.datanucleus.store.rdbms.ConnectionFactoryImpl$
> ManagedConnectionImpl.release(ConnectionFactoryImpl.java:320)
> at org.datanucleus.store.rdbms.RDBMSStoreManager.(
> RDBMSStoreManager.java:398)
> at sun.reflect.NativeConstructorAccessorImpl.newInstanc
>
> Any pointers will be greatly appreciated.
>
> Regards
> Nikhil
>
>


Re: Extending viewer to add KendoUI Grid component

2017-07-24 Thread Martin Grigorov
Hi,

If you use client side filtering then you have to send all your entities to
the client.
This works fine if you have up to ~300 entities, with reasonable amount of
properties, e.g. 10. Otherwise the DOM will too big and the interactions
might be slow.

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Mon, Jul 24, 2017 at 10:02 AM, Rade, Joerg / Kuehne + Nagel / Ham GI-DP <
joerg.r...@kuehne-nagel.com> wrote:

> Hi,
>
> I would like to throw jsGrid [1] into the ring.
> It has a built in client side filtering feature (see [2]) which is very
> handy when you have lots of attribute combinations users may use for
> filtering. Such scenarios can be characterized as explorative and less use
> case driven.
>
> Coding all possible combinations in separate repository methods could
> pollute the code and the menus.
>
> My 2c -j
>
> [1] http://js-grid.com/ -- despite *.com, it's an OS project
> [2] http://js-grid.com/demos/
>
> -Ursprüngliche Nachricht-
> Von: Dan Haywood [mailto:d...@haywood-associates.co.uk]
> Gesendet: Samstag, 22. Juli 2017 09:10
> An: users
> Cc: Anisha Jaiswal
> Betreff: Re: Extending viewer to add KendoUI Grid component
>
> Hi Jayesh,
>
> in case it's not obvious, there are two different APIs you need to wrap
> your head around.
> (1) Isis using Wicket components
> (2) Wicket components wrapping Javascript components.
>
> So, the Wicket JQuery UI that Martin mentions [1], takes care of (2).
> Note that Isis 1.14.0 uses Wicket 6.x, while Isis 1.15.0-SNAPSHOT uses
> Wicket 7.x
>
> For (1), you need  to implement the appropriate Isis APIs, namely
> ComponentFactory.  You should find that the fullcalendar2 add-on [2] or
> gmap3 add-on [3] helpful... See also our docs [4]
>
> Finally, note that we also have a JIRA ticket [5] to integrate
> Datatables.net [6].  This isn't quite as full-featured as the KendoUI one,
> but is for the most part open source.  There is a Wicketstuff integration
> for this [7] (taking care of responsibility (2)) ... we use Wicketstuff
> elsewhere within Isis' Wicket viewer already.  So, you might instead want
> to tackle that existing ticket.
>
> HTH
> Dan
>
>
>
>
> [1] https://github.com/sebfz1/wicket-jquery-ui
> [2] https://github.com/isisaddons/isis-wicket-fullcalendar2
> [3] https://github.com/isisaddons/isis-wicket-gmap3
> [4]
> http://isis.apache.org/guides/ugvw/ugvw.html#_ugvw_
> extending_replacing-page-elements
>
> [5] https://issues.apache.org/jira/browse/ISIS-1473
> [6] https://datatables.net/
> [7] https://github.com/wicketstuff/core/wiki/DataTables
>
> On Sat, 22 Jul 2017 at 07:11 Martin Grigorov <mgrigo...@apache.org> wrote:
>
> > Hi,
> >
> > It should be relatively easy to do.
> > You could use Wicket JQuery UI library. It provides Wicket integration
> > with many Kendo UI components.
> >
> > From Isis side you'll have to override the mappings for the tables
> > related ComponentType's.
> >
> > Martin
> >
> > On Jul 22, 2017 8:58 AM, "Jayesh Prajapati" <jayesh...@gmail.com> wrote:
> >
> > Hi Support,
> >
> > I want to replace existing table component or add new component to
> > represent collection in Kendo UI Grid. See below for demo of this
> > component
> > - http://demos.telerik.com/kendo-ui/grid/excel-export
> >
> > I am following instructions of extending viewer for the same but I am
> > fairly newbie to this.
> >
> > I want to understand how difficult or easy it would be to add isis
> > addon or custom cpt for this need.
> >
> > Cheers,
> > Jayesh
> >
>
> Kühne + Nagel (AG & Co.) KG
> Rechtsform: Kommanditgesellschaft, Bremen HRA 21928, USt-IdNr.: DE
> 812773878.
> Geschäftsleitung Kühne + Nagel (AG & Co.) KG: Dr. Hansjörg Rodi (Vors. ),
> Martin Brinkmann, Holger Ketz, Jan-Hendrik Köstergarten, Nicholas Minde,
> Michael Nebel, Lars Wedel, Matthias Weiner.
> Persönlich haftende Gesellschafterin: Kühne & Nagel A.G., Rechtsform:
> Aktiengesellschaft nach luxemburgischem Recht, HR-Nr.: B 18745,
> Geschäftsführendes Verwaltungsratsmitglied: Karl Gernandt.
> Geschäftsleitung Region Zentral- und Osteuropa: Dr. Hansjörg Rodi (Vors.),
> Thierry Held, Uwe Hött, Richard Huhn, Holger Ketz, Jan-Hendrik
> Köstergarten, Jan Kunze, Michael Nebel, Guillaume Sauzedde, Mustafa Sener.
>
> Wir arbeiten ausschließlich auf Grundlage der Allgemeinen Deutschen
> Spediteurbedingungen 2017 (ADSp 2017). Hinweis: Die ADSp 2017 weichen in
> Ziffer 23 hinsichtlich des Haftungshöchstbetrages für Güterschäden (§ 431
> HGB) vom Gesetz ab, indem sie die Haftung bei multimodalen Transporten
> unter Einschluss einer Seebeförderung und bei unbekanntem Schadenort auf 2
> SZR/kg und im Übrigen die Regelhaftung von 8,33 SZR/kg zusätzlich auf 1,25
> Millionen Euro je Schadenfall sowie 2,5 Millionen Euro je Schadenereignis,
> mindestens aber 2 SZR/kg, beschränken. Die ADSp sind auf unserer Webseite
> als Download erhältlich. Auf Anfrage senden wir Ihnen diese auch gerne zu.
>


Re: Extending viewer to add KendoUI Grid component

2017-07-22 Thread Martin Grigorov
Hi,

It should be relatively easy to do.
You could use Wicket JQuery UI library. It provides Wicket integration with
many Kendo UI components.

>From Isis side you'll have to override the mappings for the tables related
ComponentType's.

Martin

On Jul 22, 2017 8:58 AM, "Jayesh Prajapati"  wrote:

Hi Support,

I want to replace existing table component or add new component to
represent collection in Kendo UI Grid. See below for demo of this component
- http://demos.telerik.com/kendo-ui/grid/excel-export

I am following instructions of extending viewer for the same but I am
fairly newbie to this.

I want to understand how difficult or easy it would be to add isis addon or
custom cpt for this need.

Cheers,
Jayesh


Re: IntelliJ & Jetty Port

2017-06-12 Thread Martin Grigorov
Hi,

According to
https://github.com/apache/isis/blob/5d24b3f7a9ad543753c2c07d0107680b7172a06d/core/webserver/src/main/java/org/apache/isis/core/webserver/WebServerConstants.java#L29
you should use
-Dembedded-web-server.port=12345

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

2017-06-11 20:43 GMT+02:00 Rade, Joerg / Kuehne + Nagel / Ham GI-DP <
joerg.r...@kuehne-nagel.com>:

> Hi,
>
> when I use Maven from the command line (mvn jetty:run -Djetty.port=9090) I
> can override the default port.
>
> I tried the same from within IJ via 'Run/Debug Configurations ->
> Application -> MyApp -> Configuration -> VM options' and even tried to
> override it in the POM. I always end up in:
>
> Exception in thread "main" 
> org.apache.isis.core.commons.exceptions.IsisException:
> Unable to start Jetty server
>at org.apache.isis.core.webserver.WebServer.start(
> WebServer.java:188)
>at org.apache.isis.core.webserver.WebServer.run(
> WebServer.java:131)
>at org.apache.isis.core.webserver.WebServer.main(
> WebServer.java:98)
>at org.apache.isis.WebServer.main(WebServer.java:25)
>at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> Method)
>at sun.reflect.NativeMethodAccessorImpl.invoke(
> NativeMethodAccessorImpl.java:62)
>at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> DelegatingMethodAccessorImpl.java:43)
>at java.lang.reflect.Method.invoke(Method.java:498)
>at com.intellij.rt.execution.application.AppMain.main(
> AppMain.java:147)
> Caused by: java.net.BindException: Address already in use: bind
>at sun.nio.ch.Net.bind0(Native Method)
>at sun.nio.ch.Net.bind(Net.java:433)
>at sun.nio.ch.Net.bind(Net.java:425)
>at sun.nio.ch.ServerSocketChannelImpl.bind(
> ServerSocketChannelImpl.java:223)
>at sun.nio.ch.ServerSocketAdaptor.bind(
> ServerSocketAdaptor.java:74)
>at org.eclipse.jetty.server.ServerConnector.open(
> ServerConnector.java:326)
>at org.eclipse.jetty.server.AbstractNetworkConnector.
> doStart(AbstractNetworkConnector.java:80)
>at org.eclipse.jetty.server.ServerConnector.doStart(
> ServerConnector.java:244)
>at org.eclipse.jetty.util.component.AbstractLifeCycle.
> start(AbstractLifeCycle.java:68)
>at org.eclipse.jetty.server.Server.doStart(Server.java:384)
>at org.eclipse.jetty.util.component.AbstractLifeCycle.
> start(AbstractLifeCycle.java:68)
>at org.apache.isis.core.webserver.WebServer.start(
> WebServer.java:179)
>... 8 more
>
> Stackoverflow threads seem to suggest to patch the start.ini in jetty*.jar
> Is there a better way?
>
> Thanks in advance
> Jörg
>
>
> Kühne + Nagel (AG & Co.) KG
> Rechtsform: Kommanditgesellschaft, Bremen HRA 21928, USt-IdNr.: DE
> 812773878.
> Geschäftsleitung Kühne + Nagel (AG & Co.) KG: Dr. Hansjörg Rodi (Vors. ),
> Martin Brinkmann, Matthias Heimbach, Jan-Hendrik Köstergarten, Nicholas
> Minde, Michael Nebel, Lars Wedel, Matthias Weiner.
> Persönlich haftende Gesellschafterin: Kühne & Nagel A.G., Rechtsform:
> Aktiengesellschaft nach luxemburgischem Recht, HR-Nr.: B 18745,
> Geschäftsführendes Verwaltungsratsmitglied: Karl Gernandt.
> Geschäftsleitung Region Zentral- und Osteuropa: Dr. Hansjörg Rodi (Vors.),
> Thierry Held, Uwe Hött, Richard Huhn, Holger Ketz, Jan-Hendrik
> Köstergarten, Jan Kunze, Michael Nebel, Guillaume Sauzedde, Mustafa Sener.
>
> Wir arbeiten ausschließlich auf Grundlage der Allgemeinen Deutschen
> Spediteurbedingungen 2017 (ADSp 2017). Hinweis: Die ADSp 2017 weichen in
> Ziffer 23 hinsichtlich des Haftungshöchstbetrages für Güterschäden (§ 431
> HGB) vom Gesetz ab, indem sie die Haftung bei multimodalen Transporten
> unter Einschluss einer Seebeförderung und bei unbekanntem Schadenort auf 2
> SZR/kg und im Übrigen die Regelhaftung von 8,33 SZR/kg zusätzlich auf 1,25
> Millionen Euro je Schadenfall sowie 2,5 Millionen Euro je Schadenereignis,
> mindestens aber 2 SZR/kg, beschränken. Die ADSp sind auf unserer Webseite
> als Download erhältlich. Auf Anfrage senden wir Ihnen diese auch gerne zu.
>


Re: maven-enforcer-plugin ?

2017-06-09 Thread Martin Grigorov
Hi,

The problem is :  SLF4J: The requested version 1.5.6 by your slf4j binding
is not compatible with [1.6, 1.7]
For some reason there are several (very old) versions of SLF4J.

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Fri, Jun 9, 2017 at 11:15 AM, Marianne Hagaseth <
marianne.hagas...@sintef.no> wrote:

> Thanks a lot!
> Still nothing running on localhost when running mvn antrun:run -P
> self-host:
>
>
> C:\summernote\isis-wicket-summernote>mvn antrun:run -P self-host
> [INFO] Scanning for projects...
> [INFO] Inspecting build with total of 4 modules...
> [INFO] Installing Nexus Staging features:
> [INFO]   ... total of 1 executions of maven-deploy-plugin replaced with
> nexus-staging-maven-plugin
> [INFO] 
> 
> [INFO] Reactor Build Order:
> [INFO]
> [INFO] Isis Addons Summernote Wicket Cpt Component
> [INFO] Isis Addons Summernote Wicket Cpt
> [INFO] Isis Addons Summernote Wicket Cpt Fixtures
> [INFO] Isis Addons Summernote Wicket Cpt Webapp
> [INFO]
> [INFO] 
> 
> [INFO] Building Isis Addons Summernote Wicket Cpt Component 1.15.0-SNAPSHOT
> [INFO] 
> 
> [INFO]
> [INFO] --- maven-antrun-plugin:1.8:run (default-cli) @
> isis-wicket-summernote-cpt ---
> [INFO] No Ant target defined - SKIPPED
> [INFO]
> [INFO] 
> 
> [INFO] Building Isis Addons Summernote Wicket Cpt 0.0.1-SNAPSHOT
> [INFO] 
> 
> [INFO]
> [INFO] --- maven-antrun-plugin:1.7:run (default-cli) @
> isis-wicket-summernote ---
> [INFO] No ant target defined - SKIPPED
> [INFO]
> [INFO] 
> 
> [INFO] Building Isis Addons Summernote Wicket Cpt Fixtures 0.0.1-SNAPSHOT
> [INFO] 
> 
> Downloading: http://repository-estatio.forge.cloudbees.com/snapshot/
> org/isisaddons/wicket/summernote/isis-wicket-summernote-cpt/1.13.0-
> SNAPSHOT/maven-metadata.xml
> Downloaded: http://repository-estatio.forge.cloudbees.com/snapshot/
> org/isisaddons/wicket/summernote/isis-wicket-summernote-cpt/1.13.0-
> SNAPSHOT/maven-metadata.xml (1.0 kB at 1.5 kB/s)
> [INFO]
> [INFO] --- maven-antrun-plugin:1.7:run (default-cli) @
> isis-wicket-summernote-fixture ---
> [INFO] No ant target defined - SKIPPED
> [INFO]
> [INFO] 
> 
> [INFO] Building Isis Addons Summernote Wicket Cpt Webapp 0.0.1-SNAPSHOT
> [INFO] 
> 
> Downloading: http://repository-estatio.forge.cloudbees.com/snapshot/
> org/isisaddons/wicket/summernote/isis-wicket-summernote-fixture/0.0.1-
> SNAPSHOT/maven-metadata.xml
> [INFO]
> [INFO] --- maven-antrun-plugin:1.7:run (default-cli) @
> isis-wicket-summernote-webapp ---
> [WARNING] Parameter tasks is deprecated, use target instead
> [INFO] Executing tasks
>
> main:
>  [exec] [Thread-4] INFO org.eclipse.jetty.util.log - Logging
> initialized @10517ms
>  [exec] [Thread-4] INFO org.simplericity.jettyconsole.DefaultJettyManager
> - Added web application on path / from war C:\summernote\isis-wicket-
> summernote\webapp\target\isis-wicket-summernote-webapp-0.0.
> 1-SNAPSHOT-jetty-console.jar
>  [exec] [Thread-4] INFO org.simplericity.jettyconsole.DefaultJettyManager
> - Starting web application on port 8084
>  [exec] [Thread-4] INFO org.eclipse.jetty.server.Server -
> jetty-9.2.3.v20140905
>  [exec] [Thread-4] INFO 
> org.eclipse.jetty.webapp.StandardDescriptorProcessor
> - NO JSP Support for /, did not find org.apache.jasper.servlet.JspServlet
>  [exec] SLF4J: Class path contains multiple SLF4J bindings.
>  [exec] SLF4J: Found binding in [jar:file:/C:/Users/mhaga/
> AppData/Local/Temp/isis-wicket-summernote-webapp-0.0.
> 1-SNAPSHOT-jetty-console.jar_8080/webapp/WEB-INF/lib/slf4j-
> jdk14-1.5.6.jar!/org/slf4j/impl/StaticLoggerBinder.class]
>  [exec] SLF4J: Found binding in [jar:file:/C:/Users/mhaga/
> AppData/Local/Temp/isis-wicket-summernote-webapp-0.0.
> 1-SNAPSHOT-jetty-console.jar_8080/webapp/WEB-INF/lib/slf4j-
> log4j12-1.7.13.jar!/org/slf4j/impl/StaticLoggerBinder.class]
>  [exec] SLF4J: Found binding in [jar:file:/C:/Users/mhaga/
> AppData/Local/Temp/isis-wicket-summernote-webapp-0.0.
> 1-SNAPSHOT-jetty-console.jar_8080/webapp/WEB-INF/lib/slf4j-
> nop-1.5.3.j

Re: maven-enforcer-plugin ?

2017-06-08 Thread Martin Grigorov
Until someone adds some tests for this module it will produce this warning.
Again harmless!

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Thu, Jun 8, 2017 at 4:42 PM, Marianne Hagaseth <
marianne.hagas...@sintef.no> wrote:

> Thanks!
> I also get a warning for empty jar for test, is that OK as well?
>
> [INFO] --- maven-jar-plugin:2.4:test-jar (package-test-jar) @
> isis-wicket-summernote-cpt ---
> [WARNING] JAR will be empty - no content was marked for inclusion!
> [INFO] Building jar: C:\summernote\isis-wicket-summernote\cpt\target\isis-
> wicket-summernote-cpt-1.15.0-SNAPSHOT-tests.jar
>
>
> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
> Marianne Hagaseth
> Senior Research Scientist
> Maritime Transport Systems, SINTEF OCEAN
> Mobile: +47 90 95 64 69
> Skype: marianne.hagas...@sintef.no
> www.sintef.no
> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
>
> -Original Message-
> From: Martin Grigorov [mailto:mgrigo...@apache.org]
> Sent: torsdag 8. juni 2017 16.11
> To: users <users@isis.apache.org>
> Subject: Re: maven-enforcer-plugin ?
>
> Hi,
>
> This is harmless! You can ignore it!
>
> But in case you want to help fixing it here is what kind of change should
> be done:
> https://github.com/apache/wicket/commit/ed590f24c7a3901c5c60de9109b11c
> 25446edd6a
>
> Martin Grigorov
> Wicket Training and Consulting
> https://twitter.com/mtgrigorov
>
> On Thu, Jun 8, 2017 at 3:38 PM, Marianne Hagaseth <
> marianne.hagas...@sintef.no> wrote:
>
> > Hi again,
> > Trying the summernote again, doing the following:
> >
> > git clone https://github.com/isisaddons/isis-wicket-summernote.git
> > mvn clean install
> >
> > Get this warning:
> > [WARNING] The project
> > org.isisaddons.wicket.summernote:isis-wicket-summernote:pom:0.0.1-SNAP
> > SHOT uses prerequisites which is only intended for maven-plugin
> > projects but not for non maven-plugin projects. For such purposes you
> > should use the maven-enforcer-plugin. See https://maven.apache.org/
> > enforcer/enforcer-rules/requireMavenVersion.html
> >
> > Ow do I fix this?
> >
> > . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
> > Marianne Hagaseth
> > Senior Research Scientist
> > Maritime Transport Systems, SINTEF OCEAN
> > Mobile: +47 90 95 64 69
> >
> > Skype: marianne.hagas...@sintef.no<mailto:marianne.hagas...@sintef.no>
> > www.sintef.no<http://www.sintef.no/>
> > . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
> >
> >
>


Re: maven-enforcer-plugin ?

2017-06-08 Thread Martin Grigorov
Hi,

This is harmless! You can ignore it!

But in case you want to help fixing it here is what kind of change should
be done:
https://github.com/apache/wicket/commit/ed590f24c7a3901c5c60de9109b11c25446edd6a

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Thu, Jun 8, 2017 at 3:38 PM, Marianne Hagaseth <
marianne.hagas...@sintef.no> wrote:

> Hi again,
> Trying the summernote again, doing the following:
>
> git clone https://github.com/isisaddons/isis-wicket-summernote.git
> mvn clean install
>
> Get this warning:
> [WARNING] The project 
> org.isisaddons.wicket.summernote:isis-wicket-summernote:pom:0.0.1-SNAPSHOT
> uses prerequisites which is only intended for maven-plugin projects but not
> for non maven-plugin projects. For such purposes you should use the
> maven-enforcer-plugin. See https://maven.apache.org/
> enforcer/enforcer-rules/requireMavenVersion.html
>
> Ow do I fix this?
>
> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
> Marianne Hagaseth
> Senior Research Scientist
> Maritime Transport Systems, SINTEF OCEAN
> Mobile: +47 90 95 64 69
>
> Skype: marianne.hagas...@sintef.no<mailto:marianne.hagas...@sintef.no>
> www.sintef.no<http://www.sintef.no/>
> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
>
>


Re: Wicket 'Mobile' Viewer

2017-05-29 Thread Martin Grigorov
Hi Stephen,


On Mon, May 29, 2017 at 2:58 AM, Stephen Cameron  wrote:

> Viewer Forecast is on the list for the Isis meetup.
>
> On Mon, May 29, 2017 at 10:17 AM, Stephen Cameron <
> steve.cameron...@gmail.com> wrote:
>
> > Hi,
> >
> > I am currently looking for more work with Apache Isis and some potential
> > clients all want a mobile version, or, the chance to have one down the
> > track.
> >
> > I say to them its possible using the Restful Objects API as the basis of
> a
> > client layer, and I know AngularJS is popular for this now.
>

AngularJS was popular few years ago.
These days React and Vue.js are much more popular.
Tomorrow it might be something else...


> >
> > My question is to ask if it's maybe possible to make a Wicket 'Mobile'
> > Viewer?
>

The problem with Wicket is that it generates a complete HTML page and
writes it into the web response.
For mobile applications this might be a problem if the connection is slow.
If the network speed is good then there is no problem to use Wicket!
Bootstrap (the CSS framework used by the Wicket viewer) is mobile-first, so
it shouldn't be a problem to create responsive design.

The second problem is that Wicket is stateful, i.e. it will bind an HTTP
session as soon as you use a stateful component, like any Ajax
component/behavior.
This is a problem only if you have a LOT of simultaneous users.
For this kind of problem you can use:
1) session replication - i.e. several Tomcat/Jetty nodes could share a
common session storage (based on Hazelcast, Memcached, Redis, Cassandra,
...)
2) use stateless components and behaviors - since Wicket 7.4.0 it is very
easy to use stateless Ajax behaviors too


> >
> > The idea that I have is based on the layout.xml files being hierarchical
> > and so it would seem possible to be able to turn that into a 'drill-down'
> > mobile app kind of UI automatically too.
> >
> > Maybe to add mobile specific elements in the layout.xml files.
> >
> > Steve Cameron
> >
> >
>


Re: [ANOUNCEMENT] IsisCon / 9-10 June 2017 / Amsterdam

2017-05-15 Thread Martin Grigorov
Hi,

On Fri, May 12, 2017 at 4:20 PM, Jeroen van der Wal 
wrote:

> Hi all,
>
> Sorry for the radio-silence, the hotel business in Amsterdam is doing very
> well so it took more time to find something affordable to recommend. Here's
> [1] an editable Google Doc which contains all details and on which you can
> submit your talks, interests and hotel preference. I will make a group
> reservation on Monday morning so make sure you fill in you preference on
> the document.
>
> Looking forward to see you all!
>
> Cheers,
>
> Jeroen
>
> [1]
> https://docs.google.com/document/d/1CcGQK-JHYldc_
> PUryOhoSwKwoiTkkpVJjsob40TMa68/edit?usp=sharing


This document has some interesting points about the roadmap.
I guess there won't be audio/video recording but at least something like
meeting minutes from this discussion would be nice to be shared here!


>
>
>
> On 12 May 2017 at 11:45, Kevin Meyer  wrote:
>
> > Thanks Joerg! The current doodle is enough to indicate attendance.
> > But sure, add Friday and Sunday, just in case it's useful.
> >
> > Thanks!
> > Kevin
> >
> >
> >
> > On 12 May 2017 11:06:11 CEST, "Rade, Joerg / Kuehne + Nagel / Ham GI-DP"
> >  wrote:
> >>
> >> Here you go: http://doodle.com/poll/hdv32mpbhz6kgmbq
> >>
> >> Should Friday afternoon and Sunday be included?
> >>
> >> -j
> >> -Ursprüngliche Nachricht-
> >> Von: Kevin Meyer [mailto:ke...@kmz.co.za]
> >> Gesendet: Donnerstag, 11. Mai 2017 18:21
> >> An: users@isis.apache.org
> >> Betreff: Re: [ANOUNCEMENT] IsisCon / 9-10 June 2017 / Amsterdam
> >>
> >> Great news! Thanks for organising this... Maybe we should create a
> Doodle so that people can indicate their attendance?
> >>
> >> I've booked my ticket (leaving midday Sunday, I'm afraid).
> >>
> >> Is there any news about a hotel yet?
> >>
> >> Cheers,
> >> Kevin
> >>
> >>
> >> On 1 May 2017 02:17:05 CEST, Jeroen van der Wal 
> wrote:
> >>
> >>> Dear Apache Isis friends,
> >>>
> >>> We are happy to announce the second edition of IsisCon, a free and open
> >>> conference dedicated to Apache Isis. This edition will be held on June
> >>> 9
> >>> and 10 2017 in Amsterdam and is a unique opportunity to meet other
> >>> community members and discuss the future of Apache Isis.
> >>>
> >>> We highly value your attendance but we also want participation! We'll
> >>> run the conference as an open conference and self-organise the sessions
> >>> at the beginning of each day. Feel free to propose talks, discussion
> >>> subjects or whatever you feel should be covered during in the
> >>> conference. Some
> >>> ideas:
> >>> - Show and tell: demonstrate the apps that you have built
> >>> - Developer happiness: how to evolve the programming model
> >>> - Housecleaning: removing stuff that nobody uses
> >>> - Evolution of the persistence layer: JDO, JPA, Hibernate
> >>> - Viewer forecast: Vaadin, AngularJs, Web Components
> >>> - Other languages: using Kotlin for apps, for the framework or for
> >>> scripting
> >>> - Java 9: Jigsaw, modules
> >>> - From code to consumer: CI/CD, Containers, Docker
> >>> - Patterns: Naked Objects, DCI, Aspects, Contributed services, Mixins
> >>> - Integration patterns: Commands, events, auditing, Apache Camel
> >>> - Security: Shiro vs Keycloak
> >>> - Documentation: the power of asciidoc
> >>>
> >>> Schedule:
> >>> Friday 9 June: Attendees arrive in Amsterdam and get together in the
> >>> afternoon at the Incode office, Herengracht 448. Leave for drinks and
> >>> dinner around 18:00.
> >>> Saturday 10 June: Conference day starts at 9:00 with coffee and last
> >>> possibility to submit sessions. Sessions start at 9:30 and we wrap up
> >>> the conference at 17:00 Sunday 11 June: For those who plan to stay in
> >>> Amsterdam on Sunday we are hosting a family friendly canal tour.
> >>>
> >>> Venue:
> >>> Incode office, Herengracht 448
> >>>
> >>> Costs:
> >>> Attendance is free and we'll provide free coffee, tea, water and sodas
> >>> on the conference day.
> >>>
> >>> Conference Hotel:
> >>> We are working on a group discount for a hotel, will announce that
> >>> shortly.
> >>>
> >>> Looking forward to see you all in Amsterdam!
> >>>
> >>> Dan, Johan & Jeroen
> >>>
> >>>
> >>> Disclaimer: The Apache Software Foundation has no affiliation with and
> >>> does not endorse, or review the materials provided at this event. We
> >>> have notified trademarks@a.o about this event.
> >>>
> >>
> >> --
> >> Sent from my Android device with K-9 Mail. Please excuse my brevity.
> >>
> >> Kühne + Nagel (AG & Co.) KG
> >> Rechtsform: Kommanditgesellschaft, Bremen HRA 21928, USt-IdNr.: DE
> 812773878.
> >> Geschäftsleitung Kühne + Nagel (AG & Co.) KG: Dr. Hansjörg Rodi (Vors.
> ), Martin Brinkmann, Matthias Heimbach, Jan-Hendrik Köstergarten, Nicholas
> Minde, Michael Nebel, Lars Wedel, Matthias Weiner.
> >> Persönlich haftende Gesellschafterin: Kühne & Nagel A.G., Rechtsform:
> Aktiengesellschaft nach 

Re: Image not rendered

2017-04-10 Thread Martin Grigorov
Hi,

Thank you for sharing the solution!

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

2017-04-10 9:16 GMT+02:00 Rade, Joerg / Kuehne + Nagel / Ham GI-DP <
joerg.r...@kuehne-nagel.com>:

> Hi Martin,
>
> thanks for the pointer, SVG's are rendered now.
>
> IsisBlobOrClobPanelAbstract uses javax.imageio.ImageIO which in turn needs
> some additional libs in order to handle SVG:
>
> 
> com.twelvemonkeys.imageio
> imageio-batik 
> 3.3.2
> 
> 
> org.apache.xmlgraphics
> batik-transcoder
> 1.8
> 
>
> -j
>
> -Ursprüngliche Nachricht-
> Von: Martin Grigorov [mailto:mgrigo...@apache.org]
> Gesendet: Mittwoch, 29. März 2017 14:32
> An: users
> Betreff: Re: Image not rendered
>
> Hi,
>
> You will need to use Blob with the SVG too.
> See
> https://github.com/apache/isis/blob/master/core/viewer-
> wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/
> components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.java#L124
>
> Martin Grigorov
> Wicket Training and Consulting
> https://twitter.com/mtgrigorov
>
> 2017-03-29 14:08 GMT+02:00 Rade, Joerg / Kuehne + Nagel / Ham GI-DP <
> joerg.r...@kuehne-nagel.com>:
>
> > It works with jpg and Blob:
> >
> > @MemberOrder(sequence = "2")
> > @PropertyLayout(named = "Overview Diagram", hidden =
> > Where.ALL_TABLES, describedAs = "Displays dependent systems with
> > consumed and provided services.")
> > @javax.jdo.annotations.Column(allowsNull = "true")
> > @javax.jdo.annotations.Persistent(defaultFetchGroup = "false",
> > columns = {
> > @javax.jdo.annotations.Column(name =
> > "attachment_name"),
> > @javax.jdo.annotations.Column(name =
> > "attachment_mimetype"),
> > @javax.jdo.annotations.Column(name =
> > "attachment_bytes", jdbcType = "BLOB", sqlType = "LONGVARBINARY") })
> > @Getter
> > @Setter
> > private Blob diagram;
> >
> > -Ursprüngliche Nachricht-
> > Von: Rade, Joerg / Kuehne + Nagel / Ham GI-DP
> > [mailto:Joerg.Rade@Kuehne- Nagel.com]
> > Gesendet: Mittwoch, 29. März 2017 13:51
> > An: users@isis.apache.org
> > Betreff: AW: Image not rendered
> >
> > As logo: Yes- I'll check.
> >
> > -Ursprüngliche Nachricht-
> > Von: Dan Haywood [mailto:d...@haywood-associates.co.uk]
> > Gesendet: Mittwoch, 29. März 2017 13:50
> > An: users@isis.apache.org
> > Betreff: Re: Image not rendered
> >
> > I'm just wondering if svg is supported or not. Do png files work OK?
> >
> > On Wed, 29 Mar 2017, 13:48 Rade, Joerg / Kuehne + Nagel / Ham GI-DP, <
> > joerg.r...@kuehne-nagel.com> wrote:
> >
> > > Hi,
> > >
> > > according to [1] images can be rendered on a page.
> > >
> > > When I upload an SVG file, it is shown as thumbnail in a dialog box
> > > - but not afterwards.
> > > I use in DependencyGraph.java:
> > >
> > >   @MemberOrder(sequence = "2")
> > >   @PropertyLayout(named = "Overview Diagram", hidden =
> > > Where.ALL_TABLES, describedAs = "Displays dependent systems with
> > > consumed and provided services.")
> > >   @javax.jdo.annotations.Persistent(defaultFetchGroup = "false",
> > > columns = {
> > >   @javax.jdo.annotations.Column(name = "doc_name"),
> > > @javax.jdo.annotations.Column(name = "doc_mimetype"),
> > >   @javax.jdo.annotations.Column(name = "doc_chars",
> > > jdbcType = "CLOB", sqlType = "CLOB") })
> > >   @Property(optionality = Optionality.OPTIONAL)
> > >   @Getter
> > >   @Setter
> > >   private Clob diagram;
> > >
> > > And in DependyncyGraph.layout.xml:
> > >
> > >   > > xsi:schemaLocation="
> > > http://isis.apache.org/applib/layout/component
> > > http://isis.apache.org/applib/layout/component/component.xsd
> > > http://isis.apache.org/applib/layout/grid/bootstrap3
> > > http://isis.apache.org/applib/layout/grid/bootstrap3/bootstrap3.xsd;
> > > xmlns:bs3="ht

Re: Image not rendered

2017-03-29 Thread Martin Grigorov
Hi,

You will need to use Blob with the SVG too.
See
https://github.com/apache/isis/blob/master/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.java#L124

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

2017-03-29 14:08 GMT+02:00 Rade, Joerg / Kuehne + Nagel / Ham GI-DP <
joerg.r...@kuehne-nagel.com>:

> It works with jpg and Blob:
>
> @MemberOrder(sequence = "2")
> @PropertyLayout(named = "Overview Diagram", hidden =
> Where.ALL_TABLES, describedAs = "Displays dependent systems with consumed
> and provided services.")
> @javax.jdo.annotations.Column(allowsNull = "true")
> @javax.jdo.annotations.Persistent(defaultFetchGroup = "false",
> columns = {
> @javax.jdo.annotations.Column(name =
> "attachment_name"),
> @javax.jdo.annotations.Column(name =
> "attachment_mimetype"),
> @javax.jdo.annotations.Column(name =
> "attachment_bytes", jdbcType = "BLOB", sqlType = "LONGVARBINARY") })
> @Getter
> @Setter
> private Blob diagram;
>
> -Ursprüngliche Nachricht-
> Von: Rade, Joerg / Kuehne + Nagel / Ham GI-DP [mailto:Joerg.Rade@Kuehne-
> Nagel.com]
> Gesendet: Mittwoch, 29. März 2017 13:51
> An: users@isis.apache.org
> Betreff: AW: Image not rendered
>
> As logo: Yes- I'll check.
>
> -Ursprüngliche Nachricht-
> Von: Dan Haywood [mailto:d...@haywood-associates.co.uk]
> Gesendet: Mittwoch, 29. März 2017 13:50
> An: users@isis.apache.org
> Betreff: Re: Image not rendered
>
> I'm just wondering if svg is supported or not. Do png files work OK?
>
> On Wed, 29 Mar 2017, 13:48 Rade, Joerg / Kuehne + Nagel / Ham GI-DP, <
> joerg.r...@kuehne-nagel.com> wrote:
>
> > Hi,
> >
> > according to [1] images can be rendered on a page.
> >
> > When I upload an SVG file, it is shown as thumbnail in a dialog box -
> > but not afterwards.
> > I use in DependencyGraph.java:
> >
> >   @MemberOrder(sequence = "2")
> >   @PropertyLayout(named = "Overview Diagram", hidden =
> > Where.ALL_TABLES, describedAs = "Displays dependent systems with
> > consumed and provided services.")
> >   @javax.jdo.annotations.Persistent(defaultFetchGroup = "false",
> > columns = {
> >   @javax.jdo.annotations.Column(name = "doc_name"),
> > @javax.jdo.annotations.Column(name = "doc_mimetype"),
> >   @javax.jdo.annotations.Column(name = "doc_chars",
> > jdbcType = "CLOB", sqlType = "CLOB") })
> >   @Property(optionality = Optionality.OPTIONAL)
> >   @Getter
> >   @Setter
> >   private Clob diagram;
> >
> > And in DependyncyGraph.layout.xml:
> >
> >   > xsi:schemaLocation="
> > http://isis.apache.org/applib/layout/component
> > http://isis.apache.org/applib/layout/component/component.xsd
> > http://isis.apache.org/applib/layout/grid/bootstrap3
> > http://isis.apache.org/applib/layout/grid/bootstrap3/bootstrap3.xsd;
> > xmlns:bs3="http://isis.apache.org/applib/layout/grid/bootstrap3;
> > xmlns:cpt="http://isis.apache.org/applib/layout/component; xmlns:xsi="
> > http://www.w3.org/2001/XMLSchema-instance;>
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> >  > unreferencedProperties="true">
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> >
> > What do I need to add / change?
> >
> > Thanks in advance
> > Jörg
> >
> > [1] https://isis.apache.org/guides/ugvw.html#_image_rendered
> >
> >
> > Kühne + Nagel (AG & Co.) KG
> > Rechtsform: Kommanditgesellschaft, Bremen HRA 21928, USt-IdNr.: DE
> > 812773878.
> > Geschäftsleitung Kühne + Nagel (AG & Co.) KG: Dr. Hansjörg Rodi (Vors.
> > ), Martin Brinkmann, Matthias Heimbach, Jan-Hendrik Köstergarten,
> > Nicholas Minde, Michael Nebel, Lars Wedel, Matthias Weiner.
> > Persönlich haftende Gesellschafterin: Kühne & Nagel A.G., Rechtsform:
> > Aktiengesellschaft nach luxemburgischem Recht, HR-Nr.: B 18745,
> > Geschäftsführendes Verwaltungsratsmitglied: Karl Gernandt.
> > Gesch

Re: Apache Isis Questions - reg

2017-03-07 Thread Martin Grigorov
Hi,

Even that you have big amount of items/entities usually you will not going
to show more than 200-300 of them at a time.
I.e. most probably you are going to using some kind of pagination both in
UI and in your SQL/NOSQL queries.

Both Wicket and REST interfaces will deal easily with this.

My application is pure Wicket, no Isis, and we have an Elasticsearch index
with 300M documents. There are no problems to present those to the users.
Even if they were 3 billions it would be the same - we show 300 items at
the time in a table with infinite/virtual scrolling.


Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Wed, Mar 8, 2017 at 4:38 AM, Karthikeyan Alagarswamy <
karthi...@outlook.com> wrote:

> Hi Team,
>
> Thanks for your contributions to open source software.
>
> I had a chance to look at Apache Isis for a new web application yet to be
> developed for my organization. It's fantastic especially the domain driven
> approach.
>
> However I have some questions on the scalability in production. My
> application will have less than a hundred users and might be deployed in
> less than 10 servers. But, the application will have to handle and process
> tens of thousands of heavy weight objects. These are like maximum numbers.
> Having said that, do you see any scaling and performance issues, if I go
> with Apache Isis? Can you also suggest some ways to have higher performance
> with less hardware? And your recommendations on whether to go with Wicket
> or a REST based app.
>
> Your help would be highly appreciated.
>
> Regards,
> Karthi,
> karthiteach.com
>
>


Re: How can isis be made web scale

2017-02-22 Thread Martin Grigorov
On Tue, Feb 21, 2017 at 6:39 PM, Dan Haywood <d...@haywood-associates.co.uk>
wrote:

> Hi Martin,
> Do you know, does web.de use stateful or only stateless pages to hit those
> volumes?
>

The application is stateful.
But it uses many custom components which make use of JS event delegation
and shared Wicket IResources to keep the pages small and reduce page
locking both at the client and server sides.


>
> If only the latter then we can't infer too much from that because Isis
> primarily uses stateful pages.
>
> If the former, then do you know what size of web farm they run to get that
> scale, and how do they manage http sessions?
>

I don't know what kind of hardware is in use.
The http sessions are replicated with Memcached (
https://github.com/magro/memcached-session-manager). But the session is
very small. It keeps just the minimal info to load user data from the DBs.


>
> Thx
> Dan
>
> On Tue, 21 Feb 2017, 17:33 james agada, <okwuiag...@gmail.com> wrote:
>
> > Hmm. The device infront of the keyboard is me ?
> > So is the issue with scaling Isis the framework or is it Isis usage of
> > Wicket?
> >
> > On Tue, Feb 21, 2017 at 6:16 PM, Martin Grigorov <
> > martin.grigo...@gmail.com>
> > wrote:
> >
> > > On Feb 21, 2017 7:09 PM, "james agada" <okwuiag...@gmail.com> wrote:
> > >
> > > Thanks. My summary is
> > >
> > > 1. Major constraint is Wicket.
> > >
> > >
> > > BULLSHIT!!!
> > > Pardon my French!
> > > The major constraint is the device in front of the keyboard!
> > > web.de is built on Wicket and serves 18M+ users. 200-500K
> > simultaneously!
> > >
> > >
> > > 2. If you build your own view and interface to Isis, then you can scale
> > DB
> > > and app server as best.
> > >
> > > CQNZ claims to have an architecture that scales but it is not
> documented
> > > anywhere.
> > > It will be nice to have a mobile UI that can be as sophisticated as the
> > > Wickets version and also available out of the box.
> > > Many things to chew.
> > >
> > >
> > > +1
> > >
> > >
> > > On Mon, Feb 20, 2017 at 9:53 PM, Dan Haywood <
> > d...@haywood-associates.co.uk
> > > >
> > > wrote:
> > >
> > > > Wicket is stateful (at least Apache Isis' use of it is), so I
> wouldn't
> > > > classify this as web-scale; as Bilgin says you will need to develop a
> > > > custom UI and use the REST API (Restful Objects viewer *is*
> stateless).
> > > I
> > > > believe that Cesar's application [1] takes this approach.
> > > >
> > > > Also as Bilgin says, the DB is therefore likely to be the biggest
> > > > contention point.  RDBMS can of course scale a long way, so you don't
> > > > necessarily need to go the NoSQL route, but if that did turn out to
> be
> > > > necessary then DataNucleus does support other datastores such as
> Mongo.
> > > My
> > > > advice would be to build a performance test rig and do the stress
> > testing
> > > > up front so you can learn more about the relative performance
> > > > characteristics.
> > > >
> > > > HTH
> > > > Dan
> > > >
> > > > [1] http://isis.apache.org/powered-by.html#_powered-by_cqnz
> > > >
> > > >
> > > >
> > > > On Mon, 20 Feb 2017 at 12:58 Bilgin Ibryam <bibr...@gmail.com>
> wrote:
> > > >
> > > > > Isis relies heavily on a DB which is accessed through JDO.
> > > > > So if there is JDO storage that can scale as per your requirements
> > the
> > > > > rest of Isis could become web scale.
> > > > >
> > > > > If you find that Wicket is not web scale, you could create your own
> > UI
> > > > > and interact with Isis through its REST API.
> > > > >
> > > > > There is also a multi-tenancy plugin which is required quite often
> > for
> > > > > web-scale/SaaS use cases that might be useful too.
> > > > >
> > > > > HTH,
> > > > >
> > > > >
> > > > >
> > > > > On 20 February 2017 at 11:06, james agada <okwuiag...@gmail.com>
> > > wrote:
> > > > > > Can Isis be scaled to handle web scale traffic - hundreds of
> > > > thousands.l
> > > > > of
> > > > > > simultaneous users? What are the bottlenecks? What architectural
> > > > patterns
> > > > > > work? What data store should be considered?
> > > > > > Rgds
> > > > >
> > > > >
> > > > >
> > > > > --
> > > > > Bilgin Ibryam
> > > > > Camel Committer at ASF & Integration Architect at Red Hat
> > > > > Blog: http://ofbizian.com | Twitter: @bibryam
> > > > >
> > > > > Camel Design Patterns https://leanpub.com/camel-design-patterns
> > > > > Instant Apache Camel Message Routing http://www.amazon.com/dp/
> > > 1783283475
> > > > >
> > > >
> > >
> >
>


Re: How can isis be made web scale

2017-02-21 Thread Martin Grigorov
On Feb 21, 2017 7:09 PM, "james agada"  wrote:

Thanks. My summary is

1. Major constraint is Wicket.


BULLSHIT!!!
Pardon my French!
The major constraint is the device in front of the keyboard!
web.de is built on Wicket and serves 18M+ users. 200-500K simultaneously!


2. If you build your own view and interface to Isis, then you can scale DB
and app server as best.

CQNZ claims to have an architecture that scales but it is not documented
anywhere.
It will be nice to have a mobile UI that can be as sophisticated as the
Wickets version and also available out of the box.
Many things to chew.


+1


On Mon, Feb 20, 2017 at 9:53 PM, Dan Haywood 
wrote:

> Wicket is stateful (at least Apache Isis' use of it is), so I wouldn't
> classify this as web-scale; as Bilgin says you will need to develop a
> custom UI and use the REST API (Restful Objects viewer *is* stateless).  I
> believe that Cesar's application [1] takes this approach.
>
> Also as Bilgin says, the DB is therefore likely to be the biggest
> contention point.  RDBMS can of course scale a long way, so you don't
> necessarily need to go the NoSQL route, but if that did turn out to be
> necessary then DataNucleus does support other datastores such as Mongo.
My
> advice would be to build a performance test rig and do the stress testing
> up front so you can learn more about the relative performance
> characteristics.
>
> HTH
> Dan
>
> [1] http://isis.apache.org/powered-by.html#_powered-by_cqnz
>
>
>
> On Mon, 20 Feb 2017 at 12:58 Bilgin Ibryam  wrote:
>
> > Isis relies heavily on a DB which is accessed through JDO.
> > So if there is JDO storage that can scale as per your requirements the
> > rest of Isis could become web scale.
> >
> > If you find that Wicket is not web scale, you could create your own UI
> > and interact with Isis through its REST API.
> >
> > There is also a multi-tenancy plugin which is required quite often for
> > web-scale/SaaS use cases that might be useful too.
> >
> > HTH,
> >
> >
> >
> > On 20 February 2017 at 11:06, james agada  wrote:
> > > Can Isis be scaled to handle web scale traffic - hundreds of
> thousands.l
> > of
> > > simultaneous users? What are the bottlenecks? What architectural
> patterns
> > > work? What data store should be considered?
> > > Rgds
> >
> >
> >
> > --
> > Bilgin Ibryam
> > Camel Committer at ASF & Integration Architect at Red Hat
> > Blog: http://ofbizian.com | Twitter: @bibryam
> >
> > Camel Design Patterns https://leanpub.com/camel-design-patterns
> > Instant Apache Camel Message Routing http://www.amazon.com/dp/1783283475
> >
>


Re: Selecting text 'broken' in Chrome

2016-12-01 Thread Martin Grigorov
On Thu, Dec 1, 2016 at 8:35 AM, Dan Haywood <d...@haywood-associates.co.uk>
wrote:

> It would seem this new behaviour in Chrome and also Firefox - probably
> making the browser more compliant with some specific - could cause issues
> for more many more Wicket apps than just Isis.
>
> Does Wicket have the notion of readonly input elements rather than
> disabled,  that we could use instead?
>

Nope!
The only "hook"
is org.apache.wicket.markup.html.form.FormComponent#onDisabled() that
actually sets "disabled" attribute. But it is not really easy to change its
behavior globally (unless you use AOP or bytecode rewrite).
Please start a thread at Wicket mailing lists. Maybe someone else will have
a better idea how to accomplish this.


>
> Dan
>
> On Thu, 1 Dec 2016, 07:02 Martin Grigorov, <mgrigo...@apache.org> wrote:
>
> > I've played a bit with disabled input and indeed it is not possible to
> > select the text inside it.
> > Also http://getbootstrap.com/css/#forms-control-disabled (the first
> > caveau)
> > says "disables all keyboard and mouse interactions".
> >
> > Wicket sets "disabled" on FormComponents when they are "disabled in
> > hierarchy", so it might be more complex than just replacing
> > formComponent.setEnabled(false) with AttributeModifier.
> >
> > Another way to solve this is to use JS that onDomReady replaces all
> > "disabled" attributes with "readonly" and on form submit reverse this
> > operation.
> >
> > Martin Grigorov
> > Wicket Training and Consulting
> > https://twitter.com/mtgrigorov
> >
> > On Wed, Nov 30, 2016 at 2:54 PM, Dan Haywood <
> d...@haywood-associates.co.uk
> > >
> > wrote:
> >
> > > If Martin's suggestion of using CSS doesn't sort the issue, then I
> guess
> > > the fix will need to be a little deeper perhaps using some other
> > Wicket
> > > API other than setDisabled(...).  Maybe something like using an
> > > AttributeModifier to put the "readOnly" attribute on instead, cf
> > > http://stackoverflow.com/a/10282380/56880
> > >
> > > On Wed, 30 Nov 2016 at 13:51 Erik de Hair <e.deh...@pocos.nl> wrote:
> > >
> > > >
> > > > On 11/30/2016 01:22 PM, Dan Haywood wrote:
> > > > > oops.  I meant https://issues.apache.org/jira/browse/ISIS-1547
> > > >
> > > > Thanks Dan
> > > >
> > > > >
> > > > >
> > > > > On Wed, 30 Nov 2016 at 12:20 Dan Haywood <
> > d...@haywood-associates.co.uk
> > > >
> > > > > wrote:
> > > > >
> > > > >> Thanks both.  I've created
> > > > https://issues.apache.org/jira/browse/ISIS-1546
> > > > >>
> > > > >>
> > > > >> On Wed, 30 Nov 2016 at 11:35 Martin Grigorov <
> mgrigo...@apache.org>
> > > > wrote:
> > > > >>
> > > > >> Hi,
> > > > >>
> > > > >> I guess the "disabled" attribute comes from Wicket.
> > > > >> If a FormComponent is setEnabled(false) then Wicket will set this
> > > > attribute
> > > > >> to the HTML form element (input. textarea, etc.).
> > > > >> IMO the correct solution is to override the CSS rule that disables
> > the
> > > > >> selection of the text.
> > > > >>
> > > > >> Play with
> > > > >>
> > > > >> -webkit-user-select: none;
> > > > >>   -moz-user-select: none;
> > > > >>-ms-user-select: none;
> > > > >>user-select: none;
> > > > >>
> > > > >> Just change the value.
> > > > >>
> > > > >> Martin Grigorov
> > > > >> Wicket Training and Consulting
> > > > >> https://twitter.com/mtgrigorov
> > > > >>
> > > > >> On Wed, Nov 30, 2016 at 11:56 AM, Dan Haywood <
> > > > >> d...@haywood-associates.co.uk>
> > > > >> wrote:
> > > > >>
> > > > >>> If you are certain that using 'readonly' would do the trick, then
> > > > please
> > > > >>> raise a ticket for that.
> > > > >>> Thx
> > > > >>>
> > > > >>>
> > > > >>> On Wed, 30 Nov 2016 at 09:44 Erik de Hair <e.deh...@pocos.nl>
> > wrote:
> > > > >>>
> > > > >>>> Hi,
> > > > >>>>
> > > > >>>> I believe it was mentioned once in another thread that selecting
> > > text
> > > > >>>> (and so copying) from a disabled field doesn't work in Firefox
> on
> > > > >>>> Windows. Since a week or two it's not possible on a lot of
> Chrome
> > > > >>>> installations of our users either, probably due to a Chrome
> > update.
> > > > >> This
> > > > >>>> really is a big problem for our users because we share a lot of
> > > > >>>> configuration data for internet access and telephony services
> and
> > > > >>>> copying data makes sure they don't make mistakes while
> configuring
> > > > >> their
> > > > >>>> systems.
> > > > >>>>
> > > > >>>> Would it be a problem to use the read only attribute instead of
> > the
> > > > >>>> disabled attribute? That would be an easy fix.
> > > > >>>>
> > > > >>>> Anybody experiencing the same issue and having a nice solution?
> > > > >>>>
> > > > >>>> Erik
> > > > >>>>
> > > > >>
> > > >
> > > >
> > >
> >
>


Re: Selecting text 'broken' in Chrome

2016-11-30 Thread Martin Grigorov
I've played a bit with disabled input and indeed it is not possible to
select the text inside it.
Also http://getbootstrap.com/css/#forms-control-disabled (the first caveau)
says "disables all keyboard and mouse interactions".

Wicket sets "disabled" on FormComponents when they are "disabled in
hierarchy", so it might be more complex than just replacing
formComponent.setEnabled(false) with AttributeModifier.

Another way to solve this is to use JS that onDomReady replaces all
"disabled" attributes with "readonly" and on form submit reverse this
operation.

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Wed, Nov 30, 2016 at 2:54 PM, Dan Haywood <d...@haywood-associates.co.uk>
wrote:

> If Martin's suggestion of using CSS doesn't sort the issue, then I guess
> the fix will need to be a little deeper perhaps using some other Wicket
> API other than setDisabled(...).  Maybe something like using an
> AttributeModifier to put the "readOnly" attribute on instead, cf
> http://stackoverflow.com/a/10282380/56880
>
> On Wed, 30 Nov 2016 at 13:51 Erik de Hair <e.deh...@pocos.nl> wrote:
>
> >
> > On 11/30/2016 01:22 PM, Dan Haywood wrote:
> > > oops.  I meant https://issues.apache.org/jira/browse/ISIS-1547
> >
> > Thanks Dan
> >
> > >
> > >
> > > On Wed, 30 Nov 2016 at 12:20 Dan Haywood <d...@haywood-associates.co.uk
> >
> > > wrote:
> > >
> > >> Thanks both.  I've created
> > https://issues.apache.org/jira/browse/ISIS-1546
> > >>
> > >>
> > >> On Wed, 30 Nov 2016 at 11:35 Martin Grigorov <mgrigo...@apache.org>
> > wrote:
> > >>
> > >> Hi,
> > >>
> > >> I guess the "disabled" attribute comes from Wicket.
> > >> If a FormComponent is setEnabled(false) then Wicket will set this
> > attribute
> > >> to the HTML form element (input. textarea, etc.).
> > >> IMO the correct solution is to override the CSS rule that disables the
> > >> selection of the text.
> > >>
> > >> Play with
> > >>
> > >> -webkit-user-select: none;
> > >>   -moz-user-select: none;
> > >>-ms-user-select: none;
> > >>user-select: none;
> > >>
> > >> Just change the value.
> > >>
> > >> Martin Grigorov
> > >> Wicket Training and Consulting
> > >> https://twitter.com/mtgrigorov
> > >>
> > >> On Wed, Nov 30, 2016 at 11:56 AM, Dan Haywood <
> > >> d...@haywood-associates.co.uk>
> > >> wrote:
> > >>
> > >>> If you are certain that using 'readonly' would do the trick, then
> > please
> > >>> raise a ticket for that.
> > >>> Thx
> > >>>
> > >>>
> > >>> On Wed, 30 Nov 2016 at 09:44 Erik de Hair <e.deh...@pocos.nl> wrote:
> > >>>
> > >>>> Hi,
> > >>>>
> > >>>> I believe it was mentioned once in another thread that selecting
> text
> > >>>> (and so copying) from a disabled field doesn't work in Firefox on
> > >>>> Windows. Since a week or two it's not possible on a lot of Chrome
> > >>>> installations of our users either, probably due to a Chrome update.
> > >> This
> > >>>> really is a big problem for our users because we share a lot of
> > >>>> configuration data for internet access and telephony services and
> > >>>> copying data makes sure they don't make mistakes while configuring
> > >> their
> > >>>> systems.
> > >>>>
> > >>>> Would it be a problem to use the read only attribute instead of the
> > >>>> disabled attribute? That would be an easy fix.
> > >>>>
> > >>>> Anybody experiencing the same issue and having a nice solution?
> > >>>>
> > >>>> Erik
> > >>>>
> > >>
> >
> >
>


Re: Selecting text 'broken' in Chrome

2016-11-30 Thread Martin Grigorov
Hi,

I guess the "disabled" attribute comes from Wicket.
If a FormComponent is setEnabled(false) then Wicket will set this attribute
to the HTML form element (input. textarea, etc.).
IMO the correct solution is to override the CSS rule that disables the
selection of the text.

Play with

-webkit-user-select: none;
 -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;

Just change the value.

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Wed, Nov 30, 2016 at 11:56 AM, Dan Haywood <d...@haywood-associates.co.uk>
wrote:

> If you are certain that using 'readonly' would do the trick, then please
> raise a ticket for that.
> Thx
>
>
> On Wed, 30 Nov 2016 at 09:44 Erik de Hair <e.deh...@pocos.nl> wrote:
>
> > Hi,
> >
> > I believe it was mentioned once in another thread that selecting text
> > (and so copying) from a disabled field doesn't work in Firefox on
> > Windows. Since a week or two it's not possible on a lot of Chrome
> > installations of our users either, probably due to a Chrome update. This
> > really is a big problem for our users because we share a lot of
> > configuration data for internet access and telephony services and
> > copying data makes sure they don't make mistakes while configuring their
> > systems.
> >
> > Would it be a problem to use the read only attribute instead of the
> > disabled attribute? That would be an easy fix.
> >
> > Anybody experiencing the same issue and having a nice solution?
> >
> > Erik
> >
>


Re: [ANNOUNCE] New Committer - Bilgin Ibryam

2016-11-09 Thread Martin Grigorov
Честито!

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Wed, Nov 9, 2016 at 1:26 PM, Dan Haywood <d...@haywood-associates.co.uk>
wrote:

> I'm delighted to announce that Bilgin Ibryam has been voted in as a
> committer on Apache Isis, and also as a member of the Isis PMC.  The first
> gives Bilgin the right to commit changes directly to the Apache Isis
> codebase, the second gives him the right to be involved in future votes.
>
> Bilgin is already a committer on both the Apache Camel [1,2,3] project and
> also for Apache Ofbiz [4, 5, 6].  He also recently wrote "Camel Design
> Patterns" book, via leanpub [7].  He works in London for RedHat [7].
>
> Bilgin has been aware of Apache Isis for a long while; in fact it was he
> who introduced the predecessor - naked objects framework - to Jeroen, from
> whence the Estatio project (a major driver for the development of Apache
> Isis) was spawned.
>
> More recently Bilgin has started contributing to the mailing list and
> started providing a number of pull requests [9].  He is also using Apache
> Isis for some internal projects within RedHat, which may help spread
> knowledge of the framework to a wider open-source community.
>
> I'm looking forward to working with Bilgin in the future; another great
> addition to Isis' committers.  So please join me in welcoming him to our
> happy band!
>
> Dan Haywood
> Apache Isis PMC Chair
>
>
> [1] http://camel.apache.org/
> [2] https://github.com/apache/camel/graphs/contributors
> [3] http://camel.apache.org/team.html
> [4] http://ofbiz.apache.org/
> [5] https://github.com/apache/ofbiz/graphs/contributors
> [6]
> https://cwiki.apache.org/confluence/display/OFBADMIN/Apache+
> OFBiz+PMC+Members+and+Committers
> [7] https://leanpub.com/u/bibryam
> [8] http://developers.redhat.com/blog/author/bibryam/
> [9] https://github.com/apache/isis/graphs/contributors
>


Re: Exceptions

2016-11-07 Thread Martin Grigorov
On Mon, Nov 7, 2016 at 12:04 PM, Erik de Hair <e.deh...@pocos.nl> wrote:

>
> On 11/07/2016 09:57 AM, Martin Grigorov wrote:
>
>> There's another frequently occurring exception in the log that occurs
>> when using the autocomplete field:
>>
>> java.lang.IllegalStateExceptiongetOutputStream() has already been called
>> for this response org.apache.catalina.connector.
>> Response#getWriter(Response.java:678)
>>
>> This is a bug, but I am not sure where exactly.
>>> An application should not try to write both to the Servlet's writer and
>>> outputStream in the same response.
>>>
>>> The easiest way to debug is to put a breakpoint at
>> ResponseFacade#getWriter() and ResponseFacade#getOutputStream() and see
>> what happens.
>>
>> The TextChoiceProvider is writing to the outputstream. Is that what you
> wanted to know?
>

I believe this is not the cause.
The previous stacktrace shows that a redirect is attempted. I don't expect
a redirect after sending the JSON response for the Select2 component.
I guess the http request didn't fail with the previous exception after you
released the breakpoint ?


>
> "http-bio-8080-exec-10@22498" daemon prio=5 tid=0x44 nid=NA runnable
>   java.lang.Thread.State: RUNNABLE
>   at org.apache.catalina.connector.ResponseFacade.getOutputStream
> (ResponseFacade.java:196)
>   at org.apache.wicket.protocol.http.servlet.ServletWebResponse.
> write(ServletWebResponse.java:135)
>   at org.apache.wicket.protocol.http.HeaderBufferingWebResponse.w
> rite(HeaderBufferingWebResponse.java:196)
>   at org.apache.wicket.request.Response$StreamAdapter.write(Respo
> nse.java:148)
>   at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:221)
>   at sun.nio.cs.StreamEncoder.implWrite(StreamEncoder.java:282)
>   at sun.nio.cs.StreamEncoder.write(StreamEncoder.java:125)
>   - locked <0x57e8> (a java.io.OutputStreamWriter)
>   at sun.nio.cs.StreamEncoder.write(StreamEncoder.java:135)
>   at java.io.OutputStreamWriter.write(OutputStreamWriter.java:220)
>   at java.io.Writer.write(Writer.java:157)
>   at org.apache.wicket.ajax.json.JSONWriter.key(JSONWriter.java:212)
>   at org.wicketstuff.select2.TextChoiceProvider.toJson(TextChoice
> Provider.java:38)
>   at org.wicketstuff.select2.AbstractSelect2Choice.onResourceRequ
> ested(AbstractSelect2Choice.java:473)
>   at org.wicketstuff.select2.Select2Choice.onResourceRequested(Se
> lect2Choice.java:36)
>   at sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAcc
> essorImpl.java:-1)
>   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce
> ssorImpl.java:62)
>   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe
> thodAccessorImpl.java:43)
>   at java.lang.reflect.Method.invoke(Method.java:498)
>   at org.apache.wicket.RequestListenerInterface.internalInvoke(Re
> questListenerInterface.java:258)
>   at org.apache.wicket.RequestListenerInterface.invoke(RequestLis
> tenerInterface.java:216)
>   at org.apache.wicket.core.request.handler.ListenerInterfaceRequ
> estHandler.invokeListener(ListenerInterfaceRequestHandler.java:243)
>   at org.apache.wicket.core.request.handler.ListenerInterfaceRequ
> estHandler.respond(ListenerInterfaceRequestHandler.java:236)
>   at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor
> .respond(RequestCycle.java:890)
>   at org.apache.wicket.request.RequestHandlerStack.execute(Reques
> tHandlerStack.java:64)
>   at org.apache.wicket.request.cycle.RequestCycle.execute(Request
> Cycle.java:261)
>   at org.apache.wicket.request.cycle.RequestCycle.processRequest(
> RequestCycle.java:218)
>   at org.apache.wicket.request.cycle.RequestCycle.processRequestA
> ndDetach(RequestCycle.java:289)
>   at org.apache.wicket.protocol.http.WicketFilter.processRequestC
> ycle(WicketFilter.java:259)
>   at org.apache.wicket.protocol.http.WicketFilter.processRequest(
> WicketFilter.java:201)
>   at org.apache.wicket.protocol.http.WicketFilter.doFilter(Wicket
> Filter.java:282)
>   at org.apache.catalina.core.ApplicationFilterChain.internalDoFi
> lter(ApplicationFilterChain.java:241)
>   at org.apache.catalina.core.ApplicationFilterChain.doFilter(App
> licationFilterChain.java:208)
>   at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChai
> n(AbstractShiroFilter.java:449)
>   at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(Abst
> ractShiroFilter.java:365)
>   at org.apache.shiro.subject.support.SubjectCallable.doCall(
> SubjectCallable.java:90)
>   at org.apache.shiro.subject.support.SubjectCallable.

Re: Common way for deploying isis apps

2016-11-07 Thread Martin Grigorov
Hi,

Isis simpleapp (and any other demo app) has config for Jetty-Console:

 
org.simplericity.jettyconsole
jetty-console-maven-plugin



createconsole



${basedir}/src/main/jettyconsole/isis-banner.png

${project.build.directory}/${project.build.finalName}-jetty-console.jar

package





This is handy to start the app from .jar.

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Mon, Nov 7, 2016 at 6:58 AM, Kevin Meyer <ke...@kmz.co.za> wrote:

> Hi,
> I haven't tried in a while, but I used to use the shade plugin to create a
> standalone jar.
> Cheers,
> Kevin
>
>
> On 6 November 2016 23:46:54 CET, Bilgin Ibryam <bibr...@gmail.com> wrote:
> >Hi all,
> >
> >I was wondering what is the most common way for running isis apps?
> >I know while developing I can use jetty plugin or the WebServer
> >classes, but what about for running it on other environments?
> >
> >For my semat app I have used the .war file in a tomcat instance. And
> >ll that in a docker container.
> >You can see my pom.xml used for building docker container and running
> >at [1] and the demo app running at [2]
> >
> >Also noticed that with tomcat 9 the app was throwing lot's of errors
> >with some not allowed cookie values, so moved back to tomcat 7.
> >
> >Is anyone running isis w/o a web container, as standalone Java app?
> >How do you package the app in the case?
> >
> >
> >[1] https://github.com/bibryam/semat/blob/master/pom.xml
> >[2] http://semat.ofbizian.com/
> >
> >Cheers,
>
> --
> Sent from my phone with K-9 Mail.
> Please excuse my brevity.
>


Re: Exceptions

2016-11-07 Thread Martin Grigorov
On Mon, Nov 7, 2016 at 9:55 AM, Martin Grigorov <mgrigo...@apache.org>
wrote:

> Hi,
>
> On Mon, Nov 7, 2016 at 9:44 AM, Erik de Hair <e.deh...@pocos.nl> wrote:
>
>> Hi,
>>
>> Some of our users keep complaining about unexpected exceptions so I was
>> investigating what kind of exceptions occur. Now it seems it's quite easy
>> to get an exception if you double click on an 'OK' button. (Some people
>> still don't know where to single click or double click :-S)
>>
>
> It is up to the application to decide how to prevent double form
> submittions.
> An easy way is to disable the button during Ajax call, e.g.
> Wicket-Bootstrap provides integration with Ladda
> <http://msurguy.github.io/ladda-bootstrap/>: http://wb-mgrigorov.
> rhcloud.com/extensions#ladda
>
> @Dan: is it easy to decide which buttons in Isis shoud have this behavior
> ?
>
>
>> org.apache.wicket.core.request.handler.ListenerInvocationNotAllowedExceptionBehavior
>> rejected interface invocation. Component: [AjaxButton [Component id =
>> okButton]] Behavior: org.apache.wicket.ajax.markup.
>> html.form.AjaxButton$1@2070e2d3 Listener: [RequestListenerInterface
>> name=IBehaviorListener, method=public abstract void
>> org.apache.wicket.behavior.IBehaviorListener.onRequest()]
>> org.apache.wicket.RequestListenerInterface#invoke(RequestLis
>> tenerInterface.java:237)
>> org.apache.wicket.core.request.handler.ListenerInterfaceRequ
>> estHandler#invokeListener(ListenerInterfaceRequestHandler.java:250)
>> org.apache.wicket.core.request.handler.ListenerInterfaceRequ
>> estHandler#respond(ListenerInterfaceRequestHandler.java:236)
>> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor
>> #respond(RequestCycle.java:890)
>> org.apache.wicket.request.RequestHandlerStack#execute(Reques
>> tHandlerStack.java:64)
>> org.apache.wicket.request.cycle.RequestCycle#execute(Request
>> Cycle.java:261)
>> org.apache.wicket.request.cycle.RequestCycle#processRequest(
>> RequestCycle.java:218)
>> org.apache.wicket.request.cycle.RequestCycle#processRequestA
>> ndDetach(RequestCycle.java:289)
>> org.apache.wicket.protocol.http.WicketFilter#processRequestC
>> ycle(WicketFilter.java:259)
>> org.apache.wicket.protocol.http.WicketFilter#processRequest(
>> WicketFilter.java:201)
>> org.apache.wicket.protocol.http.WicketFilter#doFilter(Wicket
>> Filter.java:282)
>> org.apache.catalina.core.ApplicationFilterChain#internalDoFi
>> lter(ApplicationFilterChain.java:241)
>> org.apache.catalina.core.ApplicationFilterChain#doFilter(App
>> licationFilterChain.java:208)
>> org.apache.shiro.web.servlet.AbstractShiroFilter#executeChai
>> n(AbstractShiroFilter.java:449)
>> org.apache.shiro.web.servlet.AbstractShiroFilter$1#call(Abst
>> ractShiroFilter.java:365)
>> org.apache.shiro.subject.support.SubjectCallable#doCall(Subj
>> ectCallable.java:90)
>> org.apache.shiro.subject.support.SubjectCallable#call(Subjec
>> tCallable.java:83)
>> org.apache.shiro.subject.support.DelegatingSubject#execute(D
>> elegatingSubject.java:383)
>> org.apache.shiro.web.servlet.AbstractShiroFilter#doFilterInt
>> ernal(AbstractShiroFilter.java:362)
>> org.apache.shiro.web.servlet.OncePerRequestFilter#doFilter(O
>> ncePerRequestFilter.java:125)
>> org.apache.catalina.core.ApplicationFilterChain#internalDoFi
>> lter(ApplicationFilterChain.java:241)
>> org.apache.catalina.core.ApplicationFilterChain#doFilter(App
>> licationFilterChain.java:208)
>> org.apache.catalina.core.StandardWrapperValve#invoke(Standar
>> dWrapperValve.java:220)
>> org.apache.catalina.core.StandardContextValve#invoke(Standar
>> dContextValve.java:122)
>> org.apache.catalina.authenticator.AuthenticatorBase#invoke(A
>> uthenticatorBase.java:503)
>> org.apache.catalina.core.StandardHostValve#invoke(StandardHo
>> stValve.java:170)
>> org.apache.catalina.valves.ErrorReportValve#invoke(ErrorRepo
>> rtValve.java:103)
>> org.apache.catalina.valves.AccessLogValve#invoke(AccessLogValve.java:950)
>> org.apache.catalina.core.StandardEngineValve#invoke(Standard
>> EngineValve.java:116)
>> org.apache.catalina.connector.CoyoteAdapter#service(CoyoteAd
>> apter.java:421)
>> org.apache.coyote.ajp.AjpProcessor#process(AjpProcessor.java:190)
>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler
>> #process(AbstractProtocol.java:611)
>> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor#run(J
>> IoEndpoint.java:314)
>> java.util.concurrent.ThreadPoolExecutor#runWorker(ThreadPool
>> Executor.java:1142)
>> java

Re: Exceptions

2016-11-07 Thread Martin Grigorov
Hi,

On Mon, Nov 7, 2016 at 9:44 AM, Erik de Hair  wrote:

> Hi,
>
> Some of our users keep complaining about unexpected exceptions so I was
> investigating what kind of exceptions occur. Now it seems it's quite easy
> to get an exception if you double click on an 'OK' button. (Some people
> still don't know where to single click or double click :-S)
>

It is up to the application to decide how to prevent double form
submittions.
An easy way is to disable the button during Ajax call, e.g.
Wicket-Bootstrap provides integration with Ladda
:
http://wb-mgrigorov.rhcloud.com/extensions#ladda

@Dan: is it easy to decide which buttons in Isis shoud have this behavior ?


> org.apache.wicket.core.request.handler.ListenerInvocationNotAllowedExceptionBehavior
> rejected interface invocation. Component: [AjaxButton [Component id =
> okButton]] Behavior: org.apache.wicket.ajax.markup.
> html.form.AjaxButton$1@2070e2d3 Listener: [RequestListenerInterface
> name=IBehaviorListener, method=public abstract void
> org.apache.wicket.behavior.IBehaviorListener.onRequest()]
> org.apache.wicket.RequestListenerInterface#invoke(RequestLis
> tenerInterface.java:237)
> org.apache.wicket.core.request.handler.ListenerInterfaceRequ
> estHandler#invokeListener(ListenerInterfaceRequestHandler.java:250)
> org.apache.wicket.core.request.handler.ListenerInterfaceRequ
> estHandler#respond(ListenerInterfaceRequestHandler.java:236)
> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor
> #respond(RequestCycle.java:890)
> org.apache.wicket.request.RequestHandlerStack#execute(Reques
> tHandlerStack.java:64)
> org.apache.wicket.request.cycle.RequestCycle#execute(Request
> Cycle.java:261)
> org.apache.wicket.request.cycle.RequestCycle#processRequest(
> RequestCycle.java:218)
> org.apache.wicket.request.cycle.RequestCycle#processRequestA
> ndDetach(RequestCycle.java:289)
> org.apache.wicket.protocol.http.WicketFilter#processRequestC
> ycle(WicketFilter.java:259)
> org.apache.wicket.protocol.http.WicketFilter#processRequest(
> WicketFilter.java:201)
> org.apache.wicket.protocol.http.WicketFilter#doFilter(Wicket
> Filter.java:282)
> org.apache.catalina.core.ApplicationFilterChain#internalDoFi
> lter(ApplicationFilterChain.java:241)
> org.apache.catalina.core.ApplicationFilterChain#doFilter(App
> licationFilterChain.java:208)
> org.apache.shiro.web.servlet.AbstractShiroFilter#executeChai
> n(AbstractShiroFilter.java:449)
> org.apache.shiro.web.servlet.AbstractShiroFilter$1#call(Abst
> ractShiroFilter.java:365)
> org.apache.shiro.subject.support.SubjectCallable#doCall(
> SubjectCallable.java:90)
> org.apache.shiro.subject.support.SubjectCallable#call(Subjec
> tCallable.java:83)
> org.apache.shiro.subject.support.DelegatingSubject#execute(
> DelegatingSubject.java:383)
> org.apache.shiro.web.servlet.AbstractShiroFilter#doFilterInt
> ernal(AbstractShiroFilter.java:362)
> org.apache.shiro.web.servlet.OncePerRequestFilter#doFilter(O
> ncePerRequestFilter.java:125)
> org.apache.catalina.core.ApplicationFilterChain#internalDoFi
> lter(ApplicationFilterChain.java:241)
> org.apache.catalina.core.ApplicationFilterChain#doFilter(App
> licationFilterChain.java:208)
> org.apache.catalina.core.StandardWrapperValve#invoke(Standar
> dWrapperValve.java:220)
> org.apache.catalina.core.StandardContextValve#invoke(Standar
> dContextValve.java:122)
> org.apache.catalina.authenticator.AuthenticatorBase#invoke(A
> uthenticatorBase.java:503)
> org.apache.catalina.core.StandardHostValve#invoke(StandardHo
> stValve.java:170)
> org.apache.catalina.valves.ErrorReportValve#invoke(ErrorRepo
> rtValve.java:103)
> org.apache.catalina.valves.AccessLogValve#invoke(AccessLogValve.java:950)
> org.apache.catalina.core.StandardEngineValve#invoke(Standard
> EngineValve.java:116)
> org.apache.catalina.connector.CoyoteAdapter#service(CoyoteAd
> apter.java:421)
> org.apache.coyote.ajp.AjpProcessor#process(AjpProcessor.java:190)
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler
> #process(AbstractProtocol.java:611)
> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor#run(
> JIoEndpoint.java:314)
> java.util.concurrent.ThreadPoolExecutor#runWorker(ThreadPool
> Executor.java:1142)
> java.util.concurrent.ThreadPoolExecutor$Worker#run(ThreadPoo
> lExecutor.java:617)
> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable#
> run(TaskThread.java:61)
> java.lang.Thread#run(Thread.java:745)
>
> There's another frequently occurring exception in the log that occurs when
> using the autocomplete field:
>
> java.lang.IllegalStateExceptiongetOutputStream() has already been called
> for this response org.apache.catalina.connector.
> Response#getWriter(Response.java:678)
>

This is a bug, but I am not sure where exactly.
An application should not try to write both to the Servlet's writer and
outputStream in the same response.


> org.apache.catalina.connector.ResponseFacade#getWriter(Respo
> nseFacade.java:213)

Re: Ability to hide the links in collection

2016-11-02 Thread Martin Grigorov
Hi Bilgin,

Check https://issues.apache.org/jira/browse/ISIS-1529

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Wed, Nov 2, 2016 at 8:04 AM, Bilgin Ibryam <bibr...@gmail.com> wrote:

> Hi all,
>
> before creating a new feature ticket I wanted to check whether there
> is a way to achieve what I want.
> I have a collection of view models and each view model has a link to
> the view model itself. But I'd like to hide the first column which is
> the link to the view model itself. It seems currently there is no way
> to hide that column, or modify it to point to a different entity
> rather than view model.
>
> Thanks
>
> --
> Bilgin Ibryam
> Camel Committer at ASF & Integration Architect at Red Hat
> Blog: http://ofbizian.com | Twitter: @bibryam
>
> Camel Design Patterns https://leanpub.com/camel-design-patterns
> Instant Apache Camel Message Routing http://www.amazon.com/dp/1783283475
>


Re: gmap

2016-10-28 Thread Martin Grigorov
If nothing else helps - the author name is fixed in WicketStuff 7.5.0.

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Fri, Oct 28, 2016 at 10:03 AM, Martin Grigorov <mgrigo...@apache.org>
wrote:

> Another option: add -Dfile.encoding=UTF-8 to $JAVA_OPTS in
> $CATALINA_HOME/bin/setenv.sh
>
> Martin Grigorov
> Wicket Training and Consulting
> https://twitter.com/mtgrigorov
>
> On Fri, Oct 28, 2016 at 9:54 AM, Stephen Cameron <
> steve.cameron...@gmail.com> wrote:
>
>> Thanks Martin,
>>
>> Its most likely a Tomcat/Jetty server difference, that is the difference
>> between my dev and client/production setup and hence the most likely
>> reason.
>>
>> On Fri, Oct 28, 2016 at 6:48 PM, Martin Grigorov <mgrigo...@apache.org>
>> wrote:
>>
>> > Hi,
>> >
>> > On Fri, Oct 28, 2016 at 9:23 AM, Dan Haywood <
>> d...@haywood-associates.co.uk
>> > >
>> > wrote:
>> >
>> > > ok, thanks for digging into that.
>> > >
>> > > If that does reveal itself to be the issue, perhaps the better
>> solution
>> > > would be to find a way for our viewer to serve up the file with the
>> > correct
>> > > encoding.
>> > >
>> > > @Martin - is there anything obvious that the Isis/Wicket viewer might
>> be
>> > > doing wrong here?
>> > >
>> >
>> > See
>> > https://github.com/apache/wicket/blob/3e765bae3773b5da370cdf4ed1dd59
>> > 0c95f7ed9d/wicket-core/src/main/java/org/apache/wicket/
>> > settings/MarkupSettings.java#L51
>> > Maybe the platform encoding is not UTF-8 ?!
>> > @Stephen: try to set the encoding manually in
>> IsisWicketApplication#init():
>> > getMarkupSettings().setDefaultMarkupEncoding("UTF-8")
>> >
>> > I'll fix the name of the author for WicketStuff 7.5.0.
>> >
>> >
>> > > Thx
>> > > Dan
>> > >
>> > > On 28 October 2016 at 09:07, Stephen Cameron <
>> steve.cameron...@gmail.com
>> > >
>> > > wrote:
>> > >
>> > > > Thats what is different at home, no '?', so most likely explanation.
>> > I'll
>> > > > fork the component on github and see if I can get it fixed.
>> > > >
>> > > >
>> > > > On Fri, Oct 28, 2016 at 3:50 PM, Stephen Cameron <
>> > > > steve.cameron...@gmail.com
>> > > > > wrote:
>> > > >
>> > > > > Possibly due to a single character encoding issue in the surname
>> of
>> > the
>> > > > > first author of wicket-gmap.js?
>> > > > >
>> > > > > /*
>> > > > >  * Wicket GMap3
>> > > > >  *
>> > > > >  * @author Tilman M?ller
>> > > > >  * @author Joachim F. Rohde
>> > > > >  */
>> > > > >
>> > > > >
>> > > > > On Fri, Oct 28, 2016 at 3:21 PM, Stephen Cameron <
>> > > > > steve.cameron...@gmail.com> wrote:
>> > > > >
>> > > > >> Hi,
>> > > > >>
>> > > > >> I have an issue that I previously mentioned, where nothing
>> happens
>> > on
>> > > > >> clicking a button.
>> > > > >>
>> > > > >> This is only at the client site, and I had a work-around in
>> place to
>> > > get
>> > > > >> past it.
>> > > > >>
>> > > > >> However, I think I have the cause, which is an issue in the
>> wicket
>> > > > 'gmap'
>> > > > >> component Javascript file.
>> > > > >>
>> > > > >> There is simply a '?' character at the start of this file as you
>> can
>> > > see
>> > > > >> below (the file as seen by Firefox):
>> > > > >>
>> > > > >> Maybe there is a simple answer as to why this is appearing?
>> > > > >>
>> > > > >>
>> > > > >> Thanks
>> > > > >>
>> > > > >>
>> > > > >>
>> > > > >>
>> > > > >>
>> > > > >> view-source:http://lifechatsdb/chats/wicket/wicket/resource/org.
>> > > > wicketstuff.gmap.WicketGMapJsReferen

Re: gmap

2016-10-28 Thread Martin Grigorov
Another option: add -Dfile.encoding=UTF-8 to $JAVA_OPTS in
$CATALINA_HOME/bin/setenv.sh

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Fri, Oct 28, 2016 at 9:54 AM, Stephen Cameron <steve.cameron...@gmail.com
> wrote:

> Thanks Martin,
>
> Its most likely a Tomcat/Jetty server difference, that is the difference
> between my dev and client/production setup and hence the most likely
> reason.
>
> On Fri, Oct 28, 2016 at 6:48 PM, Martin Grigorov <mgrigo...@apache.org>
> wrote:
>
> > Hi,
> >
> > On Fri, Oct 28, 2016 at 9:23 AM, Dan Haywood <
> d...@haywood-associates.co.uk
> > >
> > wrote:
> >
> > > ok, thanks for digging into that.
> > >
> > > If that does reveal itself to be the issue, perhaps the better solution
> > > would be to find a way for our viewer to serve up the file with the
> > correct
> > > encoding.
> > >
> > > @Martin - is there anything obvious that the Isis/Wicket viewer might
> be
> > > doing wrong here?
> > >
> >
> > See
> > https://github.com/apache/wicket/blob/3e765bae3773b5da370cdf4ed1dd59
> > 0c95f7ed9d/wicket-core/src/main/java/org/apache/wicket/
> > settings/MarkupSettings.java#L51
> > Maybe the platform encoding is not UTF-8 ?!
> > @Stephen: try to set the encoding manually in
> IsisWicketApplication#init():
> > getMarkupSettings().setDefaultMarkupEncoding("UTF-8")
> >
> > I'll fix the name of the author for WicketStuff 7.5.0.
> >
> >
> > > Thx
> > > Dan
> > >
> > > On 28 October 2016 at 09:07, Stephen Cameron <
> steve.cameron...@gmail.com
> > >
> > > wrote:
> > >
> > > > Thats what is different at home, no '?', so most likely explanation.
> > I'll
> > > > fork the component on github and see if I can get it fixed.
> > > >
> > > >
> > > > On Fri, Oct 28, 2016 at 3:50 PM, Stephen Cameron <
> > > > steve.cameron...@gmail.com
> > > > > wrote:
> > > >
> > > > > Possibly due to a single character encoding issue in the surname of
> > the
> > > > > first author of wicket-gmap.js?
> > > > >
> > > > > /*
> > > > >  * Wicket GMap3
> > > > >  *
> > > > >  * @author Tilman M?ller
> > > > >  * @author Joachim F. Rohde
> > > > >  */
> > > > >
> > > > >
> > > > > On Fri, Oct 28, 2016 at 3:21 PM, Stephen Cameron <
> > > > > steve.cameron...@gmail.com> wrote:
> > > > >
> > > > >> Hi,
> > > > >>
> > > > >> I have an issue that I previously mentioned, where nothing happens
> > on
> > > > >> clicking a button.
> > > > >>
> > > > >> This is only at the client site, and I had a work-around in place
> to
> > > get
> > > > >> past it.
> > > > >>
> > > > >> However, I think I have the cause, which is an issue in the wicket
> > > > 'gmap'
> > > > >> component Javascript file.
> > > > >>
> > > > >> There is simply a '?' character at the start of this file as you
> can
> > > see
> > > > >> below (the file as seen by Firefox):
> > > > >>
> > > > >> Maybe there is a simple answer as to why this is appearing?
> > > > >>
> > > > >>
> > > > >> Thanks
> > > > >>
> > > > >>
> > > > >>
> > > > >>
> > > > >>
> > > > >> view-source:http://lifechatsdb/chats/wicket/wicket/resource/org.
> > > > wicketstuff.gmap.WicketGMapJsReference/wicket-gmap-ver-
> > > > E237F6D407E762EA8D06758EE1452F25.js
> > > > >>
> > > > >>
> > > > >>
> > > > >> ?
> > > > >>
> > > > >>
> > > > >> if (typeof(Wicket) === 'undefined') {
> > > > >> window.Wicket = {};
> > > > >> }
> > > > >> else if (typeof(Wicket) !== "object") {
> > > > >> throw new Error("Wicket already exists but is not an object");
> > > > >> }
> > > > >> function WicketClientGeocoder() {
> > > > >> try {
> > > >

Re: Hide and replace certain UI fragments

2016-10-17 Thread Martin Grigorov
On Mon, Oct 17, 2016 at 11:03 AM, Bilgin Ibryam <bibr...@gmail.com> wrote:

> Hi Martin,
>
> On 16 October 2016 at 15:52, Martin Grigorov <mgrigo...@apache.org> wrote:
> > Hi Bilgin,
> >
> > The footer is replaceable, see https://github.com/apache/
> > isis/blob/master/core/viewer-wicket-ui/src/main/java/org/
> > apache/isis/viewer/wicket/ui/components/footer/FooterPanelFactory.java.
> > It uses ComponentType.FOOTER as a key.
> > Check the other ComponentTypes for what else is possible to be replaced
> > directly by providing your own factory.
> > Some other small things, like the logo and app name, are exposed in the
> > Guice config.
>
> I've seen component types, but to replace a footer I have to touch
>
> IsisWicketApplication
> ComponentFactoryRegistrarDefault
> ComponentFactoryAbstract
> create my panel, html, css...
>

As far as I remember all I had to do when I needed a custom footer was a
custom factory + a panel (java & html).
I didn't need to touch the application and the registrar.


>
> I think if we give the users ability to customise the existing footer,
> it will be an easy win.
>
> It is already possible to disable the theme selector through
>
> isis.viewer.wicket.themes.showChooser=false
>
> and we can add similar features for the  breadcrumb and bookmarks too.
> I can do that for breadcrumbs, but the bookmark one is slightly more
> complicated for me.
>
> And last but not least, if I can provide my own html snippet for the
> footer text, it will be enough. Then the whole UI is customisable w/o
> touching 5-6 java classes.
>
> WDYT?
>

IMO the current way is better because by providing your own FooterPanel you
decide where exactly to put the text (left, middle, right), what font to
use, etc.
If it is just a text then most probably won't look good enough for everyone.


>
> PS: as for the broken theme, it is not giving a good first impression
> to new comers who would try the few options on the UI. And hiding the
> broken template will be easy though configuration. I'll do a PR for
> it.
>

I think the proper way is to update Wicket-Bootstrap dependency. This will
remove Amelia from the list of available themes.
But the upgrade might break the current UI for some themes too...

We have seen in the past that not all themes look perfect as is. That's why
there are overrides like
https://github.com/apache/isis/blob/d023786e74f4f16c57cb67e38c08c7e63f9036fe/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/bootstrap-overrides-darkly.css
The list of themes is just to show that is relatively easy to customize the
UI for your needs. I guess the best we can do is to explain this in the
documentation.


> Cheers,
> B.
>
>
>
>
>
>
>
>
>
> >
> > About the Amelia theme - this has been reported several months ago.
> Amelia
> > theme has been deprecated in Bootswatch, and after that in
> > Wicket-Bootstrap. It is just that Isis uses old versions of Wicket &
> > Wicket-Bootstrap.
> > I believe also the problem (another ticket by Dan) with the three-state
> > checkbox (CheckboxX) is due to the old version of WB.
> >
> > Martin Grigorov
> > Wicket Training and Consulting
> > https://twitter.com/mtgrigorov
> >
> > On Sun, Oct 16, 2016 at 4:08 PM, Bilgin Ibryam <bibr...@gmail.com>
> wrote:
> >
> >> Hi all,
> >>
> >> I've started using ISIS for a project and so far my experience has
> >> been really good. With very little code, I've managed to achieve quite
> >> a lot. Also adding the addons was quite straight forward.
> >>
> >> Now I need few UI customizations and couldn't find an easy way.
> >>
> >> I've already created an improvement ticket [1] but also wanted to
> >> check what are other doing in this aread.  For example I want to
> >> completely disable/hide the bookmarks panel that appear on hoover, it
> >> is a little bit annoying. Also I'd like to customize the footer
> >> content completly, but it seems it is hardcoded.
> >>
> >> Cheers,
> >>
> >>
> >> [1] https://issues.apache.org/jira/browse/ISIS-1518
> >>
> >> --
> >> Bilgin Ibryam
> >> Camel Committer at ASF & Integration Architect at Red Hat
> >> Blog: http://ofbizian.com | Twitter: @bibryam
> >>
> >> Camel Design Patterns https://leanpub.com/camel-design-patterns
> >> Instant Apache Camel Message Routing http://www.amazon.com/dp/
> 1783283475
> >>
>
>
>
> --
> Bilgin Ibryam
> Camel Committer at ASF & Integration Architect at Red Hat
> Blog: http://ofbizian.com | Twitter: @bibryam
>
> Camel Design Patterns https://leanpub.com/camel-design-patterns
> Instant Apache Camel Message Routing http://www.amazon.com/dp/1783283475
>


Re: Hide and replace certain UI fragments

2016-10-16 Thread Martin Grigorov
Hi Bilgin,

The footer is replaceable, see https://github.com/apache/
isis/blob/master/core/viewer-wicket-ui/src/main/java/org/
apache/isis/viewer/wicket/ui/components/footer/FooterPanelFactory.java.
It uses ComponentType.FOOTER as a key.
Check the other ComponentTypes for what else is possible to be replaced
directly by providing your own factory.
Some other small things, like the logo and app name, are exposed in the
Guice config.

About the Amelia theme - this has been reported several months ago. Amelia
theme has been deprecated in Bootswatch, and after that in
Wicket-Bootstrap. It is just that Isis uses old versions of Wicket &
Wicket-Bootstrap.
I believe also the problem (another ticket by Dan) with the three-state
checkbox (CheckboxX) is due to the old version of WB.

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Sun, Oct 16, 2016 at 4:08 PM, Bilgin Ibryam <bibr...@gmail.com> wrote:

> Hi all,
>
> I've started using ISIS for a project and so far my experience has
> been really good. With very little code, I've managed to achieve quite
> a lot. Also adding the addons was quite straight forward.
>
> Now I need few UI customizations and couldn't find an easy way.
>
> I've already created an improvement ticket [1] but also wanted to
> check what are other doing in this aread.  For example I want to
> completely disable/hide the bookmarks panel that appear on hoover, it
> is a little bit annoying. Also I'd like to customize the footer
> content completly, but it seems it is hardcoded.
>
> Cheers,
>
>
> [1] https://issues.apache.org/jira/browse/ISIS-1518
>
> --
> Bilgin Ibryam
> Camel Committer at ASF & Integration Architect at Red Hat
> Blog: http://ofbizian.com | Twitter: @bibryam
>
> Camel Design Patterns https://leanpub.com/camel-design-patterns
> Instant Apache Camel Message Routing http://www.amazon.com/dp/1783283475
>


Re: Sorting tables on columns with null values

2016-09-21 Thread Martin Grigorov
Thank you, Erik!

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Wed, Sep 21, 2016 at 2:20 PM, Erik de Hair <e.deh...@pocos.nl> wrote:

> raised an issue [1] and created a pull request
>
> [1] https://issues.apache.org/jira/browse/ISIS-1493
>
>
>
> On 09/21/2016 11:58 AM, Martin Grigorov wrote:
>
>> Good catch!
>>
>> Please create a Pull Request!
>>
>> Martin Grigorov
>> Wicket Training and Consulting
>> https://twitter.com/mtgrigorov
>>
>> On Wed, Sep 21, 2016 at 11:52 AM, Erik de Hair <e.deh...@pocos.nl> wrote:
>>
>> Hi Martin,
>>>
>>> It looks like the code on [1] is messing things up.
>>>
>>> If you replace the method with something like below, it works:
>>>
>>>  private static Ordering orderingBy(final
>>> ObjectAssociation sortProperty, final boolean ascending) {
>>>  final Ordering ordering = new
>>> Ordering(){
>>>
>>>  @Override
>>>  public int compare(final ObjectAdapter p, final
>>> ObjectAdapter
>>> q) {
>>>  final ObjectAdapter pSort = sortProperty.get(p,
>>> InteractionInitiatedBy.FRAMEWORK);
>>>  final ObjectAdapter qSort = sortProperty.get(q,
>>> InteractionInitiatedBy.FRAMEWORK);
>>>  Ordering naturalOrdering;
>>>  if(ascending){
>>>  naturalOrdering = ORDERING_BY_NATURAL.nullsFirst();
>>>  } else {
>>>  naturalOrdering = ORDERING_BY_NATURAL.reverse().
>>> nullsLast();
>>> // this is the important part to sort the null values correctly
>>>  }
>>>  return naturalOrdering.compare(pSort, qSort);
>>>  }
>>>      };
>>>  return ordering;
>>>  }
>>>
>>> Erik
>>>
>>> [1] https://github.com/apache/isis/blob/3dffc2d96e240982d16131d5
>>> 7d34fc8f54d1292c/core/viewer-wicket-ui/src/main/java/org/
>>> apache/isis/viewer/wicket/ui/components/collectioncontents/a
>>> jaxtable/CollectionContentsSortableDataProvider.java#L170
>>>
>>>
>>> On 09/20/2016 03:43 PM, Martin Grigorov wrote:
>>>
>>> Hi Erik,
>>>>
>>>> This should be handled by
>>>> https://github.com/apache/isis/blob/3dffc2d96e240982d16131d5
>>>> 7d34fc8f54d1292c/core/viewer-wicket-ui/src/main/java/org/
>>>> apache/isis/viewer/wicket/ui/components/collectioncontents/a
>>>> jaxtable/CollectionContentsSortableDataProvider.java#L163-L167
>>>> It looks correct to me.
>>>> Put a breakpoint and see what happens.
>>>>
>>>> Martin Grigorov
>>>> Wicket Training and Consulting
>>>> https://twitter.com/mtgrigorov
>>>>
>>>> On Tue, Sep 20, 2016 at 3:30 PM, Erik de Hair <e.deh...@pocos.nl>
>>>> wrote:
>>>>
>>>> Hi,
>>>>
>>>>> This might be a bit off topic but I hope Martin could answer this
>>>>> question...
>>>>>
>>>>> When sorting a table on a column containing (joda LocalDate) null
>>>>> values,
>>>>> using the Wicket viewer by clicking the header of the column, it always
>>>>> keeps the items with null on top even after reversing the sort order.
>>>>> Is
>>>>> there any way to change this behavior?
>>>>>
>>>>> Thanks,
>>>>> Erik
>>>>>
>>>>>
>>>>>
>


Re: Sorting tables on columns with null values

2016-09-21 Thread Martin Grigorov
Good catch!

Please create a Pull Request!

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Wed, Sep 21, 2016 at 11:52 AM, Erik de Hair <e.deh...@pocos.nl> wrote:

> Hi Martin,
>
> It looks like the code on [1] is messing things up.
>
> If you replace the method with something like below, it works:
>
> private static Ordering orderingBy(final
> ObjectAssociation sortProperty, final boolean ascending) {
> final Ordering ordering = new
> Ordering(){
>
> @Override
> public int compare(final ObjectAdapter p, final ObjectAdapter
> q) {
> final ObjectAdapter pSort = sortProperty.get(p,
> InteractionInitiatedBy.FRAMEWORK);
> final ObjectAdapter qSort = sortProperty.get(q,
> InteractionInitiatedBy.FRAMEWORK);
> Ordering naturalOrdering;
> if(ascending){
> naturalOrdering = ORDERING_BY_NATURAL.nullsFirst();
> } else {
> naturalOrdering = 
> ORDERING_BY_NATURAL.reverse().nullsLast();
> // this is the important part to sort the null values correctly
> }
> return naturalOrdering.compare(pSort, qSort);
> }
> };
> return ordering;
> }
>
> Erik
>
> [1] https://github.com/apache/isis/blob/3dffc2d96e240982d16131d5
> 7d34fc8f54d1292c/core/viewer-wicket-ui/src/main/java/org/
> apache/isis/viewer/wicket/ui/components/collectioncontents/a
> jaxtable/CollectionContentsSortableDataProvider.java#L170
>
>
> On 09/20/2016 03:43 PM, Martin Grigorov wrote:
>
>> Hi Erik,
>>
>> This should be handled by
>> https://github.com/apache/isis/blob/3dffc2d96e240982d16131d5
>> 7d34fc8f54d1292c/core/viewer-wicket-ui/src/main/java/org/
>> apache/isis/viewer/wicket/ui/components/collectioncontents/a
>> jaxtable/CollectionContentsSortableDataProvider.java#L163-L167
>> It looks correct to me.
>> Put a breakpoint and see what happens.
>>
>> Martin Grigorov
>> Wicket Training and Consulting
>> https://twitter.com/mtgrigorov
>>
>> On Tue, Sep 20, 2016 at 3:30 PM, Erik de Hair <e.deh...@pocos.nl> wrote:
>>
>> Hi,
>>>
>>> This might be a bit off topic but I hope Martin could answer this
>>> question...
>>>
>>> When sorting a table on a column containing (joda LocalDate) null values,
>>> using the Wicket viewer by clicking the header of the column, it always
>>> keeps the items with null on top even after reversing the sort order. Is
>>> there any way to change this behavior?
>>>
>>> Thanks,
>>> Erik
>>>
>>>
>


Re: Sorting tables on columns with null values

2016-09-20 Thread Martin Grigorov
Hi Erik,

This should be handled by
https://github.com/apache/isis/blob/3dffc2d96e240982d16131d57d34fc8f54d1292c/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsSortableDataProvider.java#L163-L167
It looks correct to me.
Put a breakpoint and see what happens.

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Tue, Sep 20, 2016 at 3:30 PM, Erik de Hair <e.deh...@pocos.nl> wrote:

> Hi,
>
> This might be a bit off topic but I hope Martin could answer this
> question...
>
> When sorting a table on a column containing (joda LocalDate) null values,
> using the Wicket viewer by clicking the header of the column, it always
> keeps the items with null on top even after reversing the sort order. Is
> there any way to change this behavior?
>
> Thanks,
> Erik
>


Re: Isis in cloud services

2016-08-26 Thread Martin Grigorov
Hi Cesar,

Thanks for sharing this information with us!

On Fri, Aug 26, 2016 at 7:47 PM, César Camilo Lugo Marcos <
cesar.l...@sisorg.com.mx> wrote:

> Hello,
>
> I just wanted to let you know that we have been testing our application
> in tree cloud services so far, with good results in two of them:
>
> Amazon Web Services Elastic Beanstalk. Working fine, volume load testing
> automatically scales instances up and down just.
>
> Heroku. Working fine, volume load testing automatically scales Dynos up
> and down just fine.
>

Did you use the Wicket viewer in the testing ?
I ask because Heroku is designed for stateless applications and Wicket
applications very quickly become stateful if the developer doesn't pay
special attention. Isis Wicket viewer is definitely stateful.
For stateful apps you either need sticky sessions or distributed session
storage. AFAIK Heroku doesn't support sticky sessions.


>
> Google App Engine, works fine in development mode, but when you deploy
> the ISIS app does not start. It looks like this is due to the fact that
> Apache Wicket uses some non scalable features of Java, and Google blocks
>

Can you please share more details about the issues you faced here ?
There are some basic configuration settings one has to make to be able to
run at GAE (
https://github.com/wicketstuff/core/blob/b1f603b147e5899528f40af65d2e033d166c340a/gae-initializer-parent/gae-initializer/src/main/java/org/wicketstuff/gae/GaeInitializer.java#L20-L40).
But maybe there was something more ?!


> those features of Java. Another issue is that Google App Engine only
> supports Java 1.7 and not 1.8 .
>

Yes, and old versions of Jetty and DataNucleus...


>
> We are using PostgreSQL in all cases.
>
> Cesar.
>
>


Re: URLs as property.

2016-08-22 Thread Martin Grigorov
Hi Kevin,

You can take some inspiration from https://github.com/
isisaddons/isis-wicket-summernote/tree/master/cpt/
src/main/java/org/isisaddons/wicket/summernote/cpt/applib.
This component uses custom annotation @SummernoteEditor that could be
applied on java.lang.String properties to show their edit mode in a rich
editor (http://summernote.org/)

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Sun, Aug 21, 2016 at 5:00 PM, Kevin Meyer <ke...@kmz.co.za> wrote:

> Hi Alexander,
>
> If I understand you correctly, I have a solution that could work.
>
> When viewed as an item (by iteself), the URL is just a plain string that
> can be edited.
>
> When viewed in a collection, the URLs are rendered as links (but for some
> reason my Firefox does not actually respond when I click on the URL, but
> all the mark-up seems OK).
>
> See bottom for the Factory, which must be added to
> META-INF/services/org.apache.isis.viewer.wicket.ui.ComponentFactory
> e.g. mine is:
> isis.example.UrlPanelFactory
>
> Hi Martin,
>
> With the following Java:
> /**
>  * Panel for rendering strings as links.
>  */
> public class UrlPanel extends ScalarPanelTextFieldParseableAbstract {
> private static final long serialVersionUID = 1L;
> private static final String ID_LINK = "externalSite";
>
>
> public UrlPanel(final String id, final ScalarModel scalarModel) {
> super(id, ID_SCALAR_VALUE, scalarModel);
> }
>
> @Override
> protected IModel getScalarPanelType() {
> return Model.of("stringPanel");
> }
>
> @Override
> protected Component addComponentForCompact() {
> System.out.println("addComponentForCompact()");
> Fragment compactFragment = getCompactFragment(CompactType.SPAN);
> final String objectAsString = getModel().getObjectAsString();
> final ExternalLink link = new ExternalLink(ID_LINK,
> objectAsString, objectAsString);
> compactFragment.add(link);
> scalarTypeContainer.addOrReplace(compactFragment);
> return link;
> }
> }
>
>
> I found that I had to overload most of the ScalarPanelAbstract.html and
> the ScalarPanelTextFieldAbstract.html to create:
>
>
>  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd;>
> http://www.w3.org/1999/xhtml;
>   xmlns:wicket="http://wicket.apache.org;
>   xml:lang="en"
>   lang="en">
> 
> 
>  wicket:id="scalarTypeContainer">
> 
> [Label text]
> 
> 
> 
> 
> 
>
>   
>  class="edit fa fa-pencil-square-o"/>
> 
> 
>  class="associatedActionLinksRight">[drop
> down]
> 
>  class="help-block">
> 
> 
> 
> 
> 
> 
> 
>
> 
> 
> 
>
> 
> 
> 
> 
> 
> 
>
>
> Finally, the factory. This is a horrible hack.
> Basically, I check for any string property that starts with "url".
> Ideally this should be an annotation or something, but I could not figure
> out how to pick up annotations from the property in the "aapliesTo" method
> of the factory:
>
>
> public class UrlPanelFactory extends ComponentFactoryScalarAbstract {
>
> private static final long serialVersionUID = 1L;
>
> public UrlPanelFactory() {
> super(String.class);
> }
>
> @Override
> public ApplicationAdvice appliesTo(IModel model) {
> if (!(model instanceof ScalarModel)) {
> return ApplicationAdvice.DOES_NOT_APPLY;
> }
>
> ScalarModel scalarModel = (ScalarModel) model;
> PropertyMemento memento = scalarModel.getPropertyMemento();
> if (memento != null){
> String identifier = memento.getIdentifier();
> final ApplicationAdvice appliesIf =
> appliesIf(identifier.startsWith("url"));
> return appliesIf;
> }
> return ApplicationAdvice.DOES_NOT_APPLY;
> }
>
>
> @Override
> public Component createComponent(final

Re: URLs as property.

2016-08-20 Thread Martin Grigorov
Hi Kevin,


On Fri, Aug 19, 2016 at 11:14 PM, Kevin Meyer  wrote:

> Hi Alexander,
>
> I thought the trick here was to register a new ScalarPanelAbstract that
> would pick up the URL and render it as a click-able link.
>
> In my testing, I have been able to register my
> "isis.example.UrlPanelFactory", which is just a String renderer (copied
> from ShortPanel).
>
> However, I have reached my limit. I can parse the text value, detect that
> it is a URL, but now I can't figure out how to create the matching Wicket
> HTML and Java to populate a hyperlink!
>
> I was experimenting with the HTML:
>
> 
> 
>  wicket:id="scalarIfRegular">
>  class="scalarName">[Label text]
> 
>  name="scalarValue" wicket:id="scalarValue" />
> 
> 
> 
>  wicket:id="scalarIfCompact">
>

This should not be .
"scalarIfCompact" is used for the "view" mode, "scalarIfRegular" for the
"edit" mode.
I.e. in edit mode you have to use  to change the url, in view mode
you have to use  to be able to click it.


> 
> 
> 
>
> But I don't know how to update the Java:
> public class UrlPanel extends ScalarPanelAbstract {
> ...
> // How to manipulate the Wicket component, once I have my URL-containing
> string.
>

You need to extend #getLabelForCompact() and #getComponentForRegular() (
https://github.com/apache/isis/blob/501e890f90d535df43d73a90e14295fadc9f9b64/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java#L171-L177
)
For the link () you can use Wicket's ExternalLink
component.
For  use WebMarkupContainer, if you really need
it to be Wicket component. Otherwise just remove wicket:id from it.

Try it and let me know if you face any problems!

> ...
> }
>
>
> Maybe someone with better Wicket foo can provide some advice...
>
> Cheers,
> Kevin
>
>
> On Fri, August 19, 2016 17:35, Alexander Zerbe wrote:
> >
>
> > Hellp Joerg,
> >
> >
> > thanks for  the reply, but  like I said: Creation of a action, that
> > returns a URL and therefore executes a redirect is not a problem.
> >
> > Maybe I should make a feature request for wicked out of my question.
> >
> >
> > "Please render properties of type URL (Java.lang) as clickable links."
> >
> >
> > I was just looking for a possible solution for that case. :-)
> >
> >
> > Best regards
> >
> >
> > Rade, Joerg / Kuehne + Nagel / Ham GI-DP 
> > writes:
> >
> >
> >> Hi Alexander,
> >>
> >>
> >> I use the following:
> >>
> >>
> >> @ActionLayout(cssClassFa = "spinner")
> >> public URL openURL(final RuntimeEnvironment rte) throws
> >> MalformedURLException {
> >> URL url = null;
> >> try { url = new URL(rte.getUri()); } catch (Exception e) {
> >> messageService.raiseError("URL could not be opened"); }
> >> return url; }
> >>
> >>
> >> where RuntimeEnvironment#getUri() is:
> >>
> >> public String getUri() { return "http://; + getHost().title() + ":" +
> >> getPort() + getPath(); }
> >>
> >>
> >> So the URL is not a property - it's constructed from strings.
> >>
> >>
> >> HTH -j
> >> -Ursprüngliche Nachricht-
> >> Von: Alexander Zerbe [mailto:ze...@prime-research.com]
> >> Gesendet: Donnerstag, 18. August 2016 11:51
> >> An: users@isis.apache.org
> >> Betreff: Re: URLs as property.
> >>
> >>
> >>
> >> Hello Sander,
> >>
> >>
> >> thanks for your reply, but no that was not what I ment. I have a domain
> >> entity that has a URL as a property (where it is accessible/stored or
> >> where it 'lives').
> >>
> >> I'm searching for the best way to make this URL accessible (clickable).
> >>
> >>
> >> For example - I want to display all entities and I only want their name
> >> and URL, but the URL gets rendered as a string. So you must copy this
> >> string, open a new browser tab, insert it and open the URL by hand.
> >>
> >> In the future I will just create a frontend for this, but right now I
> >> would like to know if its possible to render every string that begins
> >> with 'http(s)' as a link.
> >>
> >> Best regards.
> >>
> >>
> >> Sander Ginn  writes:
> >>
> >>
> >>> Hi Alexander,
> >>>
> >>>
> >>> I'm not completely sure if I understand your question correctly, but
> >>> I think this is the answer:
> >>> Each item in a collection has an icon associated with it in the
> >>> leftmost column of the table. This icon is clickable and will
> >>> redirect you to the specific object. An example with the icon marked
> >>> with a red circle is attached.
> >>>
> >>> Kind regards,
> >>> Sander Ginn
> >>>
> >>>
> >>>
> >>>
> >>>
>  On 12 Aug 2016, at 11:56, Alexander Zerbe
>   wrote:
> 
> 
>  Hi Everyone,
> 

Re: Dropdown window bug

2016-08-18 Thread Martin Grigorov
Hi Hector,

The problem is tracked here: https://issues.apache.org/jira/browse/ISIS-1224
The best solution I was able to find is described in this comment:
https://issues.apache.org/jira/browse/ISIS-1224?focusedCommentId=15054992=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15054992
It is still not perfect though! But still better than the current behavior.

I don't know when Isis will be upgraded to Wicket 7.x. But this is not
directly related to this problem.
Wicket 7.x is required only if Isis wants to use Select2 4.x because there
is no integration of 4.x in WicketStuff-Select2 6.x.

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Thu, Aug 18, 2016 at 3:44 AM, Hector Fabio Meza <
hector.m...@smartools.com.co> wrote:

> Hi,
>
> I found this conversation about the dropdown window bug appearing on the
> left side of the screen some times: http://users.isis.apache.
> narkive.com/qco5fzuW/dropdown-window-bug-in-1-10-0
>
> I do agree it's more annoying than critical, but just wanted to know if
> there's a timeline for the switch to 7.2.0, and/or if switching to the new
> selectize component is still on the plan.
>
> Screenshot of the issue added for context: http://picpaste.com/pics/
> desplazListaEjercicioAE-VkppCaQA.1471484649.png
>
> Thank you.
> --
>
> *Hector Fabio Meza*
> *R Lead smartools*
> (57) 300 2254455 <%2857%29%20300%206815404>
> Skype: hectorf.meza
> www.smartools.com.co
>
>


Re: Apache ISIS - Shiro - CAS Authentication

2016-08-17 Thread Martin Grigorov
Hi,

On Tue, Aug 16, 2016 at 10:16 PM, David Tildesley <
davo...@yahoo.co.nz.invalid> wrote:

> Hi Uma,
> Just an idea: you could extend  org.apache.isis.viewer.wicket.
> viewer.integration.wicket.WebRequestCycleForIsis
> 1. Check for a Wicket Session: org.apache.wicket.protocol.
> http.WebSession.get();
>

Small correction.
Session#get() acts as "get or create".
Use Session#exists() to check whether there is a session or not.


> 2. If none, assume the "container" has authenticated the user so then
> check HttpServletRequest for a remote user (getRemoteUser();)
> 3. If remote user exists then set the user in wicket:
> org.apache.wicket.authroles.authentication.AuthenticatedWebSession.get(0.signIn(username,
> ""):
>
> No doubt a few other things to take care of but may be a good starting
> point.
>
> David.
>
> On Tuesday, 16 August 2016 5:04 PM, uma narayan
>  wrote:
>
>
>  Hi,
> I need to integrate apache isis with shiro-cas. With shiro-cas I was able
> to authenticate and authorize successfully but still isis login page is
> presented is to me.
>
> Summarizing my application flow:1. CAS filter re-directs to CAS Login
> 2. CAS Realm performs authentication and authorization3. Then, apache isis
> login page is presented again.
>
> On analyzing the source code found that AuthenticatedWebSession is not
> created. Please provide me a solution to resolve this issue.
> Thanks for your help,Uma
>
>
>
>
>


Re: Binary, non-base 64 upload

2016-08-05 Thread Martin Grigorov
Hi Kambiz,

I guess this code works only because you don't need another request
parameter in the same action.
Latest versions of Isis recommend to have an action per request parameter,
so maybe this is not an issue.
But imagine submitting a form with one or more text fields and one file
upload field. To be able to pass the values of the input fields Isis will
need to call request.getParameter(someName) and this will consume the
request body and later your code won't see anything in the inputstream.

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Fri, Aug 5, 2016 at 4:27 PM, Kambiz Darabi <dar...@m-creations.com>
wrote:

> Hello Martin,
>
> On 2016-08-05 13:42 CEST, Martin Grigorov <mgrigo...@apache.org> wrote:
>
> > [...]
> > The problem here is that you have to make sure that your code is the very
> > first one that reads from the ServletInputStream. Otherwise the body will
> > be already consumed.
> > You may need to override some Wicket/RESTeasy code to be able to do this
> > for the default viewers.
> > And this would be much harder than custom Servlet Filter in front of the
> > ones by Wicket/RESTeasy
>
> If you look at the change in my original post:
>
> https://github.com/m-creations/isis/commit/aa3b16a5cf463466f5abadbcc8cc73
> f16857a628
>
> you can see that I added this functionality to the
> restfulobjects-viewer, so that I can be sure that the full stream is
> handed to the action without any change.
>
> That code is tested against the Isis archetype with this addition to the
> SimpleObjectMenu service:
>
> @Action(semantics = SemanticsOf.SAFE)
> public void upload(HttpServletRequest request, HttpServletResponse
> response) {
>   FileOutputStream out = null;
>   try {
> File outFile = new File("/tmp/request");
> out = new FileOutputStream(outFile, false);
> IOUtils.copy(request.getInputStream(), out);
> out.close();
>   } catch (IOException e) {
> if(out != null) {
>   try {
> out.close();
>   } catch (IOException e1) {
> // LOG something
>   }
> }
> // throw something
>   }
> }
>
>
> and the file in /tmp/request is identical to the posted binary file which
> is sent by
> curl:
>
> curl -X POST --data-binary @big-binary-file
>   --header "Authorization: Basic c3ZlbjpwYXNz" \
>   --header "Accept: application/json;profile=urn:org.apache.isis/v1" \
>   --header "Content-Type: application/octet-stream" \
>   http://localhost:8080/restful/services/SimpleObjectMenu/
> actions/upload/invoke
>
>
> Cheers
>
>
> Kambiz
>
> >
> >> action with the metadata of the files/request, but it would help a lot
> >> to have such a facility inside Isis instead of writing a separate
> >> servlet and manually integrating its deployment and the calling of
> >> domain actions etc.
> >>
> >> Cheers
> >>
> >>
> >> Kambiz
> >>
> >>
> >> On 2016-08-03 18:53 CEST, Willie Loyd Tandingan <
> tandingan@gmail.com>
> >> wrote:
> >>
> >> > Hi Kambiz,
> >> >
> >> > We had a requirement similar to yours. The problem with injecting
> >> > HttpServletRequest to domain services is that it kind of violates the
> >> DDD's
> >> > hexagonal architecture by letting viewer implementation leak into the
> >> > domain layer.
> >> >
> >> > The specific requirement that we had was to be able to pre-upload
> files
> >> > before submitting an action. We developed a custom blob that stores
> an id
> >> > instead of the actual data, a service layer that manages a blob
> storage
> >> > abstracting and running on top of jclouds (we plan to be able to
> support
> >> > other types of storage aside from file system), and a file service
> that
> >> > manages the state of "transient files" (files that were pre-uploaded
> or
> >> > that are returned from actions as result of export functions, etc.) as
> >> well
> >> > as means to persist them (i.e. move them to another
> >> > container/bucket/folder).
> >> >
> >> > We then developed a custom servlet that handles download and upload
> and
> >> > integrate them with isis. This enabled us to implement features like
> >> forced
> >> > attachment content disposition, or on-demand image resizing.
> >> >
> >> > Should you have oth

Re: Binary, non-base 64 upload

2016-08-05 Thread Martin Grigorov
Hi Kambiz,

On Fri, Aug 5, 2016 at 12:55 PM, Kambiz Darabi 
wrote:

> Hi,
>
> yes, I fully agree that it violates the DDD idea, but on the other hand,
> I don't see a point in implementing part of the system as a separate
> servlet which doesn't have access to the underlying Isis
> facilities.
>
> We need access to other services to implement business logic
> e.g. depending on the size of the upload or on the file signature (magic
> numbers).
>
> In most cases, we just have to read the InputStream of the servlet and
> write it out to a file, which is much more memory-efficient than reading
> the whole file as a base64 string into memory, decoding it, and then
> calling an action with the Blob.
>
> I'm not opposed to programming some facility (an Isis module?) which
> streams the content of the request to a file - or multiple files in case
> of a multipart request - and _then_ calls an appropriately annotated
>

The problem here is that you have to make sure that your code is the very
first one that reads from the ServletInputStream. Otherwise the body will
be already consumed.
You may need to override some Wicket/RESTeasy code to be able to do this
for the default viewers.
And this would be much harder than custom Servlet Filter in front of the
ones by Wicket/RESTeasy


> action with the metadata of the files/request, but it would help a lot
> to have such a facility inside Isis instead of writing a separate
> servlet and manually integrating its deployment and the calling of
> domain actions etc.
>
> Cheers
>
>
> Kambiz
>
>
> On 2016-08-03 18:53 CEST, Willie Loyd Tandingan 
> wrote:
>
> > Hi Kambiz,
> >
> > We had a requirement similar to yours. The problem with injecting
> > HttpServletRequest to domain services is that it kind of violates the
> DDD's
> > hexagonal architecture by letting viewer implementation leak into the
> > domain layer.
> >
> > The specific requirement that we had was to be able to pre-upload files
> > before submitting an action. We developed a custom blob that stores an id
> > instead of the actual data, a service layer that manages a blob storage
> > abstracting and running on top of jclouds (we plan to be able to support
> > other types of storage aside from file system), and a file service that
> > manages the state of "transient files" (files that were pre-uploaded or
> > that are returned from actions as result of export functions, etc.) as
> well
> > as means to persist them (i.e. move them to another
> > container/bucket/folder).
> >
> > We then developed a custom servlet that handles download and upload and
> > integrate them with isis. This enabled us to implement features like
> forced
> > attachment content disposition, or on-demand image resizing.
> >
> > Should you have other ideas or questions, feel free to ask.
> >
> >
> > Best regards,
> > Willie
> > On Thu, 4 Aug 2016 at 12:37 AM Kambiz Darabi 
> wrote:
> >
> >> Hi,
> >>
> >> I have to implement a legacy file upload service for a customer. Files
> >> of up to some hundred megabytes are uploaded to a service over HTTP POST
> >> and a unique ID is returned which can be used to refer to that file, add
> >> metadata to it etc.
> >>
> >> Using Blobs is not viable as parsing of the base64 encoded binary data
> >> and the allocation of multiple strings during request processing
> >> increases both the time and space requirements.
> >>
> >> Ideally, I would be able to create an action on one of my domain
> >> services which has a HttpServletRequest argument and take care of
> >> reading the binary data and writing them to the file system.
> >>
> >> I have played around with the request processing part of the
> >> restfulobjects viewer/server and managed to get the request/response
> >> objects through.
> >>
> >> I know that this is a real edge case, but I think that it is important
> >> to have solutions for edge cases, too, if Isis is to be used as a
> >> general purpose platform.
> >>
> >> Could some committers please review the changes and maybe propose a
> >> cleaner way of implementing this?
> >>
> >>
> >> https://github.com/m-creations/isis/commit/
> aa3b16a5cf463466f5abadbcc8cc73f16857a628
> >>
> >> Thanks
> >>
> >>
> >> Kambiz
> >>
> >>
>


Re: Adventures in Apache Isis...

2016-07-15 Thread Martin Grigorov
t aware of the
issues we won't fix them!


> understand the Wicket-way of doing this plus the way Isis goes about it as
> well. And then do it for the contribs also. Surprisingly complex for a
> beginner even if they are by themselves all just small trivial fixes.
> Documentation:
> All in all the documentation is great and better than much of the other
> stuff out there, but a lot of details are missing to really understand the
> concepts behind value objects, enum types, facets, objects not originating
> from a database and the like.
> Furthermore, there is not a lot of info or "hand holding" about how to take
> an application from prototyping to production. I had to spend a lot of time
> figuring out how to get a jetty runner working with an "uberjar" in
> headless mode as a service with "external" configuration (the internal Isis
> Server didn't work for me at all, but that might also just due to my
> inexperience).
>
> Wish list:
> - Better out-of-the-box handling of the display of external/static
> resources (Images, IFrames(!) etc.)
> - A component for pageable display of entity collections in a grid
> - A tree component
>

Please create tickets with good description of what exactly is needed!


>
> All in all I definitely see Apache Isis as a great and clean way of doing
> these kinds of applications and I want to encourage people to just try it
> out for a project and see for themselves -- IMHO it's quite low risk and
> lots of fun!, especially if you can go with the existing components. It
> gives me quite a bit of confidence that even adding substantial new
> functionality - once you get the model right - just works. (Guess I'm
> preaching to the choir here here anyway ;)
>
> Cheers and a have a great weekend,
>

Have a nice weekend!


Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov


Re: strange query resultset

2016-07-01 Thread Martin Grigorov
Hi Dan,

On Fri, Jul 1, 2016 at 8:19 AM, Dan Haywood 
wrote:

> It's a bit hard to comment on this in isolation; you haven't included the
> mappings of the relevant classes, nor the JDOQL for the query being
> invoked.
>
> Perhaps you could use the logging jdbc driver (see persistor.properties) to
> grab the SQL being submitted.
>
> Or, if you point at SQL Server (now on all platforms), then its Profiler
>

"now on all platforms" is not correct :-)
"now" actually means ~2018
"all platforms" means "Linux", but not OSX, BSD, Solaris. And even Linux
means just Ubuntu and RHEL

I am interested to see whether they will provide the UI management tools as
well

will let you grab the SQL from the server side.
>
> And finally, you might want to experiment with rewriting the query either
> using DN's own query API or using the type-safe "Q*" queries, and submit
> via IsisJdoSupport#getPersistenceManager().
>
> Meanwhile, if you could provide a test case of some sort and describe the
> exact steps to reproduce the problem, I'll try to take a look over the next
> day or two.
>
> Thx
> Dan
>
> PS: yes, I do agree that ORMs are great except when they aren't.
>
>
>
> On 1 July 2016 at 07:12, Stephen Cameron 
> wrote:
>
> > Hi,
> >
> > I have an ViewModel based on a database view. The view returns an ordered
> > set of results, well it does at the database level.
> >
> > When I execute the same query via Isis and Datanucleus, I am seeing a
> kind
> > of corruption of the results where a small set of Date values is
> different
> > to what I see in the direct query on the view via MySQL Workbench.
> >
> > Below is some results from the code version to illustrate the problem:
> >
> > StyxValleyReserveFULL/clo,2016-01-11T09:00:00.000+11:00,Geard
> > ,Graeme,2016-06-24,540
> > StyxValleyReserveFULL/clo,2016-01-11T09:00:00.000+11:00,Hamilton
> > ,Jane,1955-04-03,540
> >
> >
> StyxValleyReserveFULL/clo,2016-01-11T09:00:00.000+11:00,Turner,Kathleen,1928-06-10,540
> >
> >
> StyxValleyReserveFULL/clo,2016-01-11T09:00:00.000+11:00,Taylor,Rebel,1931-12-17,540
> >
> >
> StyxValleyReserveFULL/clo,2016-01-11T09:00:00.000+11:00,Jacques,Marlene,1943-11-16,540
> > StyxValleyReserveFULL/clo,2016-01-11T09:00:00.000+11:00,Healy
> > ,Shirley,1936-03-14,540
> > StyxValleyReserveFULL/clo,2016-01-11T09:00:00.000+11:00,Knight,Tony
> > ,1943-01-09,540
> > StyxValleyReserveFULL/clo,2016-01-11T09:00:00.000+11:00,Van de
> > Vusse,Mathilda,1931-09-14,540
> >
> >
> StyxValleyReserveFULL/clo,2016-01-11T09:00:00.000+11:00,Johnston,Priscilla,1942-12-16,540
> > ArtGroup,2016-01-13T09:30:00.000+11:00,Rozynski,Noella,1933-12-25,240
> > ArtGroup,2016-01-20T09:30:00.000+11:00,Huigsloot,Betty,1934-05-07,240
> > ArtGroup,2016-01-27T09:30:00.000+11:00,Knight,Tony ,1943-01-09,210
> > ArtGroup,2016-01-13T09:30:00.000+11:00,Blackley,Shirley,1937-12-07,240
> > ArtGroup,2016-01-13T09:30:00.000+11:00,Wilson,Margaret,1931-04-11,210
> > ArtGroup,2016-01-13T09:30:00.000+11:00,Johnson,Tara,1934-02-06,210
> > ArtGroup,2016-01-27T09:30:00.000+11:00,Brownlow,Jacqueline,1950-07-22,210
> > ArtGroup,2016-01-27T09:30:00.000+11:00,Cracknell,Anne,1936-08-09,210
> > ArtGroup,2016-01-13T09:30:00.000+11:00,UNKNOWN113,UNKNOWN,2016-06-24,210
> > SouthArmPeninsulaBusTripF,2016-01-14T09:00:00.000+11:00,Houlgrave
> > ,Keryl,1945-10-02,480
> >
> >
> SouthArmPeninsulaBusTripF,2016-01-14T09:00:00.000+11:00,Butler,Steve,1957-04-06,480
> >
> >
> SouthArmPeninsulaBusTripF,2016-01-14T09:00:00.000+11:00,Smith,Joyce,1926-07-26,480
> >
> >
> SouthArmPeninsulaBusTripF,2016-01-14T09:00:00.000+11:00,Wagner,Lorelies,1937-11-12,480
> >
> >
> SouthArmPeninsulaBusTripF,2016-01-14T09:00:00.000+11:00,Sargent,Merle,1935-10-12,480
> >
> >
> SouthArmPeninsulaBusTripF,2016-01-14T09:00:00.000+11:00,Morice,Ann,1940-04-10,480
> >
> >
> SouthArmPeninsulaBusTripF,2016-01-14T09:00:00.000+11:00,Evans,Jean,1927-12-22,480
> >
> >
> SouthArmPeninsulaBusTripF,2016-01-14T09:00:00.000+11:00,Klein,Helga,1938-09-05,480
> > SouthArmPeninsulaBusTripF,2016-01-14T09:00:00.000+11:00,Klein,Bill
> > (Helmut),1938-08-25,480
> >
> >
> SouthArmPeninsulaBusTripF,2016-01-14T09:00:00.000+11:00,Scheepers,Froukje,1934-05-22,480
> >
> >
> SouthArmPeninsulaBusTripF,2016-01-14T09:00:00.000+11:00,Brown,Derek,1936-04-01,480
> >
> > The same set of results via query
> >
> > StyxValleyReserveFULL/clo 2016-01-11 09:00:00 Geard Graeme 2016-06-24 540
> > StyxValleyReserveFULL/clo 2016-01-11 09:00:00 Hamilton Jane 1955-04-03
> 540
> > StyxValleyReserveFULL/clo 2016-01-11 09:00:00 Turner Kathleen 1928-06-10
> > 540
> > StyxValleyReserveFULL/clo 2016-01-11 09:00:00 Taylor Rebel 1931-12-17 540
> > StyxValleyReserveFULL/clo 2016-01-11 09:00:00 Jacques Marlene 1943-11-16
> > 540
> > StyxValleyReserveFULL/clo 2016-01-11 09:00:00 Healy Shirley 1936-03-14
> 540
> > StyxValleyReserveFULL/clo 2016-01-11 09:00:00 Knight Tony 1943-01-09 540
> > StyxValleyReserveFULL/clo 2016-01-11 09:00:00 Van de Vusse 

Re: Integrating Flyway for database migrations

2016-06-22 Thread Martin Grigorov
Thanks for sharing, Timothy!

This is what I'd do as well.
I've never had good experience with auto-generated DB schemas.

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Wed, Jun 22, 2016 at 1:10 PM, Simecsek Timothy <
timothy.simec...@nttdata.com> wrote:

> Hello Kambiz, Hello Jeroen,
>
> My colleague pointed me to your mails at the mailing list as we were also
> interested in that topic. In datanucleus documentation see [1] I found a
> hook that can be used. Please note that I implemented that yesterday, so it
> is not well tested but the application starts and all integration tests are
> green.
>
> In persistor_datanucleus.properties add this:
>
> isis.persistor.datanucleus.impl.javax.jdo.PersistenceManagerFactoryClass=com.example.FlywayJdoPersistenceManagerFactory
>
> and turn off the auto generation:
> isis.persistor.datanucleus.impl.datanucleus.schema.autoCreateAll=false
>
> Also I turned off validation because I had issues with LONGVARBINARY as
> HSQL replaced it to VARBINARY which datanucleus was not very happy about
> that ;)
> isis.persistor.datanucleus.impl.datanucleus.schema.validateAll=false
> isis.persistor.datanucleus.impl.datanucleus.schema.validateTables=false
> isis.persistor.datanucleus.impl.datanucleus.schema.validateColumns=false
>
> isis.persistor.datanucleus.impl.datanucleus.schema.validateConstraints=false
>
> Here the implementation of the class:
>
> import org.datanucleus.api.jdo.JDOPersistenceManagerFactory;
> import org.datanucleus.metadata.PersistenceUnitMetaData;
> import org.flywaydb.core.Flyway;
>
> public class FlywayJdoPersistenceManagerFactory extends
> JDOPersistenceManagerFactory {
>
> public FlywayJdoPersistenceManagerFactory() {
> super();
> }
>
> public FlywayJdoPersistenceManagerFactory(final
> PersistenceUnitMetaData pumd, final Map overrideProps) {
> super(pumd, overrideProps);
> migrateDatabase();
> }
>
> public FlywayJdoPersistenceManagerFactory(final Map props) {
> super(props);
> migrateDatabase();
> }
>
> private void migrateDatabase() {
>
> //String driverName =
> (String)this.getProperties().get("javax.jdo.option.ConnectionDriverName");
> Flyway uses auto detection...
> //String url =
> (String)this.getProperties().get("javax.jdo.option.ConnectionURL"); don't
> use, as the propertie names are changed during initialization of superclass
> //String userName =
> (String)this.getProperties().get("javax.jdo.option.ConnectionUserName");
> //String password =
> (String)this.getProperties().get("javax.jdo.option.ConnectionPassword");
>
> try {
> Flyway flyway = new Flyway();
> flyway.setDataSource(this.getConnectionURL(),
> this.getConnectionUserName(), this.getConnectionPassword());
> flyway.migrate();
>
> } catch (Exception e) {
> e.printStackTrace();
> }
> }
> }
>
> Hope that helps you!
>
> Regards Timothy
>
> [1] http://www.datanucleus.org/products/datanucleus/jdo/pmf.html
>
> >Hi Kambiz,
> >
> >There's currently not a nice hook that I can think of to execute Flyway
> >migrations. I would create a separate "upgrade" mode to start Isis that
> >bootstraps with an in-memory db and allows you to do the Flyway stuff. But
> >Dan probably has other ideas ;-)
> >
> >I've looked into Flyway for exactly the same purpose but was not really
> >enthousiast about it. What I disliked the most is that you have to
> maintain
> >every single db change in scripts. For me, the domain model is the source
> >and persistence should be derived from that. And Datanucleus does an
> >excellent job in creating all database artifacts so I want to keep
> >leveraging that.
> >
> >What we currently do (manually) is roughly this:
> >1. stop Isis;
> >2. drop all db constraints;
> >3. apply db upgrade script (for the changes that cannot be handled by
> >Datanucleus);
> >4. start Isis;
> >5. execute upgrade service (for programmatic changes).
> >
> >We are also trying to crack the nut on how to automate this but encounter
> a
> >few hurdles and I am not sure if Flyway can tackle those:
> >- we have applications that consist of multiple modules, each with its own
> >db schema and that change independently and the application should
> >orchestrate the right order of upgrading;
> >- a lot of times data is migrated, even between schemas and we sometimes
> >use temporary views to do a pre and post check;
> >
> >Any

Re: Concurrency

2016-05-31 Thread Martin Grigorov
Hi,

To find out where is the problem you will have to use a profiler like
JProfiler, Yourkit, JVisualVM, etc.
Even some thread dumps would help to see what is going on.

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Mon, May 30, 2016 at 9:00 PM, César Camilo Lugo Marcos <
cesar.l...@sisorg.com.mx> wrote:

> Hello,
>
> I would like to add to this topic the following:
>
> Most of the transactions we are testing in these stress tests are not
> bound in ACTIONS, but just plain reads or default transactions using
> Apache ISIS wicket viewer defaults. I don't see any place where I could
> define semantics for default read or write transactions not bound into
> ACTION methods. Is there any place I should look into for that?
>
> Cesar.
>
>
> On Mon, 2016-05-30 at 18:45 +, César Camilo Lugo Marcos wrote:
> > Hello,
> >
> > We have sarted performing some stress tests to our Apache ISIS
> > application. We have found this behavior:
> >
> > - If we run 1 concurrent user, average response times to the main object
> > reads through the wicket viewer are from 1 to 1.5 seconds.
> > - If we run 2 concurrent users, same transactions go to average response
> > times up to 16 to 27 seconds.
> > - If we run 10 concurrent users, the transactions start to slow down
> > significantly until the app server freezes and we have to restart it.
> >
> > As you can see, this is a very significant increase in response time for
> > such a slight change in user load (from 1 user to 2 users). So we are
> > guessing we should look into the concurrency control.
> >
> > In the documentation I have found that the only way to influence the way
> > Apache ISIS manages transactions and concurrency checking is by using
> > the semantics configuration of the ACTION annotation.
> >
> > semantics=SAFE_AND_REQUEST_CACHEABLE
> > semantics=SAFE
> > semantics=IDEMPOTENT
> > semantics=IDEMPOTENT_ARE_YOU_SURE
> > semantics=NON_IDEMPOTENT
> > semantics=NON_IDEMPOTENT_ARE_YOU_SURE
> >
> > I just wanted to confirm if this is the place to look into, or are there
> > any other places where we should be looking into too, to solve the
> > performance issue.
> >
> > Cesar.
>
>


Re: Context in apache isis

2016-05-26 Thread Martin Grigorov
Hi Pedro,

I think you actually talk about the filter paths.
They are specified in web.xml (simplerapp.war#WEB-INF/web.xml).
WicketFilter is configured to listen on /wicket/*
And the restful filter at /restful/
I guess there is something similar for Swagger (I haven't checked).

So maybe you just need to edit those instead of the context path.

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Thu, May 26, 2016 at 3:17 PM, Martin Grigorov <mgrigo...@apache.org>
wrote:

> Hi Pedro,
>
> What is the current context path and what is the desired one ?
>
> Usually the context path is the name of the web application without the
> .war extension, e.g. simpleapp.war will use context path "simpleapp".
> But every web container, like Tomcat, Jetty, WebLogic, etc. also provides
> ways to change the context path to something custom.
>
> Martin Grigorov
> Wicket Training and Consulting
> https://twitter.com/mtgrigorov
>
> On Thu, May 26, 2016 at 3:13 PM, Pedro Alba <pedro.a...@ticxar.com> wrote:
>
>> Hi Dan,
>>
>> Excuseme for the bad redaction in the first cuestion, but i need change
>> the
>> context path to my application in apache isis, and i would like to have
>> your help.
>>
>> Thanks.
>>
>> 2016-05-25 17:12 GMT-05:00 Pedro Alba <pedro.a...@ticxar.com>:
>>
>> > Dan,
>> >
>> > I mean the context of the application.
>> >
>> > The idea is the following:
>> >
>> > We package the application using mvn package, where we get the war file
>> > the application.
>> >
>> > In this case we have the simpleapp.war file, which deployed in an
>> > application server.
>> >
>> > So far so good.
>> >
>> > The wicket viewer works fine, however when we go to swagger-ui, the
>> > application has the context / restful / * and the question is focused on
>> > how we can set our Application context path in apache isis, so that the
>> > layer API's REST has the context / SimpleApp / restful /, both the
>> > swagger-ui, and resources set out in it suchas "restful / services /
>> > ConfigurationServiceMenu" provided by apache isis.
>> >
>> > Thank you for your time and cooperation, it´s invaluable.
>> >
>> > 2016-05-25 15:59 GMT-05:00 Dan Haywood <d...@haywood-associates.co.uk>:
>> >
>> >> Which context? There are many...
>> >> On 25 May 2016 9:58 pm, "Pedro Alba" <pedro.a...@ticxar.com> wrote:
>> >>
>> >> > Hi.
>> >> > I could help with an explanation of how the context of an
>> application is
>> >> > changed in isis apache.
>> >> >
>> >> > Thank you.
>> >> > --
>> >> >
>> >> > [image: Logo]
>> >> >
>> >> > *Pedro Antonio Alba *
>> >> > *Senior Development Analyst*
>> >> > Tel: (57) 1 703 17 77
>> >> > Cel: (57) 301 3379810
>> >> > E-mail: pedro.a...@ticxar.com
>> >> > Calle 93 # 19b - 66 Ofc 202
>> >> > Bogotá D.C., Colombia
>> >> > www.ticxar.com
>> >> >
>> >> >
>> >> >
>> >> >   [image: facebook]
>> >> > <http://www.facebook.com/pages/Ticxar/446503822192581> [image:
>> >> > twitter] <http://twitter.com/ticxar> [image: linkedIn]
>> >> > <http://www.linkedin.com/company/ticxar>
>> >> >
>> >>
>> >
>> >
>> >
>> > --
>> >
>> > [image: Logo]
>> >
>> > *Pedro Antonio Alba *
>> > *Senior Development Analyst*
>> > Tel: (57) 1 703 17 77
>> > Cel: (57) 301 3379810
>> > E-mail: pedro.a...@ticxar.com
>> > Calle 93 # 19b - 66 Ofc 202
>> > Bogotá D.C., Colombia
>> > www.ticxar.com
>> >
>> >
>> >
>> >   [image: facebook] <
>> http://www.facebook.com/pages/Ticxar/446503822192581>
>> >  [image: twitter] <http://twitter.com/ticxar> [image: linkedIn]
>> > <http://www.linkedin.com/company/ticxar>
>> >
>>
>>
>>
>> --
>>
>> [image: Logo]
>>
>> *Pedro Antonio Alba *
>> *Senior Development Analyst*
>> Tel: (57) 1 703 17 77
>> Cel: (57) 301 3379810
>> E-mail: pedro.a...@ticxar.com
>> Calle 93 # 19b - 66 Ofc 202
>> Bogotá D.C., Colombia
>> www.ticxar.com
>>
>>
>>
>>   [image: facebook]
>> <http://www.facebook.com/pages/Ticxar/446503822192581> [image:
>> twitter] <http://twitter.com/ticxar> [image: linkedIn]
>> <http://www.linkedin.com/company/ticxar>
>>
>
>


Re: Context in apache isis

2016-05-26 Thread Martin Grigorov
Hi Pedro,

What is the current context path and what is the desired one ?

Usually the context path is the name of the web application without the
.war extension, e.g. simpleapp.war will use context path "simpleapp".
But every web container, like Tomcat, Jetty, WebLogic, etc. also provides
ways to change the context path to something custom.

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Thu, May 26, 2016 at 3:13 PM, Pedro Alba <pedro.a...@ticxar.com> wrote:

> Hi Dan,
>
> Excuseme for the bad redaction in the first cuestion, but i need change the
> context path to my application in apache isis, and i would like to have
> your help.
>
> Thanks.
>
> 2016-05-25 17:12 GMT-05:00 Pedro Alba <pedro.a...@ticxar.com>:
>
> > Dan,
> >
> > I mean the context of the application.
> >
> > The idea is the following:
> >
> > We package the application using mvn package, where we get the war file
> > the application.
> >
> > In this case we have the simpleapp.war file, which deployed in an
> > application server.
> >
> > So far so good.
> >
> > The wicket viewer works fine, however when we go to swagger-ui, the
> > application has the context / restful / * and the question is focused on
> > how we can set our Application context path in apache isis, so that the
> > layer API's REST has the context / SimpleApp / restful /, both the
> > swagger-ui, and resources set out in it suchas "restful / services /
> > ConfigurationServiceMenu" provided by apache isis.
> >
> > Thank you for your time and cooperation, it´s invaluable.
> >
> > 2016-05-25 15:59 GMT-05:00 Dan Haywood <d...@haywood-associates.co.uk>:
> >
> >> Which context? There are many...
> >> On 25 May 2016 9:58 pm, "Pedro Alba" <pedro.a...@ticxar.com> wrote:
> >>
> >> > Hi.
> >> > I could help with an explanation of how the context of an application
> is
> >> > changed in isis apache.
> >> >
> >> > Thank you.
> >> > --
> >> >
> >> > [image: Logo]
> >> >
> >> > *Pedro Antonio Alba *
> >> > *Senior Development Analyst*
> >> > Tel: (57) 1 703 17 77
> >> > Cel: (57) 301 3379810
> >> > E-mail: pedro.a...@ticxar.com
> >> > Calle 93 # 19b - 66 Ofc 202
> >> > Bogotá D.C., Colombia
> >> > www.ticxar.com
> >> >
> >> >
> >> >
> >> >   [image: facebook]
> >> > <http://www.facebook.com/pages/Ticxar/446503822192581> [image:
> >> > twitter] <http://twitter.com/ticxar> [image: linkedIn]
> >> > <http://www.linkedin.com/company/ticxar>
> >> >
> >>
> >
> >
> >
> > --
> >
> > [image: Logo]
> >
> > *Pedro Antonio Alba *
> > *Senior Development Analyst*
> > Tel: (57) 1 703 17 77
> > Cel: (57) 301 3379810
> > E-mail: pedro.a...@ticxar.com
> > Calle 93 # 19b - 66 Ofc 202
> > Bogotá D.C., Colombia
> > www.ticxar.com
> >
> >
> >
> >   [image: facebook] <
> http://www.facebook.com/pages/Ticxar/446503822192581>
> >  [image: twitter] <http://twitter.com/ticxar> [image: linkedIn]
> > <http://www.linkedin.com/company/ticxar>
> >
>
>
>
> --
>
> [image: Logo]
>
> *Pedro Antonio Alba *
> *Senior Development Analyst*
> Tel: (57) 1 703 17 77
> Cel: (57) 301 3379810
> E-mail: pedro.a...@ticxar.com
> Calle 93 # 19b - 66 Ofc 202
> Bogotá D.C., Colombia
> www.ticxar.com
>
>
>
>   [image: facebook]
> <http://www.facebook.com/pages/Ticxar/446503822192581> [image:
> twitter] <http://twitter.com/ticxar> [image: linkedIn]
> <http://www.linkedin.com/company/ticxar>
>


Re: Amelia stylesheet broken

2016-05-12 Thread Martin Grigorov
Hi,

It seems Amelia has been deprecated:
http://news.bootswatch.com/post/94634387436/new-themes-paper-and-sandstone
And apparently removed in a later version :-/.

There is a community fork though:
https://forums.manning.com/posts/list/34938.page

I've created https://github.com/l0rdn1kk0n/wicket-bootstrap/issues/608 to
handle it.

Thanks!



Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

2016-05-12 9:03 GMT+02:00 Rade, Joerg / Kuehne + Nagel / Ham GI-DP <
joerg.r...@kuehne-nagel.com>:

> Hi all,
>
> the other day I selected the bootstrap theme Amelia in the Wicket viewer
> and somehow got in a situation where the rendered HTML is very ...
> 'parsimonious'.
> Menus are rendered on the left hand side intermingled with the "Change
> theme" options.
>
> The first included stylesheets (*agilecoders*amelia*) seems to be empty:
>
>
>  href="./wicket/resource/de.agilecoders.wicket.themes.markup.html.bootswatch.BootswatchCssReference/css/bootstrap.amelia-ver-1451920873485.css http://localhost:9090/wicket/wicket/resource/de.agilecoders.wicket.themes.markup.html.bootswatch.BootswatchCssReference/css/bootstrap.amelia-ver-1451920873485.css>"
> />
>
>
> Rebuilding and restarting Jetty did not help, although
> DomainApplication.java reads:
> settings.setThemeProvider(new
> BootswatchThemeProvider(BootswatchTheme.Flatly));
>
> FF and Chrome show the same behavior.
>
> I remembered a remark by Dan regarding this issue and recovered by
> clicking one of the (hardly visible) other "Change theme" options.
>
> I did not find a code change and switching browsers didn't help either so
> I tend to exclude cookies.
>
> Where is that setting saved?
>
> Thanks in advance
> Jörg
>
> Kühne + Nagel (AG & Co.) KG
> Rechtsform: Kommanditgesellschaft, Bremen HRA 21928, USt-IdNr.: DE
> 812773878.
> Geschäftsleitung Kühne + Nagel (AG & Co.) KG: Reiner Heiken (Vors.),
> Martin Brinkmann, Matthias Heimbach, Jan-Hendrik Köstergarten, Nicholas
> Minde, Michael Nebel, Lars Wedel, Jens Wollesen.
> Persönlich haftende Gesellschafterin: Kühne & Nagel A.G., Rechtsform:
> Aktiengesellschaft nach luxemburgischem Recht, HR-Nr.: B 18745,
> Geschäftsführendes Verwaltungsratsmitglied: Karl Gernandt.
> Geschäftsleitung Region Westeuropa: Yngve Ruud (Vors.), Diederick de
> Vroet, Dominic Edmonds, Uwe Hött, Richard Huhn, Björn Johansson, Holger
> Ketz, Jan Kunze.
>
> Wir arbeiten ausschließlich auf Grundlage der Allgemeinen Deutschen
> Spediteurbedingungen 2016 (ADSp 2016). Die ADSp 2016 beschränken in Ziffer
> 23 die gesetzliche Haftung für Güterschäden in Höhe von 8,33 SZR/kg je
> Schadenfall bzw. je Schadenereignis auf 1 Million bzw. 2 Millionen Euro
> oder 2 SZR/kg, je nachdem, welcher Betrag höher ist, und bei multimodalen
> Transporten unter Einschluss einer Seebeförderung generell auf 2 SZR/kg.
> Den vollständigen Text der ADSp 2016 übersenden wir Ihnen gerne auf Anfrage
> und können Sie auch unter http://www.kuehne-nagel.com einsehen.
>


Re: Error when I compile the project in the google cloud

2016-05-08 Thread Martin Grigorov
Hi,

The problem is not with the compilation of the project but at runtime
during start:

 at
de.agilecoders.wicket.webjars.WicketWebjars.install(WicketWebjars.java:75)
 at
org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.configureWebJars(IsisWicketApplication.java:342)

Google AppEngine has many restrictions - the one below, usage of java.io.*,
usage of threads, and many more...
I've stopped trying to keep Wicket and related libraries runnable on GAE
several years ago. GAE is not practical to me.

One solution would be to override IsisWicketApplication#configureWebJars()
and do nothing in this method. The next step would be to provide plain
(Css|JavaScript)ResourceReference for all resources the application uses
(e.g. Bootstrap, Bootstrap widgets, etc.).
I am aware that Webjars based resources also do not work nicely in OSGi
environment, so I'd gladly accept PullRequests/issues for Wicket-Bootstrap
[1] components which do not provide an easy way to be overridden to use
non-Webjars ResourceReferences.


1. https://github.com/l0rdn1kk0n/wicket-bootstrap/

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Fri, May 6, 2016 at 12:10 PM, Dan Haywood <d...@haywood-associates.co.uk>
wrote:

> Hi Arturo,
> thanks for reporting this.
>
>
>
> @Martin -
> any insights on this?  I think we want to keep using webjars because they
> are convenient, but is there any way to make them compatible with GAE, do
> you know?
>
> Thx
> Dan
>
>
>
> -- Forwarded message --
> From: Arturo Ulises Castañeda Estrada <arturo.castan...@sisorg.com.mx>
> Date: 5 May 2016 at 16:15
> Subject: Error when I compile the project in the google cloud
> To: "users@isis.apache.org" <users@isis.apache.org>
>
>
> Hi Dan, I'm trying install my app in the google cloud but i get the next
> error.
>
> In my local server I not get this error, Im working with java 7 and MySQL.
>
> [s~cqnz-web-app/1.392437955031148096].: INFO  - Application
> - [WicketFilter] init: Wicket extensions initializer
>
> 11:25:15.199
> Uncaught exception from servlet
> java.lang.NoClassDefFoundError: java.net.URLStreamHandler is a restricted
> class. Please see the Google App Engine developer's guide for more details.
>  at
> com.google.apphosting.runtime.security.shared.stub.java.net.URLStreamHandler.(URLStreamHandler.java)
>  at
> de.agilecoders.wicket.webjars.util.UrlResourceStreamProvider.(UrlResourceStreamProvider.java:22)
>  at
> de.agilecoders.wicket.webjars.settings.ResourceStreamProvider$2.newInstance(ResourceStreamProvider.java:34)
>  at
> de.agilecoders.wicket.webjars.util.file.WebjarsResourceFinder.(WebjarsResourceFinder.java:35)
>  at
> de.agilecoders.wicket.webjars.WicketWebjars.install(WicketWebjars.java:75)
>  at
> org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.configureWebJars(IsisWicketApplication.java:342)
>  at
> org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.init(IsisWicketApplication.java:241)
>  at domainapp.webapp.DomainApplication.init(DomainApplication.java:64)
>  at org.apache.wicket.Application.initApplication(Application.java:823)
>  at
> org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:427)
>  at
> org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:351)
>  at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)
>  at
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
>  at
> org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:662)
>  at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
>  at
> org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)
>  at
> org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
>  at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467)
>  at
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
>  at
> com.google.apphosting.runtime.jetty.AppVersionHandlerMap.createHandler(AppVersionHandlerMap.java:206)
>  at
> com.google.apphosting.runtime.jetty.AppVersionHandlerMap.getHandler(AppVersionHandlerMap.java:179)
>  at
> com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:136)
>  at
> com.google.apphosting.runtime.JavaRuntime$RequestRunnable.run(JavaRuntime.java:468)
>  at
> com.google.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:439)
>  at
> com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:446)
>  at com.google.tracing.CurrentContext.runInContext(CurrentContext.java:256)
>  at
> com.google.tracing.TraceContext$Abstrac

Re: Problem with menu bars translation

2016-03-16 Thread Martin Grigorov
Hi Roberto,

Attachments are stripped in the mailing lists.

Which version of Isis do you use ?
I guess it is 1.9.0-SNAPSHOT. If YES, try to upgrade to 1.11+



Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Wed, Mar 16, 2016 at 10:49 AM, Roberto Lavalle de Juan <
roberto.lava...@tellmegen.com> wrote:

> Hi and good morning!
>
> I attached some images to clarify the malfunction (in this case, my
> firefox is in spanish and I want to translate to english)...see images in
> order:
>
> 1-shop.png
> 2-shop_translated.png
> 3-login_page.png
> 4-logged_not_completely_translated.png (you can see "Mis resultados"...)
>
> Thanks again!
>
> Roberto Lavalle de Juan
> CTO - tellmeGen
> tlf. +34 650 129 806
>
> El 16/03/2016 a las 0:19, Martin Grigorov escribió:
>
>> Hi Roberto,
>>
>> On Tue, Mar 15, 2016 at 6:18 PM, Roberto Lavalle de Juan <
>> roberto.lava...@tellmegen.com> wrote:
>>
>> Hi all!
>>>
>>> we translate our pages with "/getSession().setLocale(new Locale("gb"));/"
>>> or "g/etSession().setLocale(new Locale("es"));/" and it works, but if we
>>> use this code to translate some menu bars:
>>>
>>> /protected void addServiceActionMenuBars() {//
>>> //addMenuBar(this, ID_PRIMARY_MENU_BAR,
>>> DomainServiceLayout.MenuBar.PRIMARY);//
>>> //addMenuBar(this, ID_SECONDARY_MENU_BAR,
>>> DomainServiceLayout.MenuBar.SECONDARY);//
>>> //addMenuBar(this, ID_TERTIARY_MENU_BAR,
>>> DomainServiceLayout.MenuBar.TERTIARY);//
>>> //}//
>>> //
>>> //private void addMenuBar(final MarkupContainer container, final String
>>> id, final DomainServiceLayout.MenuBar menuBar) {//
>>> //final ServiceActionsModel model = new
>>> ServiceActionsModel(menuBar);//
>>> //Component menuBarComponent =
>>>
>>> getComponentFactoryRegistry().createComponent(ComponentType.SERVICE_ACTIONS,
>>> id, model);//
>>> //menuBarComponent.add(AttributeAppender.append("class",
>>> menuBar.name().toLowerCase(Locale.ENGLISH)));//
>>> //container.add(menuBarComponent); //
>>> //}/
>>>
>>> when "/createComponent/" is executed the
>>> "/RequestCycle.get().getRequest().getLocale().getLanguage()/" has the
>>> initial language of the navigator. For example, if navigator is in
>>> spanish
>>> and we
>>>
>>
>> RequestCycle.get().getRequest().getLocale().getLanguage() is the locale
>> sent by the browser.
>> Wicket uses the locale set in the Session for i18n If Session#locale is
>> null then it falls back to the locale of the request.
>>
>>
>> translate to english the menu bars are created they will be in spanish.
>>> And if navigator is in english and we translate to spanish the menu bars
>>> are created they will be in english.
>>>
>>> Thanks a lot for your help.
>>>
>>> Roberto Lavalle de Juan
>>> CTO - tellmeGen
>>> tlf. +34 650 129 806
>>>
>>> El 14/03/2016 a las 9:28, Martin Grigorov escribió:
>>>
>>> Hi,
>>>>
>>>> Tellmegen was using 1.9.0-SNAPSHOT last time I worked on it.
>>>> The menus are loaded from the .po files. The content of the pages is
>>>> custom, so it is using Wicket's .properties.xml.
>>>>
>>>> The history of
>>>>
>>>>
>>>> https://github.com/apache/isis/commits/master/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/services/LocaleProviderWicket.java
>>>> doesn't show in which version it has been introduced and improved.
>>>>
>>>> Martin Grigorov
>>>> Wicket Training and Consulting
>>>> https://twitter.com/mtgrigorov
>>>>
>>>> On Mon, Mar 14, 2016 at 8:20 AM, Dan Haywood <
>>>> d...@haywood-associates.co.uk>
>>>> wrote:
>>>>
>>>> We implemented the TranslationServicePo for this project.  As I recall
>>>>
>>>>> that
>>>>> was part of 1.8.0, and then there were some subsequent
>>>>> fixes/refinements
>>>>> in
>>>>> the following releases, which is why I wanted to know which version
>>>>> they
>>>>> are on (so we don't go chasing an issue that might already have been
>>>>> fixed)...
>>>>>
>>>>> thx
>>>>>
>>>>

Re: Problem with menu bars translation

2016-03-15 Thread Martin Grigorov
Hi Roberto,

On Tue, Mar 15, 2016 at 6:18 PM, Roberto Lavalle de Juan <
roberto.lava...@tellmegen.com> wrote:

> Hi all!
>
> we translate our pages with "/getSession().setLocale(new Locale("gb"));/"
> or "g/etSession().setLocale(new Locale("es"));/" and it works, but if we
> use this code to translate some menu bars:
>
> /protected void addServiceActionMenuBars() {//
> //addMenuBar(this, ID_PRIMARY_MENU_BAR,
> DomainServiceLayout.MenuBar.PRIMARY);//
> //addMenuBar(this, ID_SECONDARY_MENU_BAR,
> DomainServiceLayout.MenuBar.SECONDARY);//
> //addMenuBar(this, ID_TERTIARY_MENU_BAR,
> DomainServiceLayout.MenuBar.TERTIARY);//
> //}//
> //
> //private void addMenuBar(final MarkupContainer container, final String
> id, final DomainServiceLayout.MenuBar menuBar) {//
> //final ServiceActionsModel model = new
> ServiceActionsModel(menuBar);//
> //Component menuBarComponent =
> getComponentFactoryRegistry().createComponent(ComponentType.SERVICE_ACTIONS,
> id, model);//
> //menuBarComponent.add(AttributeAppender.append("class",
> menuBar.name().toLowerCase(Locale.ENGLISH)));//
> //container.add(menuBarComponent); //
> //}/
>
> when "/createComponent/" is executed the
> "/RequestCycle.get().getRequest().getLocale().getLanguage()/" has the
> initial language of the navigator. For example, if navigator is in spanish
> and we


RequestCycle.get().getRequest().getLocale().getLanguage() is the locale
sent by the browser.
Wicket uses the locale set in the Session for i18n If Session#locale is
null then it falls back to the locale of the request.


> translate to english the menu bars are created they will be in spanish.
> And if navigator is in english and we translate to spanish the menu bars
> are created they will be in english.
>
> Thanks a lot for your help.
>
> Roberto Lavalle de Juan
> CTO - tellmeGen
> tlf. +34 650 129 806
>
> El 14/03/2016 a las 9:28, Martin Grigorov escribió:
>
>> Hi,
>>
>> Tellmegen was using 1.9.0-SNAPSHOT last time I worked on it.
>> The menus are loaded from the .po files. The content of the pages is
>> custom, so it is using Wicket's .properties.xml.
>>
>> The history of
>>
>> https://github.com/apache/isis/commits/master/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/services/LocaleProviderWicket.java
>> doesn't show in which version it has been introduced and improved.
>>
>> Martin Grigorov
>> Wicket Training and Consulting
>> https://twitter.com/mtgrigorov
>>
>> On Mon, Mar 14, 2016 at 8:20 AM, Dan Haywood <
>> d...@haywood-associates.co.uk>
>> wrote:
>>
>> We implemented the TranslationServicePo for this project.  As I recall
>>> that
>>> was part of 1.8.0, and then there were some subsequent fixes/refinements
>>> in
>>> the following releases, which is why I wanted to know which version they
>>> are on (so we don't go chasing an issue that might already have been
>>> fixed)...
>>>
>>> thx
>>>
>>> Dan
>>>
>>>
>>>
>>>
>>> On 13 Mar 2016 21:05, "Óscar Bou - GOVERTIS" <o@govertis.com> wrote:
>>>
>>> Hi Dan and ROBERTO.
>>>>
>>>> Roberto is a mate of Carlos in the TellmeGen project.
>>>>
>>>> Not sure but I slightly remember there was some custom code in that
>>>> project for localization depending on browser.
>>>>
>>>> Not sure if it was an Isis or Wicket trick ...
>>>>
>>>>
>>>> El 13 mar 2016, a las 20:03, Dan Haywood <d...@haywood-associates.co.uk
>>>>>
>>>> escribió:
>>>>
>>>>> Hi Roberto,
>>>>>
>>>>> which version of Apache Isis are you on?  And can you provide a small
>>>>> example in github, based on the simpleapp, and describe how to
>>>>>
>>>> reproduce
>>>
>>>> the issue?
>>>>>
>>>>> thx
>>>>> Dan
>>>>>
>>>>>
>>>>> On 9 March 2016 at 16:34, Roberto Lavalle de Juan <
>>>>> roberto.lava...@tellmegen.com> wrote:
>>>>>
>>>>> Hi again :)
>>>>>>
>>>>>> if I have the browser in English and translated into Spanish I feel
>>>>>>
>>>>> the
>>>
>>>> same, its all translated into Spanish except the menu bars...
>>>>>>
>>>>>> Let's see if someone can help me...
>>>>>>
>>>>>> Thanks again!!!
>>>>>>
>>>>>> Roberto Lavalle de Juan
>>>>>> CTO - tellmeGen
>>>>>> tlf. +34 650 129 806
>>>>>>
>>>>>> El 08/03/2016 a las 11:01, Roberto Lavalle de Juan escribió:
>>>>>>>
>>>>>>> Hi all,
>>>>>>>
>>>>>>> we have a problem, because if we change the user language with a
>>>>>>>
>>>>>> button
>>>
>>>> with this code (we change the language to english with the button,
>>>>>>>
>>>>>> and
>>>
>>>> we
>>>>
>>>>> have an spanish "Chrome" navigator):
>>>>>>>
>>>>>>> getSession().setLocale(new Locale("gb"));
>>>>>>>
>>>>>>> then our web is translated to english, but have the menu bars in
>>>>>>>
>>>>>> spanish,
>>>>
>>>>> do not translate. Could I solve this problem?
>>>>>>>
>>>>>>> Thanks a lot!!!
>>>>>>>
>>>>>>
>


Re: Problem with menu bars translation

2016-03-14 Thread Martin Grigorov
Hi,

Tellmegen was using 1.9.0-SNAPSHOT last time I worked on it.
The menus are loaded from the .po files. The content of the pages is
custom, so it is using Wicket's .properties.xml.

The history of
https://github.com/apache/isis/commits/master/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/services/LocaleProviderWicket.java
doesn't show in which version it has been introduced and improved.

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Mon, Mar 14, 2016 at 8:20 AM, Dan Haywood <d...@haywood-associates.co.uk>
wrote:

> We implemented the TranslationServicePo for this project.  As I recall that
> was part of 1.8.0, and then there were some subsequent fixes/refinements in
> the following releases, which is why I wanted to know which version they
> are on (so we don't go chasing an issue that might already have been
> fixed)...
>
> thx
>
> Dan
>
>
>
>
> On 13 Mar 2016 21:05, "Óscar Bou - GOVERTIS" <o@govertis.com> wrote:
>
> > Hi Dan and ROBERTO.
> >
> > Roberto is a mate of Carlos in the TellmeGen project.
> >
> > Not sure but I slightly remember there was some custom code in that
> > project for localization depending on browser.
> >
> > Not sure if it was an Isis or Wicket trick ...
> >
> >
> > > El 13 mar 2016, a las 20:03, Dan Haywood <d...@haywood-associates.co.uk
> >
> > escribió:
> > >
> > > Hi Roberto,
> > >
> > > which version of Apache Isis are you on?  And can you provide a small
> > > example in github, based on the simpleapp, and describe how to
> reproduce
> > > the issue?
> > >
> > > thx
> > > Dan
> > >
> > >
> > > On 9 March 2016 at 16:34, Roberto Lavalle de Juan <
> > > roberto.lava...@tellmegen.com> wrote:
> > >
> > >> Hi again :)
> > >>
> > >> if I have the browser in English and translated into Spanish I feel
> the
> > >> same, its all translated into Spanish except the menu bars...
> > >>
> > >> Let's see if someone can help me...
> > >>
> > >> Thanks again!!!
> > >>
> > >> Roberto Lavalle de Juan
> > >> CTO - tellmeGen
> > >> tlf. +34 650 129 806
> > >>
> > >>> El 08/03/2016 a las 11:01, Roberto Lavalle de Juan escribió:
> > >>>
> > >>> Hi all,
> > >>>
> > >>> we have a problem, because if we change the user language with a
> button
> > >>> with this code (we change the language to english with the button,
> and
> > we
> > >>> have an spanish "Chrome" navigator):
> > >>>
> > >>> getSession().setLocale(new Locale("gb"));
> > >>>
> > >>> then our web is translated to english, but have the menu bars in
> > spanish,
> > >>> do not translate. Could I solve this problem?
> > >>>
> > >>> Thanks a lot!!!
> > >>
> >
>


Re: Dynamic view

2016-01-26 Thread Martin Grigorov
Hi Paul,

On Tue, Jan 26, 2016 at 11:50 PM, Paul Escobar <
paul.escobar.mos...@gmail.com> wrote:

> Hello everyone,
>
> I want build dynamic viewers for a Questions app, I have modeling a Test
> entity (questionary) with a collection of Question Entities, the current
> view created by wicket works to build tests with questions, but I dont know
> how create a view for the user can answer this questions (like in a poll).
>
> Do you think this can be solved by extending the wicket-isis view
> (Documentation: 7. Extending the Viewer. [1])?
>

Yes, providing your own Wicket panel for rendering the domain object or
just some of its properties will do the job.


>
> [1] https://isis.apache.org/guides/ugvw.html#7.-extending-the-viewer
>
> Thanks,
>
> --
> Paul Escobar Mossos
> skype: paulescom
> telefono: +57 1 3006815404
>


Re: Summernote and Code view?

2016-01-25 Thread Martin Grigorov
Hello Marianne,

On Mon, Jan 25, 2016 at 6:30 PM, Marianne Hagaseth <
marianne.hagas...@marintek.sintef.no> wrote:

> Hi,
> Thanks a lot for this summernote editor integration!
> https://github.com/isisaddons/isis-wicket-summernote
>
> Just two questions:
>
> 1)  How do I enter the code view text to the domain property? For
> instance, I want to set a String property of a Domain object to for
> instance "  style="background-color: yellow;">

". The result of
> this then should be that the words 'Passenger ships' are highlighted in
> yellow.
>

In your domain object you have to add a property like:
https://github.com/isisaddons/isis-wicket-summernote/blob/a351bd07d9ae2c059a3d4275c1b9c84e696abf47/fixture/src/main/java/org/isisaddons/wicket/summernote/fixture/dom/SummernoteEditorToDoItem.java#L392-L402
i.e. a String property annotated with @SummernoteEditor
The value of this String property is HTML snippet like the one you
mentioned above.
I'd generate it the first time with Summernote itself.
I just did it for you at http://wb-mgrigorov.rhcloud.com/summernote and it
produced:

Passenger ships have more than 12 passengers.

If you set this HTML as initial value for the property then it will render
as you want it.


>
> 2)  Is it possible to have more than one domain property annotated
> with summernote in one page/Domain object?
>

Sure. There is no limit in the number of Summernote editors in the page.


>
> Med vennlig hilsen / Best regards,
> Marianne Hagaseth
> Forsker - Maritime transportsystemer
> Research Scientist - Maritime Transport Systems
>
> MARINTEK (Norsk Marinteknisk Forskningsinstitutt AS)
> Address:  POB 4125 Valentinlyst, NO-7450 Trondheim, Norway
> Mobile:   +47 90 95 64 69 -  Phone: +47 464 15 000
> Web:   www.marintek.sintef.no
>
>


Re: why a GET method would store value to database?

2016-01-25 Thread Martin Grigorov
Hi,

I believe there are two issues here:

1) Isis doesn't extract the primary key (4028dd814d2213d8014d2213d861)
from "4028dd814d2213d8014d2213d861[OID]tm.dom.modules.assets.Device"
before passing it to DataNucleus
2) DataNucleus uses misleading exception message. The method call is
#getObjectById().
I guess it uses something like JDOQL with template object, e.g.
Device device = new Device();
device.setId("4028dd814d2213d8014d2213d861[OID]tm.dom.modules.assets.Device");
 // 1
SELECT * FROM Device dev WHERE dev.getId() = device.getId();

and it fails at [1].

I have no experience with DataNucleus so this is just a guess. And the
given JDOQL above is most probably very wrong, but you get the idea.

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Mon, Jan 25, 2016 at 2:39 AM, Chuangyu <zhu.chuan...@gmail.com> wrote:

> Hi,
>
> I met an error when try a GET method with Swagger UI.
>
> The url is below:
>
>
> http://localhost:8080/restful/objects/tm.dom.modules.assets.Device/4028dd814d2213d8014d2213d861
>
>
> "4028dd814d2213d8014d2213d861" is a uuid string which length is 32.
>
>  curl command as below:
>
> curl -X GET --header "Accept:
> application/json;profile=urn:org.apache.isis/v1" --header
> "Authorization: Basic c3lzdGVtLWFkbWluOmdvb2dmcmllbmc="
> "
> http://localhost:8080/restful/objects/tm.dom.modules.assets.Device/4028dd814d2213d8014d2213d861
> "
>
>
> error message sa below:
>
> { "className": "javax.jdo.JDOFatalUserException", "message": "Attempt to
> store value
> \"4028dd814d2213d8014d2213d861[OID]tm.dom.modules.assets.Device\" in
> column \"id\" that has maximum length of 32. Please correct your data!", "
> stackTrace": [
>
> "org.datanucleus.api.jdo.NucleusJDOHelper.getJDOExceptionForNucleusException(NucleusJDOHelper.java:616)",
>
> "org.datanucleus.api.jdo.JDOPersistenceManager.getObjectById(JDOPersistenceManager.java:1728)",
>
> "org.datanucleus.api.jdo.JDOPersistenceManager.getObjectById(JDOPersistenceManager.java:1741)",
>
> "org.apache.isis.core.runtime.system.persistence.PersistenceSession.loadPojo(PersistenceSession.java:885)",
>
> "org.apache.isis.core.runtime.system.persistence.PersistenceSession$2.execute(PersistenceSession.java:866)",
>
> "org.apache.isis.core.runtime.system.persistence.PersistenceSession$2.execute(PersistenceSession.java:859)",
>
> "org.apache.isis.core.runtime.system.transaction.IsisTransactionManager.executeWithinTransaction(IsisTransactionManager.java:216)",
>
> "org.apache.isis.core.runtime.system.persistence.PersistenceSession.loadObjectInTransaction(PersistenceSession.java:858)",
>
> "org.apache.isis.core.runtime.system.persistence.PersistenceSession.adapterForAny(PersistenceSession.java:1507)",
>
> "org.apache.isis.viewer.restfulobjects.server.util.OidUtils.getObjectAdapter(OidUtils.java:60)",
>
> "org.apache.isis.viewer.restfulobjects.server.util.OidUtils.getObjectAdapterElseNull(OidUtils.java:40)",
>
> "org.apache.isis.viewer.restfulobjects.server.resources.ResourceAbstract.getObjectAdapterElseNull(ResourceAbstract.java:151)",
>
> "org.apache.isis.viewer.restfulobjects.server.resources.ResourceAbstract.getObjectAdapterElseThrowNotFound(ResourceAbstract.java:141)",
>
> "org.apache.isis.viewer.restfulobjects.server.resources.DomainObjectResourceServerside.object(DomainObjectResourceServerside.java:123)",
> "sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)",
>
> "sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)",
>
> "sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)",
> "java.lang.reflect.Method.invoke(Method.java:497)",
>
> "org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:137)",
>
> "org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:296)",
>
> "org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:250)",
>
> "org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:237)",
>
> "org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:356)",
>
> "org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:179)",
>
> "org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:220

Re: Documentation contribute

2016-01-20 Thread Martin Grigorov
Hi Paul,

The docs are in Git next to the actual code.
I guess the easiest for you would be to create a Pull Request at
https://github.com/apache/isis/
The docs are at https://github.com/apache/isis/tree/master/adocs

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Wed, Jan 20, 2016 at 4:48 PM, Paul Escobar <paul.escobar.mos...@gmail.com
> wrote:

> Hi everyone,
>
> One question: How I can help enrich the documentation?
>
> For example, in documentation about @MemberGroupLayout and @MemberOrder
> annotation [1], the description to attributes for both are inverted and I
> want to help to correct it.
>
>
> [1] https://isis.apache.org/guides/rgant.html#_rgant-MemberGroupLayout
>
> --
> Paul Escobar Mossos
> skype: paulescom
> telefono: +57 1 3006815404
>


Re: Apache Isis version 1.11.0 JAVA 1.7 Error

2016-01-10 Thread Martin Grigorov
On Sun, Jan 10, 2016 at 5:36 PM, Dan Haywood <d...@haywood-associates.co.uk>
wrote:

> On 8 January 2016 at 11:46, Martin Grigorov <mgrigo...@apache.org> wrote:
>
> > Hi,
> >
> > If Java 7 is the minimum supported then why not use Java 7 to build? This
> > is the cleanest way to make sure everything is fine.
> >
> >
> I've decided to use the maven-toolchains-plugin.
>
>
>
>
> > I thought that Java 8 is the minimum since a while.
> >
> >
> Nope, not yet.  My opinion is that we shouldn't drop Java 7 until Java 9
> has been released (Q1 2017 being the current date for that).
>

I was confused that Isis moved to 1.8 with 1.10.0, but now I see it is
still 1.7 (https://github.com/apache/isis/blob/master/core/pom.xml#L60-L61)


>
>
> ~~~
>
> Meanwhile, I've cut 1.11.1 RC1 we the appropriate fixes, this is now being
> voted on in the dev@ mailing list.  This vote will stay open for min 72
> hours, but if it passes then we should be able to release 1.11.1 on Wed pm
> or Thu am.
>
> Thx
> Dan
>
>
>
>
>
>
>
> > Martin Grigorov
> > Wicket Training and Consulting
> > https://twitter.com/mtgrigorov
> >
> > On Fri, Jan 8, 2016 at 12:35 PM, Dan Haywood <
> d...@haywood-associates.co.uk
> > >
> > wrote:
> >
> > > Hi Nacho,
> > >
> > > Thanks for reporting this, which is obviously a problem.
> > >
> > > I think we should issue a patch (1.11.1) to fix that.  And obviously I
> > need
> > > to look at the release procedures so that this error doesn't occur in
> the
> > > future.
> > >
> > > I'll try to get a vote out this weekend.
> > >
> > > Thx
> > > Dan
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > > On 8 January 2016 at 11:28, Nacho Cánovas Rejón <
> > > n.cano...@gesconsultor.com>
> > > wrote:
> > >
> > > > Hi everybody.
> > > >
> > > >
> > > >
> > > > I updated Apache ISIS version to 1.11 and I have a Java Version
> > Problem.
> > > >
> > > >
> > > >
> > > > Apache ISIS is compatible with Java 1.7 and 1.8, but in two changes
> > > > (ISIS-1257: c6c3066e3b7e58dc1d338e44ba4ca926dc29d1ef and ISIS-1213:
> > > > 6ec46332ef2ad50959148751e90222d13a8eecf3) you use a method that only
> > > exists
> > > > in Java 1.8 (
> > > > <
> > > >
> > >
> >
> https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Method.html#get
> > > > ParameterCount--> getParameterCount())
> > > >
> > > >
> > > >
> > > > We don’t want to migrate to 1.8 because it requires so many changes
> on
> > > our
> > > > app, so if you can change code to be compatible, these are the
> changes
> > I
> > > > made:
> > > >
> > > >
> > > >
> > > >
> > > >
> > >
> >
> isis\core\metamodel\src\main\java\org\apache\isis\core\metamodel\facets\Anno
> > > > tations.java
> > > >
> > > >
> > > >
> > > > private static  void appendEvaluators(
> > > >
> > > > final Class cls,
> > > >
> > > > final Class annotationClass,
> > > >
> > > > final List<Evaluator> evaluators) {
> > > >
> > > >
> > > >
> > > > for (Method method : cls.getDeclaredMethods()) {
> > > >
> > > > if(MethodScope.OBJECT.matchesScopeOf(method) &&
> > > >
> > > > method.getParameterCount()
> > > > method.getParameterTypes().length == 0) {
> > > >
> > > > final Annotation annotation =
> > > > method.getAnnotation(annotationClass);
> > > >
> > > > if(annotation != null) {
> > > >
> > > > evaluators.add(new MethodEvaluator(method,
> > > > annotation));
> > > >
> > > > }
> > > >
> > > > }
> > > >
> > > > }
> > > >
> > > >
> > > >
> > > >
> > > >
> > >
> >
> isis\core\metamodel\src\main\java\org\apache\isis\core\metamodel\services\co
> > > > n

Re: Apache Isis version 1.11.0 JAVA 1.7 Error

2016-01-08 Thread Martin Grigorov
Hi,

If Java 7 is the minimum supported then why not use Java 7 to build? This
is the cleanest way to make sure everything is fine.

I thought that Java 8 is the minimum since a while.

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Fri, Jan 8, 2016 at 12:35 PM, Dan Haywood <d...@haywood-associates.co.uk>
wrote:

> Hi Nacho,
>
> Thanks for reporting this, which is obviously a problem.
>
> I think we should issue a patch (1.11.1) to fix that.  And obviously I need
> to look at the release procedures so that this error doesn't occur in the
> future.
>
> I'll try to get a vote out this weekend.
>
> Thx
> Dan
>
>
>
>
>
>
>
> On 8 January 2016 at 11:28, Nacho Cánovas Rejón <
> n.cano...@gesconsultor.com>
> wrote:
>
> > Hi everybody.
> >
> >
> >
> > I updated Apache ISIS version to 1.11 and I have a Java Version Problem.
> >
> >
> >
> > Apache ISIS is compatible with Java 1.7 and 1.8, but in two changes
> > (ISIS-1257: c6c3066e3b7e58dc1d338e44ba4ca926dc29d1ef and ISIS-1213:
> > 6ec46332ef2ad50959148751e90222d13a8eecf3) you use a method that only
> exists
> > in Java 1.8 (
> > <
> >
> https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Method.html#get
> > ParameterCount--> getParameterCount())
> >
> >
> >
> > We don’t want to migrate to 1.8 because it requires so many changes on
> our
> > app, so if you can change code to be compatible, these are the changes I
> > made:
> >
> >
> >
> >
> >
> isis\core\metamodel\src\main\java\org\apache\isis\core\metamodel\facets\Anno
> > tations.java
> >
> >
> >
> > private static  void appendEvaluators(
> >
> > final Class cls,
> >
> > final Class annotationClass,
> >
> > final List<Evaluator> evaluators) {
> >
> >
> >
> > for (Method method : cls.getDeclaredMethods()) {
> >
> > if(MethodScope.OBJECT.matchesScopeOf(method) &&
> >
> > method.getParameterCount()
> > method.getParameterTypes().length == 0) {
> >
> > final Annotation annotation =
> > method.getAnnotation(annotationClass);
> >
> > if(annotation != null) {
> >
> > evaluators.add(new MethodEvaluator(method,
> > annotation));
> >
> > }
> >
> > }
> >
> > }
> >
> >
> >
> >
> >
> isis\core\metamodel\src\main\java\org\apache\isis\core\metamodel\services\co
> > ntainer\DomainObjectContainerDefault.java
> >
> >
> >
> > public  T mixin(final Class mixinClass, final Object mixedIn) {
> >
> > final ObjectSpecification objectSpec =
> > getSpecificationLoader().loadSpecification(mixinClass);
> >
> > final MixinFacet mixinFacet =
> > objectSpec.getFacet(MixinFacet.class);
> >
> > if(mixinFacet == null) {
> >
> > throw new NonRecoverableException("Class '" +
> > mixinClass.getName() + " is not a mixin");
> >
> > }
> >
> > if(!mixinFacet.isMixinFor(mixedIn.getClass())) {
> >
> > throw new NonRecoverableException("Mixin class '" +
> > mixinClass.getName() + " is not a mixin for supplied object '" + mixedIn
> +
> > "'");
> >
> > }
> >
> > final Constructor[] constructors =
> mixinClass.getConstructors();
> >
> > for (Constructor constructor : constructors) {
> >
> > if(constructor.getParameterCount()
> > constructor.getParameterTypes().length == 1 &&
> >
> >
> > constructor.getParameterTypes()[0].isAssignableFrom(mixedIn.getClass()))
> {
> >
> > final Object mixin;
> >
> > try {
> >
> > mixin = constructor.newInstance(mixedIn);
> >
> > return (T)injectServicesInto(mixin);
> >
> > } catch (InstantiationException | IllegalAccessException
> |
> > InvocationTargetException e) {
> >
> > throw new NonRecoverableException(e);
> >
> > }
> >
> > }
> >
> > }
> >
> >
> >
> > This is the documentation of JAVA with allowed methods depending on
> > version:
> >
> > https://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Method.html
> >
> > https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Method.html
> >
> >
> >
> > Best regards and happy new year.
> >
> >
> >
> >
>


Re: How should we handle void and null results

2015-12-19 Thread Martin Grigorov
Hi,

I'll let the DDD experts suggest proper solution but to me Person#delete()
(i.e. a person domain object deletes itself) looks strange.
Usually the repository deals with these matters.
I'd expect to go back to the listing with the other domain objects from
this type after the deletion.

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Sat, Dec 19, 2015 at 12:43 PM, Y.R Tan <m...@yuritan.nl> wrote:

> Hi everyone,
>
> When using a void action, let’s say a remove action, the user is
> redirected to a page "no results". When clicking the back button in the
> browser the user sees "Object not found" (since you’ve just deleted this
> object).
>
> Example:
>
> public class Person {
> 
> public void remove() {
> ...
> }
> }
>
> You can return a list for example to prevent the user from being redirect
> to a "No results" page, but I think it’s not the responsibility of the
> controllers in the domain model. A solution could be that wicket viewer
> goes back one page when encountering a deleted object. And refresh the
> current page when receiving a null response or invoking a void action.
>
> What do you guys think that is the best solution? Or do you have another
> view on this situation?
>
> Looking forward hearing from you.
>
> Regards,
>
> Yu Ri Tan


Re: Deploying Apache Isis on WildFly

2015-12-16 Thread Martin Grigorov
Hi,

The error says that WildFly tries to do CDI work.
Jetty is just a web server and doesn't support Java EE stuff like CDI.
Try to disable CDI support for this application (I have no idea how
exactly).

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Wed, Dec 16, 2015 at 1:49 PM, Tobias Poswistak <t...@solvit.de> wrote:

> I also asked this question on Stack Overflow [1]
>
> I'm trying to deploy an Apache Isis project on a WildFly server.
>
> The project is just the/simpleapp-archetype-1.10.0/and it starts and works
> well with*mvn antrun:run -P self-host*and*mvn jetty:run-war*.
>
> For the jetty part, I added configuration to the org.eclipse.jetty plugin
> of the parent pom.xml
>
> | org.eclipse.jetty
> jetty-maven-plugin
> 9.3.2.v20150730 
> ${project.basedir}/webapp/target/simpleapp.war 
>  |
>
> Now I wanted to deploy this on a WildFly server, but I get the following
> error:
>
>Cannot upload deployment: {"WFLYCTL0080: Failed services" =>
>{"jboss.deployment.unit.\"simpleapp.war\".WeldStartService" =>
>"org.jboss.msc.service.StartException in service
>jboss.deployment.unit.\"simpleapp.war\".WeldStartService: Failed to
>start service Caused by:
>org.jboss.weld.exceptions.DeploymentException: WELD-001408:
>Unsatisfied dependencies for type IsisJdoSupport with qualifiers
>@Default at injection point [BackedAnnotatedField] @Inject
>
>  
> org.apache.isis.objectstore.jdo.datanucleus.service.support.TimestampService.isisJdoSupport
>at
>
>  
> org.apache.isis.objectstore.jdo.datanucleus.service.support.TimestampService.isisJdoSupport(TimestampService.java:0)
>"}}
>
> How can I fix this error, and why does jetty bypass this error ?
>
> Regards
>
> 
> [1]
> http://stackoverflow.com/questions/34311775/deploying-apache-isis-on-wildfly
>
>
>


Re: Wicket page session?

2015-12-09 Thread Martin Grigorov
Hi Erik,

What kind of button is this ?
To me it looks like this is the "OK" button from the
ActionParametersFormPanel.java, i.e. the OK button for a Modal window where
you enter the parameters for an @Action
(org.apache.isis.viewer.wicket.ui.components.actions.ActionParametersFormPanel.ActionParameterForm#addButtons).

Line"boolean succeeded =
actionExecutor.executeActionAndProcessResults(target, form);" is
responsible to call your action method. I don't see how this code will be
executed if there is an error like the one below.

Please try to reproduce it in a mini app.

Thank you!

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Wed, Dec 9, 2015 at 8:53 AM, Erik de Hair <e.deh...@pocos.nl> wrote:

> Hi Martin,
>
> On 12/04/2015 02:15 PM, Martin Grigorov wrote:
>
>> Hi Erik,
>>
>> On Fri, Dec 4, 2015 at 2:50 PM, Erik de Hair <e.deh...@pocos.nl> wrote:
>>
>> ListenerInvocationNotAllowedExceptionBehavior rejected interface
>>> invocation. Component: [AjaxButton [Component id = okButton]] Behavior:
>>> org.apache.wicket.ajax.markup.html.form.AjaxButton$1@7585b8c9 Listener:
>>> [RequestListenerInterface name=IBehaviorListener, method=public abstract
>>> void org.apache.wicket.behavior.IBehaviorListener.onRequest()]
>>>
>>> org.apache.wicket.RequestListenerInterface#invoke(RequestListenerInterface.java:237)
>>>
>>> This exception means that Wicket cannot execute #onSubmit() method for
>> this
>> AjaxButton because the button is either disabled or invisible.
>>
>> So, the button is rendered by Isis/Wicket and *after* that its usability
>> (visibility and/or enable) is being changed. Clicking on it in the UI
>> makes
>> a call to the server but Wicket refuses to execute the method.
>>
> It does actually completely execute the method.
>
> So you think this could occur when an action is executed for which the
> button would be rendered (enabled) before the method was executed, but
> would be disabled/hidden after method execution because of changed object
> state?
>
>>
>> We will need a mini application that reproduces the problem to be able to
>> help you.
>>
> If you expect the above assumption is correct I wil try to reproduce that
> scenario.
>
>
>>
>> Martin Grigorov
>> Wicket Training and Consulting
>> https://twitter.com/mtgrigorov
>>
>>
>


Re: AW: Unable to find component with id 'entityIconAndTitle'

2015-12-06 Thread Martin Grigorov
Hi Joerg,

Please share just the sources, preferably in .zip/.tar format or github
repo.
The shared folder in GDrive is ~150Mb. I guess there are a lot of jars
inside it.

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Sun, Dec 6, 2015 at 2:59 PM, Dan Haywood <d...@haywood-associates.co.uk>
wrote:

> I saw something like this myself with Kevin's recent issue with downloading
> actions that returned Blobs.  Turns out that the code looks at the compile
> time return type of the action when determining how to handle the response
> (eg a Blob requires a "deferred" strategy). Unfortunately this strategy
> can't be determined at runtime by inspecting the actual type of the
> returned object.
>
> I guess the error we have here is a missing strategy.  Perhaps the code
> should fail-fast if it has to guess?
>
> The code in question is ActionResultResponse
>  and ActionResultResponseHandlingStrategy.
>
> ~~~
> Joerg,
> appreciate that you have this working for you, but it'd be nice to get a
> less obscure error in the future.  When you said the example code was in
> google drive, was that sharing something the app privately with Martin?
> Could you share on github (or just copy-n-paste here?)
>
> Thanks
> Dan
>
>
>
> 2015-12-05 6:57 GMT+00:00 Martin Grigorov <martin.grigo...@gmail.com>:
>
> > Hi,
> >
> > This is a really weird way to trigger this kind of exception.
> > I'll to debug it when I have some time.
> > On Dec 4, 2015 5:21 PM, "Rade, Joerg / Kuehne + Nagel / Ham GI-PS" <
> > joerg.r...@kuehne-nagel.com> wrote:
> >
> > > Hi Martin,
> > >
> > > I've put an app to Google Drive.
> > >
> > > Execute the FixtureScript and select 'Measurements'.
> > >
> > > Thanks for your help!
> > > Jörg
> > >
> > > -Ursprüngliche Nachricht-
> > > Von: Martin Grigorov [mailto:mgrigo...@apache.org]
> > > Gesendet: Freitag, 4. Dezember 2015 14:30
> > > An: users
> > > Betreff: Re: Unable to find component with id 'entityIconAndTitle'
> > >
> > > Hi,
> > >
> > > On Fri, Dec 4, 2015 at 3:21 PM, Rade, Joerg / Kuehne + Nagel / Ham
> GI-PS
> > <
> > > joerg.r...@kuehne-nagel.com> wrote:
> > >
> > > > Unable to find component with id 'entityIconAndTitle' in [FormGroup
> > > > [Component id = scalarIfRegular]]
> > > > Expected:
> > > >
> > >
> >
> 'theme:entityPageContainer:entity:entity-0:entityPropertiesAndCollections:entityProperties:leftColumn:memberGroup:1:properties:
> > > > *3*:property:scalarIfRegular:entityIconAndTitle'.
> > > > Found with similar names:
> > > >
> > >
> >
> 'theme:entityPageContainer:entity:entity-0:entityPropertiesAndCollections:entityProperties:leftColumn:memberGroup:1:properties:
> > > > *1*:property:scalarIfCompact:entityLink:entityIconAndTitle',
> > > >
> > >
> >
> theme:entityPageContainer:entity:entity-0:entityPropertiesAndCollections:entityProperties:leftColumn:memberGroup:1:properties:
> > > > *1*:property:scalarIfRegular:entityIconAndTitle'
> > > >
> > >
> > > The reason seems to be in the index of the repeater's item with wicket
> id
> > > "property".
> > > There is a property with index "1", but there are no with "2" and "3".
> > > I cannot tell what is the reason.
> > > Can you replicate this in a mini application?
> > >
> > > Martin Grigorov
> > > Wicket Training and Consulting
> > > https://twitter.com/mtgrigorov
> > >
> > > Kühne + Nagel (AG & Co.) KG
> > > Rechtsform: Kommanditgesellschaft, Bremen HRA 21928, USt-IdNr.: DE
> > > 812773878.
> > > Geschäftsleitung Kühne + Nagel (AG & Co.) KG: Reiner Heiken (Vors.),
> Dirk
> > > Blesius, Martin Brinkmann, Matthias Heimbach, Jan-Hendrik Köstergarten,
> > > Nicholas Minde, Lars Wedel, Jens Wollesen.
> > > Persönlich haftende Gesellschafterin: Kühne & Nagel A.G., Rechtsform:
> > > Aktiengesellschaft nach luxemburgischem Recht, HR-Nr.: B 18745,
> > > Geschäftsführendes Verwaltungsratsmitglied: Karl Gernandt.
> > > Geschäftsleitung Region Westeuropa: Yngve Ruud (Vors.), Richard Huhn,
> > > Diederick de Vroet, Björn Johansson, Jan Kunze, Bruno Mang, Stefan
> Paul,
> > > Holger Ketz, Dominic Edmonds.
> > >
> > > Wir arbeiten ausschließlich auf Grundlage der Allgemeinen Deutschen
>

Re: Unable to find component with id 'entityIconAndTitle'

2015-12-04 Thread Martin Grigorov
Hi,

On Fri, Dec 4, 2015 at 3:21 PM, Rade, Joerg / Kuehne + Nagel / Ham GI-PS <
joerg.r...@kuehne-nagel.com> wrote:

> Unable to find component with id 'entityIconAndTitle' in [FormGroup
> [Component id = scalarIfRegular]]
> Expected:
> 'theme:entityPageContainer:entity:entity-0:entityPropertiesAndCollections:entityProperties:leftColumn:memberGroup:1:properties:
> *3*:property:scalarIfRegular:entityIconAndTitle'.
> Found with similar names:
> 'theme:entityPageContainer:entity:entity-0:entityPropertiesAndCollections:entityProperties:leftColumn:memberGroup:1:properties:
> *1*:property:scalarIfCompact:entityLink:entityIconAndTitle',
> theme:entityPageContainer:entity:entity-0:entityPropertiesAndCollections:entityProperties:leftColumn:memberGroup:1:properties:
> *1*:property:scalarIfRegular:entityIconAndTitle'
>

The reason seems to be in the index of the repeater's item with wicket id
"property".
There is a property with index "1", but there are no with "2" and "3".
I cannot tell what is the reason.
Can you replicate this in a mini application?

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov


Re: Wicket page session?

2015-12-04 Thread Martin Grigorov
Hi Erik,

On Fri, Dec 4, 2015 at 2:50 PM, Erik de Hair <e.deh...@pocos.nl> wrote:

> ListenerInvocationNotAllowedExceptionBehavior rejected interface
> invocation. Component: [AjaxButton [Component id = okButton]] Behavior:
> org.apache.wicket.ajax.markup.html.form.AjaxButton$1@7585b8c9 Listener:
> [RequestListenerInterface name=IBehaviorListener, method=public abstract
> void org.apache.wicket.behavior.IBehaviorListener.onRequest()]
> org.apache.wicket.RequestListenerInterface#invoke(RequestListenerInterface.java:237)
>

This exception means that Wicket cannot execute #onSubmit() method for this
AjaxButton because the button is either disabled or invisible.

So, the button is rendered by Isis/Wicket and *after* that its usability
(visibility and/or enable) is being changed. Clicking on it in the UI makes
a call to the server but Wicket refuses to execute the method.

We will need a mini application that reproduces the problem to be able to
help you.


Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov


Re: AW: Unable to find component with id 'entityIconAndTitle'

2015-12-04 Thread Martin Grigorov
Hi,

This is a really weird way to trigger this kind of exception.
I'll to debug it when I have some time.
On Dec 4, 2015 5:21 PM, "Rade, Joerg / Kuehne + Nagel / Ham GI-PS" <
joerg.r...@kuehne-nagel.com> wrote:

> Hi Martin,
>
> I've put an app to Google Drive.
>
> Execute the FixtureScript and select 'Measurements'.
>
> Thanks for your help!
> Jörg
>
> -----Ursprüngliche Nachricht-
> Von: Martin Grigorov [mailto:mgrigo...@apache.org]
> Gesendet: Freitag, 4. Dezember 2015 14:30
> An: users
> Betreff: Re: Unable to find component with id 'entityIconAndTitle'
>
> Hi,
>
> On Fri, Dec 4, 2015 at 3:21 PM, Rade, Joerg / Kuehne + Nagel / Ham GI-PS <
> joerg.r...@kuehne-nagel.com> wrote:
>
> > Unable to find component with id 'entityIconAndTitle' in [FormGroup
> > [Component id = scalarIfRegular]]
> > Expected:
> >
> 'theme:entityPageContainer:entity:entity-0:entityPropertiesAndCollections:entityProperties:leftColumn:memberGroup:1:properties:
> > *3*:property:scalarIfRegular:entityIconAndTitle'.
> > Found with similar names:
> >
> 'theme:entityPageContainer:entity:entity-0:entityPropertiesAndCollections:entityProperties:leftColumn:memberGroup:1:properties:
> > *1*:property:scalarIfCompact:entityLink:entityIconAndTitle',
> >
> theme:entityPageContainer:entity:entity-0:entityPropertiesAndCollections:entityProperties:leftColumn:memberGroup:1:properties:
> > *1*:property:scalarIfRegular:entityIconAndTitle'
> >
>
> The reason seems to be in the index of the repeater's item with wicket id
> "property".
> There is a property with index "1", but there are no with "2" and "3".
> I cannot tell what is the reason.
> Can you replicate this in a mini application?
>
> Martin Grigorov
> Wicket Training and Consulting
> https://twitter.com/mtgrigorov
>
> Kühne + Nagel (AG & Co.) KG
> Rechtsform: Kommanditgesellschaft, Bremen HRA 21928, USt-IdNr.: DE
> 812773878.
> Geschäftsleitung Kühne + Nagel (AG & Co.) KG: Reiner Heiken (Vors.), Dirk
> Blesius, Martin Brinkmann, Matthias Heimbach, Jan-Hendrik Köstergarten,
> Nicholas Minde, Lars Wedel, Jens Wollesen.
> Persönlich haftende Gesellschafterin: Kühne & Nagel A.G., Rechtsform:
> Aktiengesellschaft nach luxemburgischem Recht, HR-Nr.: B 18745,
> Geschäftsführendes Verwaltungsratsmitglied: Karl Gernandt.
> Geschäftsleitung Region Westeuropa: Yngve Ruud (Vors.), Richard Huhn,
> Diederick de Vroet, Björn Johansson, Jan Kunze, Bruno Mang, Stefan Paul,
> Holger Ketz, Dominic Edmonds.
>
> Wir arbeiten ausschließlich auf Grundlage der Allgemeinen Deutschen
> Spediteursbedingungen (ADSp), jeweils neuester Fassung. Wir verweisen
> insbesondere auf die vom Gesetz abweichenden Haftungsbeschränkungen von
> Ziffer 23 und 24 ADSp. Den vollständigen Text der ADSp übersenden wir Ihnen
> gerne auf Anfrage und können Sie auch unter http://www.kuehne-nagel.com
> einsehen. Ergänzend wird vereinbart, dass (1) Ziffer 27 ADSp im Rahmen
> internationaler Übereinkommen weder unsere Haftung noch die Zurechnung des
> Verschuldens von Leuten und sonstigen Dritten zu Gunsten des Auftraggebers
> erweitert, und (2) wir in den im deutschen Seehandelsrecht aufgeführten
> Fällen des nautischen Verschuldens oder Feuer an Bord nur für eigenes
> Verschulden und (3) im Sinne der CMNI genannten Voraussetzungen nicht für
> nautisches Verschulden, Feuer an Bord oder Mängel des Schiffes haften.
>


Re: Wicket page session?

2015-11-27 Thread Martin Grigorov
Hi,

  

What is the exception in the logs?

> On Nov 27 2015, at 10:47 am, Erik de Hair e.deh...@pocos.nl wrote:  

>

> Hi,

>

> Our users get a lot of unexpected errors probably caused by time outs of  
page sessions. The logs aren't quite clear about that but they don't  
seem to be business logic errors. During development we never get these  
exceptions, probably because one tests some action and then redeploys  
again (and I taught myself always to click a page title before calling  
some action when the page was opened a while before).

>

> Is anybody experiencing the same issue?

>

> Erik



Re: Returning content as file...?

2015-11-23 Thread Martin Grigorov
Hi,


On Sun, Nov 22, 2015 at 8:25 PM, Dan Haywood 
wrote:

> umm, ok... no clues there unfortunately.  Any Javascript errors in Chrome's
> console?
>
> Also, which version are you running against?  I'm guessing 1.10.0 ?
>
>
> On 22 November 2015 at 19:22, Kevin Meyer  wrote:
>
> > Let me turn off one component factory that I create, but don't use..
> >
> > In the mean time, heres the full stack trace:
> >
> > 20:10:40,374  [RequestCycleExtraqtp576936864-17 WARN ]  Handling the
> > following exception
> > org.apache.wicket.WicketRuntimeException: No Page found for component
> > [ActionPanel [Component id = content]]
> > at org.apache.wicket.Component.getPage(Component.java:1722)
> > at
> >
> >
> org.apache.isis.viewer.wicket.ui.actionresponse.ActionResultResponseHandlingStrategy$3.handleResults(ActionResultResponseHandlingStrategy.java:65)
> > at
> >
> >
> org.apache.isis.viewer.wicket.ui.components.actions.ActionPanel.executeActionOnTargetAndProcessResults(ActionPanel.java:254)
> > at
> >
> >
> org.apache.isis.viewer.wicket.ui.components.actions.ActionPanel.executeActionAndProcessResults(ActionPanel.java:195)
> > at
> >
> >
> org.apache.isis.viewer.wicket.ui.components.actions.ActionPanel.buildGui(ActionPanel.java:106)
> > at
> >
> >
> org.apache.isis.viewer.wicket.ui.components.actions.ActionPanel.(ActionPanel.java:84)
>

, i.e. we are in the constructor.
Later it seems there is a call #getPage() but since ActionPanel is not yet
added to its parent there is no path to the page.
Simple fix would be to #buildGui() in #onInitialize().


> > at
> >
> >
> org.apache.isis.viewer.wicket.ui.components.actions.ActionPanelFactory.createComponent(ActionPanelFactory.java:49)
> > at
> >
> >
> org.apache.isis.viewer.wicket.viewer.registries.components.ComponentFactoryRegistryDefault.createComponent(ComponentFactoryRegistryDefault.java:128)
> > at
> >
> >
> org.apache.isis.viewer.wicket.ui.components.widgets.linkandlabel.ActionLinkFactoryAbstract$1.onClick(ActionLinkFactoryAbstract.java:73)
> > at
> > org.apache.wicket.ajax.markup.html.AjaxLink$1.onEvent(AjaxLink.java:86)
> > at
> >
> >
> org.apache.wicket.ajax.AjaxEventBehavior.respond(AjaxEventBehavior.java:146)
> > at
> >
> >
> org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.onRequest(AbstractDefaultAjaxBehavior.java:641)
> > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> > at
> >
> >
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> > at
> >
> >
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> > at java.lang.reflect.Method.invoke(Method.java:497)
> > at
> >
> >
> org.apache.wicket.RequestListenerInterface.internalInvoke(RequestListenerInterface.java:258)
> > at
> >
> >
> org.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.java:241)
> > at
> >
> >
> org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.invokeListener(ListenerInterfaceRequestHandler.java:250)
> > at
> >
> >
> org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.respond(ListenerInterfaceRequestHandler.java:236)
> > at
> >
> >
> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:890)
> > at
> >
> >
> org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
> > at
> >
> org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:261)
> > at
> >
> >
> org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:218)
> > at
> >
> >
> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:289)
> > at
> >
> >
> org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:259)
> > at
> >
> >
> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:201)
> > at
> >
> >
> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:282)
> > at
> >
> >
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
> > at
> >
> >
> org.apache.isis.core.webapp.diagnostics.IsisLogOnExceptionFilter.doFilter(IsisLogOnExceptionFilter.java:52)
> > at
> >
> >
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
> > 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
> >
> >
> 

Re: ajax issue with Isis on Google Compute Cloud

2015-11-09 Thread Martin Grigorov
Hi,

Initially I thought that the load balancers in front of Tomcat are not
configured with sticky sessions support. This is something normal for
services like Google AppEngine, Heroku, and it seems Google Compute Cloud
(I'm not sure whether GCC is a completely new service or just the new name
of GAE).
If this is the case then the problem would be that Wicket Ajax request
tries to find a page by id (e.g. url?3) but since the request is handled by
a random server in the cloud and most probably there is no session
replication it fails to find it.

But org.apache.catalina.connector.ClientAbortException means that the
client closed the TCP connection before the server having the chance to
write the response.
"Client" could be the browser, but also could be a proxy in between. I
think it is the latter. What are the reasons exactly I cannot tell.

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Tue, Nov 10, 2015 at 4:42 AM, Stephen Cameron <steve.cameron...@gmail.com
> wrote:

> I'll try another hosting provider
>
> On Tue, Nov 10, 2015 at 2:12 PM, Stephen Cameron <
> steve.cameron...@gmail.com
> > wrote:
>
> > No luck with finding the source of this problem, startup seems fine now
> > and nothing strange in logs. Just the ajax requests fail, whereas
> requests
> > that initiate page (number) changes are fine.
> > I don't know the Resful spec at all so cannot test the failing actions
> > that way for comparison.
> >
> >
> > On Tue, Nov 10, 2015 at 10:16 AM, Stephen Cameron <
> > steve.cameron...@gmail.com> wrote:
> >
> >> Sorry, here is an error in catalina.out
> >>
> >> 23:03:39,587 [IsisLogOnExceptionFilter ajp-apr-8009-exec-17 ERROR]
> >> Request caused org.apache.catalina.connector.ClientAbortException:
> >>
> http://104.155.220.243/chats01/wicket/wicket/page?7-1.IBehaviorListener.0-theme-header-primaryMenuBar-menuItems-0-topMenu-subMenuItems-5-content-menuLink&_=1447107146733org.apache.catalina.connector.ClientAbortException
> :
> >> java.io.IOException: Failed to send AJP message at
> >>
> org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:407)
> >> at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:480)
> at
> >>
> org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:356)
> >> at
> org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:331)
> >> at
> org.apache.catalina.connector.Response.flushBuffer(Response.java:610) at
> >>
> org.apache.catalina.connector.ResponseFacade.flushBuffer(ResponseFacade.java:306)
> >> at
> >>
> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:234)
> >> at
> >>
> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:282)
> >> at
> >>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> >> at
> >>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> >> at
> >>
> org.apache.isis.core.webapp.diagnostics.IsisLogOnExceptionFilter.doFilter(IsisLogOnExceptionFilter.java:52)
> >> at
> >>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> >> at
> >>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> >> 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:241)
> >> at
> >>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> >> at
> >>
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
> >> at
> >>
> org.apache.catalina.

Re: tellmeGen

2015-11-05 Thread Martin Grigorov
Hi Carlos,

It is a bug, but it is in your application ;-)

You need different HTML elements depending on a condition, so you cannot
use just  or  without some extra logic.

One way to fix this is to use a Fragment or a Panel for each case, i.e. a
Fragment for the image and another for the Label. Isis itself uses this
approach at
https://github.com/apache/isis/blob/db8641628b1aa0f9e69dcd84754df3bc79ef5a4b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.html

Another way is to manipulate the component's tag on the fly. Use  in
your markup and :
new Image(...) {
  @Override protected void onComponentTag(ComponentTag tag) {
 super.onComponentTag(tag);
 tag.setName("img");  // this is the magic !
  }
}

Greetings to the tellmeGen team!


Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Thu, Nov 5, 2015 at 1:41 PM, carlos.sanchez <carlos.sanc...@tellmegen.com
> wrote:

> Hello guys!!
>
> I hope is going good out there :) I was wondering a little question for
> you:
>
> I am using an  tag in the html file with a wicket id and in the java
> code I have an if/else that if is "if" makes new Image(X, X); and if is
> "else" makes a new Label(X, X);
>
> So, when I use in the html file  tag it works with a Label or Image
> (from java code) and when I use  tag it doesn't works with the image
> created in the java code. I don't know if is a bug or what. I just want to
> know it!
>
>
> Thanks very much!
>
> Regards,
> Carlos.
>


Re: how to disable the footer component in "PageAbstract"

2015-10-30 Thread Martin Grigorov
Hi,

I guess a new config property (e.g. wicket.footer.visible=false) is just
enough.

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Fri, Oct 30, 2015 at 10:32 AM, Martin Vogel <vo...@bi-web.de> wrote:

> Hi Martin,
>
> do you think a "NOOP"-component to disable certain page areas would be a
> desirable component for a patch ?
>
> thx,
> Martin
> -Ursprüngliche Nachricht-
> Von: Martin Grigorov [mailto:mgrigo...@apache.org]
> Gesendet: Freitag, 30. Oktober 2015 09:19
> An: users <users@isis.apache.org>
> Betreff: Re: how to disable the footer component in "PageAbstract"
>
> Hi,
>
> The footer (and the header) is loaded as other configurable components -
> thru the component registry.
> See
>
> https://github.com/apache/isis/blob/master/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.java#L232
> So to disable it you have to register your own footer component. Simple
> WebMarkupContainer should do the job.
>
> Martin Grigorov
> Wicket Training and Consulting
> https://twitter.com/mtgrigorov
>
> On Fri, Oct 30, 2015 at 10:16 AM, Martin Vogel <vo...@bi-web.de> wrote:
>
> > Hi all,
> >
> > as the how-to section of the official documentation states it´s
> > possible to suppress the page header respective footer. For my
> > application I would like to remove the footer component entirely from
> > the PageAbstract of the wicket-viewer-ui.
> > Since there is no simple solution such as just removing the wicket
> > html tag from the page template, I was wondering how you actually
> > suppress the footer via the request params ?
> >
> > Is the ServletWebResponse the suitable service or is there a wicket
> > property that I miss ?
> >
> > Thanks a lot in advance,
> > Martin
> >
> > Am 02. und 03. Juni 2016 findet das BI.Kundenforum in der Villa Ida in
> > Leipzig statt.
> > Die Themen: Geschäftskundenportal, Energie-Effizienzportal,
> > Beschaffungsportal für Großkunden, Marktpreisdatenbank, Business
> > Intelligence Lösungen.
> > Weitere Informationen unter: https://www.bi-web.de/kundenforum
> >
> > 
> >
> > BI Business Intelligence GmbH
> > August-Bebel-Str. 44
> > D-04275 Leipzig
> >
> > Tel.: +49 341 30383-40
> > Fax: +49 341 30383-52
> > E-Mail: vo...@bi-web.de<mailto:vo...@bi-web.de>
> > www.bi-web.de<http://www.bi-web.de/>
> >
> > Sie finden uns auch auf: Facebook Google+ XING
> > 
> > BI Business Intelligence GmbH, Leipzig Registergericht/Registered Office:
> > Amtsgericht Leipzig Registernummer/Registered Number: HR 17142
> > Vertretungsberechtigte Geschäftsführer/Board of Managing Directors:
> > Conrad Moeller, Jürgen Schubert Diese E-Mail enthält vertrauliche
> > und/oder rechtlich geschützte Informationen. Wenn Sie nicht der
> > richtige Adressat sind oder diese E-Mail irrtümlich erhalten haben,
> > informieren Sie bitte sofort den Absender und vernichten Sie diese
> > Mail. Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser
> > Mail ist nicht gestattet.
> > This e-mail may contain confidential and/or privileged information. If
> > you are not the intended recipient (or have received this e-mail in
> > error) please notify the sender immediately and destroy this e-mail.
> > Any unauthorized copying, disclosure or distribution of the material
> > in this e-mail is strictly forbidden.
> >
> >
> >
>


Re: Booltint error

2015-10-27 Thread Martin Grigorov
Hi Cesar,

Could you please paste the content of the JavaScript console?

The Bootlint errors say that there is some misuse of Bootstrap's HTML
and/or CSS. We just need to identify where it is.

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Tue, Oct 27, 2015 at 2:24 AM, Cesar Lugo <cesar.l...@sisorg.com.mx>
wrote:

> Hello.
>
>
>
> Last friday I started experienced an error in my Apache ISIS prototype:
> every page I open issues the error "bootlint found errors in this document,
> see the Javascript console for details". After trying several options, I
> went back to a backup I have from earlier last week, when this bootlint
> error was not present. After building and running the backup repository,
> the
> bootlint error showed up again . I tried deleting the directories under
> local ~/.m2/repo/org/isisaddons/. (all modules there) and re-building and
> re-running, and the bootlint error message keeps showing. I also removed
> all
> isisaddons from my pom modules, leaving only gmap3 and fullcalendar2, and
> the bootlint continues. I also monitored the browser's Javascript console,
> and there are not any errors there, only 1 warning and 1 info.
>
>
>
> Any suggestions where should I be looking for?
>
>
>
> Thank you.
>
>
>
>
>
>
>
>
>
> ---
> This email has been checked for viruses by Avast antivirus software.
> https://www.avast.com/antivirus
>


Re: Booltint error

2015-10-27 Thread Martin Grigorov
Hi,

Which version of Isis is this ? 1.9.0 ?
I think 1.10.0 (currently being voted) uses Bootstrap 3.3.5.

If upgrading to 1.10.0 is not an option for you then you can add a Maven
dependency for Bootstrap's WebJar version 3.3.5 to your webapp module.
See
https://github.com/l0rdn1kk0n/wicket-bootstrap/blob/master/bootstrap-core/pom.xml#L33-L36

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Tue, Oct 27, 2015 at 4:59 PM, Cesar Lugo <cesar.l...@sisorg.com.mx>
wrote:

> Sure, it is the following, messages and copy of the screen showing the
> messages and the script:
>
>
>
> JQMIGRATE: Logging is active
>
> jquery-...4122.js (line 21)
>
> bootlint:  W013 Bootstrap version might be outdated. Latest version is at
> least 3.3.4 ; saw what appears to be usage of Bootstrap 3.2.0
>
> bootlin...4122.js (line 11518)
>
> bootlint: For details, look up the lint problem IDs in the Bootlint wiki:
> https://github.com/twbs/bootlint/wiki
>
> bootlin...4122.js (line 11528)
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> -Original Message-
> From: Martin Grigorov [mailto:mgrigo...@apache.org]
> Sent: Tuesday, October 27, 2015 1:30 AM
> To: users
> Subject: Re: Booltint error
>
>
>
> Hi Cesar,
>
>
>
> Could you please paste the content of the JavaScript console?
>
>
>
> The Bootlint errors say that there is some misuse of Bootstrap's HTML
> and/or CSS. We just need to identify where it is.
>
>
>
> Martin Grigorov
>
> Wicket Training and Consulting
>
> https://twitter.com/mtgrigorov
>
>
>
> On Tue, Oct 27, 2015 at 2:24 AM, Cesar Lugo <cesar.l...@sisorg.com.mx>
>
> wrote:
>
>
>
> > Hello.
>
> >
>
> >
>
> >
>
> > Last friday I started experienced an error in my Apache ISIS prototype:
>
> > every page I open issues the error "bootlint found errors in this
>
> > document, see the Javascript console for details". After trying
>
> > several options, I went back to a backup I have from earlier last
>
> > week, when this bootlint error was not present. After building and
>
> > running the backup repository, the bootlint error showed up again . I
>
> > tried deleting the directories under local ~/.m2/repo/org/isisaddons/.
>
> > (all modules there) and re-building and re-running, and the bootlint
>
> > error message keeps showing. I also removed all isisaddons from my pom
>
> > modules, leaving only gmap3 and fullcalendar2, and the bootlint
>
> > continues. I also monitored the browser's Javascript console, and
>
> > there are not any errors there, only 1 warning and 1 info.
>
> >
>
> >
>
> >
>
> > Any suggestions where should I be looking for?
>
> >
>
> >
>
> >
>
> > Thank you.
>
> >
>
> >
>
> >
>
> >
>
> >
>
> >
>
> >
>
> >
>
> >
>
> > ---
>
> > This email has been checked for viruses by Avast antivirus software.
>
> > https://www.avast.com/antivirus
>
> >
>
>
> --
> [image: Avast logo] <https://www.avast.com/antivirus>
>
> This email has been checked for viruses by Avast antivirus software.
> www.avast.com <https://www.avast.com/antivirus>
>
>


Re: Blobs properties for images

2015-10-15 Thread Martin Grigorov
Hi,

I just tested the KitchenSink app -> Data types -> First BlobClobObject and
everything seems to be fine with uploading and previewing images.
The code it uses is:

@javax.jdo.annotations.Persistent(defaultFetchGroup="false", columns = {
@javax.jdo.annotations.Column(name = "someBlob_name"),
@javax.jdo.annotations.Column(name = "someBlob_mimetype"),
@javax.jdo.annotations.Column(name = "someBlob_bytes",
jdbcType = "BLOB", sqlType = "VARBINARY")
})
private Blob someBlob;


Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Thu, Oct 15, 2015 at 8:53 PM, Dan Haywood <d...@haywood-associates.co.uk>
wrote:

> On 15 October 2015 at 18:58, Cesar Lugo <cesar.l...@sisorg.com.mx> wrote:
>
> > Thanks Dan,
> >
> > How do I track the issue status? Is there a place to track a ticket or
> so?
> >
>
> yes, you can raise tickets via the ASF JIRA  [1]
>
>
>
>
> >
> > BTW, I also tried with an action that sets the image, getting a similar
> > issue. I am using the in-memory database, not sure if it supports Blobs,
> > might it have anything to do with this issue?
> >
> >
> It does (or rather, it did) work fine with the in-memory database.  So
> that's not the issue.  Probably we've upgraded a UI dependency and our
> testing missed the issue :-(
>
>
>
> Thanks
> Dan
>
> [1] https://issues.apache.org/jira/browse/ISIS
>
>
>
>
> > Cesar.
> >
> > -Original Message-
> > From: Dan Haywood [mailto:d...@haywood-associates.co.uk]
> > Sent: Wednesday, October 14, 2015 1:26 PM
> > To: users
> > Subject: Re: Blobs properties for images
> >
> > Hmm, sounds like a bug, thanks for reporting. Will look into it.
> > On 14 Oct 2015 17:12, "Cesar Lugo" <cesar.l...@sisorg.com.mx> wrote:
> >
> > > Hello.
> > >
> > >
> > >
> > > I have an entity that needs a property to store an image file, so I
> > > included a Blob field on the Entity. Now, when I run the application
> > > using the Wicket viewer and enter edit mode on that entity, it allows
> > > me to select a file. I select an image file and shows the image, but
> > > when I hit the OK button, the image is not shown.  If I enter edit
> > > mode again, the image is not shown either. Do I need something else to
> > > make it work?
> > >
> > >
> > >
> > > @javax.jdo.annotations.Column(allowsNull="true")
> > > @Property(optionality = Optionality.OPTIONAL) @MemberOrder(name =
> > > "Image",sequence = "120") public Blob getImage() {
> > > return image;
> > > }
> > >
> > > public void setImage(final Blob image) {
> > > this.image = image;
> > > }
> > >
> > > public Blob image;
> > > //endregion
> > >
> > >
> > >
> > >
> > >
> > > Cesar.
> > >
> > >
> > >
> > > ---
> > > This email has been checked for viruses by Avast antivirus software.
> > > https://www.avast.com/antivirus
> > >
> >
> >
> > ---
> > This email has been checked for viruses by Avast antivirus software.
> > https://www.avast.com/antivirus
> >
> >
>


Re: moving to test & production, how to optimise speed of response?

2015-09-29 Thread Martin Grigorov
On Tue, Sep 29, 2015 at 12:22 PM, Stephen Cameron <
steve.cameron...@gmail.com> wrote:

> I don't think its anything to do with database access, I am starting with
> an empty in-memory database. This will be an interesting challenge to try
> and track down the issue. I am struck by the big difference in
> responsiveness of the restful-objects viewer vs the wicket viewer, with no
> criticism of wicket intended, all indications are that its performance is
> very good when benchmarked.
>

Wicket is never the problem ;-)

It should be easy for you to profile your app with jProfiler/YourKit.


>
> On Tue, Sep 29, 2015 at 2:06 AM, Dan Haywood  >
> wrote:
>
> > There isn't really any list, no.
> >
> > Actually, on my todo list is to do some performance tuning; things have
> > certainly slowed down over the last few releases.  I have one or two
> > theories as to why, but haven't researched them as of yet.
> >
> > You might want to look configure logging to view all SQL queries and to
> > search for any occurrences of the N+1 problem; eg configure
> >
> > log4j.appender.sql=org.apache.log4j.RollingFileAppender
> > log4j.appender.sql.File=./logs/sql.log
> > log4j.appender.sql.Append=false
> > log4j.appender.sql.layout=org.apache.log4j.PatternLayout
> > log4j.appender.sql.layout.ConversionPattern=%d{-MM-dd HH:mm:ss.SSS}
> > %m%n
> >
> > and
> >
> > log4j.logger.DataNucleus.Datastore.Native=DEBUG, Console, sql
> > log4j.logger.DataNucleus.Datastore.Schema=DEBUG, Console, sql
> >
> > in logging.properties and then monitor sql.log.  I use baretail (on
> > windows) which supports highlighting of lines; makes it easy to see which
> > tables are being hit repeatedly.
> >
> >
> > Another thing you could explore is to use selective caching, eg using the
> > QueryResultsCache [1]
> >
> > HTH (a bit)
> > Dan
> >
> > [1]
> >
> >
> http://isis.apache.org/guides/rg.html#_rg_services-api_manpage-QueryResultsCache
> >
> >
> >
> >
> > On 28 September 2015 at 13:51, Stephen Cameron <
> steve.cameron...@gmail.com
> > >
> > wrote:
> >
> > > Hi,
> > >
> > > I am installing on a test server tomorrow, what can I set to optimise
> > speed
> > > of response? I was looking that the security module video online and
> > > thinking: gee that is fast! It would be good to get mine that nippy :)
> > >
> > > I know that there are cache optimisations for Wicket and I see a
> warning
> > > that I am working in DEVELOPMENT mode when Jetty starts.
> > >
> > > Just wondering if there is a list anywhere of things to do in the
> > > switch-over?
> > >
> > > Cheers
> > > Steve C
> > >
> >
>


Re: Invalid autoComplete Support method?

2015-09-27 Thread Martin Grigorov
Click  on text "Create", not on the "down arrow".

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Sun, Sep 27, 2015 at 8:26 PM, Burbach, Matthias <matthias.burb...@tui.de>
wrote:

> that's exactly the button I have already tried, it brings up these three
> weird options...
>
> Am 27.09.15 20:23 schrieb "Martin Grigorov" unter <mgrigo...@apache.org>:
>
> >Hi,
> >
> >Go to https://issues.apache.org/jira/browse/ISIS and use the blue Create
> >button at top center.
> >
> >Martin Grigorov
> >Wicket Training and Consulting
> >https://twitter.com/mtgrigorov
> >
> >On Sun, Sep 27, 2015 at 8:01 PM, Burbach, Matthias
> ><matthias.burb...@tui.de>
> >wrote:
> >
> >> Sorry, signed up for your JIRA, but I am confused by the create options,
> >> they are:
> >>
> >> * Kylin <https://issues.apache.org/jira/servicedesk/customer/kylin>
> >> * Atlas <https://issues.apache.org/jira/servicedesk/customer/atlas>
> >> * Apache Infrastructure
> >> <https://issues.apache.org/jira/servicedesk/customer/infra>
> >>
> >> What do I have to choose to create that issue?
> >>
> >>
> >> Am 27.09.15 19:51 schrieb "Burbach, Matthias" unter
> >> <matthias.burb...@tui.de>:
> >>
> >> >Yes, tried Johan's proposal and it worked! Thanks a lot!
> >> >Will raise a ticket in your JIRA.
> >> >Matthias
> >> >
> >> >Am 27.09.15 19:48 schrieb "Dan Haywood" unter
> >> ><d...@haywood-associates.co.uk>:
> >> >
> >> >>If that's the reason, then we should fix this.
> >> >>
> >> >>Matthias, could you try out John's suggestion, and if it's correct
> >>then
> >> >>raise a ticket in our JIRA?
> >> >>
> >> >>Thx,
> >> >>Dan
> >> >>On 27 Sep 2015 18:46, <johandoornen...@filternet.nl> wrote:
> >> >>
> >> >>> Hi Matthias,
> >> >>>
> >> >>>
> >> >>>
> >> >>> Try to use List instead of collection. That worked for me.
> >> >>>
> >> >>>
> >> >>>
> >> >>> Grtz
> >> >>>
> >> >>>
> >> >>>
> >> >>> Johan
> >> >>>
> >> >>>
> >> >>>
> >> >>>
> >> >>>
> >> >>>
> >> >>> - Original Message 
> >> >>>
> >> >>> From: "Burbach, Matthias"
> >> >>>
> >> >>> To: "users@isis.apache.org"
> >> >>>
> >> >>> Sent: Zon, 27 Sep 2015 17:20
> >> >>>
> >> >>> Subject: Invalid autoComplete Support method?
> >> >>>
> >> >>>
> >> >>>
> >> >>>
> >> >>> Hi,
> >> >>> hope I am using the correct channel for this question. If not please
> >> >>>tell
> >> >>> me where I can best place such questions.
> >> >>>
> >> >>> I am going first steps with Apache Isis by modifying the simple
> >>app. So
> >> >>> far it works fine but I cannot understand why I am getting:
> >> >>>
> >> >>>
> >> >>>  ISIS METAMODEL
> >> >>>VALIDATION
> >> >>> ERRORS
> >>
> >> >>>
> >> >>>
> >> >>> domainapp.dom.simple.Connections#autoComplete0Create: has prefix
> >> >>> autoComplete, is probably a supporting method for a property,
> >> >>>collection or
> >> >>> action.  If the method is intended to be an action, then rename and
> >>use
> >> >>> @ActionLayout(named="...") or ignore completely using @Programmatic
> >> >>>
> >> >>>
> >> >>> Please inspect the above messages and correct your domain model.
> >> >>>
> >> >>> for this:
> >> >>> ...
> >> >>>
> >> >>> //region > create (action)
> >> >>>
> >> >>> public static class CreateDomainEvent extends ActionDomainEvent
> >>{
> >> >>>
> >> >>> public CreateDomainEvent(final Connections source, final
> >> >>> Identifier identifier, final Object... arguments) {
> >> >>>
> >> >>> super(source, identifier, arguments);
> >> >>>
> >> >>> }
> >> >>>
> >> >>> }
> >> >>>
> >> >>>
> >> >>> @Action(
> >> >>>
> >> >>> domainEvent = CreateDomainEvent.class
> >> >>>
> >> >>> )
> >> >>>
> >> >>> @MemberOrder(sequence = "3")
> >> >>>
> >> >>> public Connection create(
> >> >>>
> >> >>> final @ParameterLayout(named="System A") System
> >>systemA) {
> >> >>>
> >> >>> final Connection obj =
> >> >>> container.newTransientInstance(Connection.class);
> >> >>>
> >> >>> obj.setName(systemA.getName());
> >> >>>
> >> >>> obj.setSystemA(systemA);
> >> >>>
> >> >>> container.persistIfNotAlready(obj);
> >> >>>
> >> >>> return obj;
> >> >>>
> >> >>> }
> >> >>>
> >> >>>
> >> >>> public Collection autoComplete0Create(@MinLength(value = 1)
> >>final
> >> >>> String search) {
> >> >>>
> >> >>>  return systems.listAll();
> >> >>>
> >> >>> }
> >> >>>
> >> >>> ...
> >> >>> }
> >> >>>
> >> >>> while using choices instead of autoComplete works fine:
> >> >>>
> >> >>>
> >> >>> public Collection choices0Create() {
> >> >>>
> >> >>> return systems.listAll();
> >> >>>
> >> >>> }
> >> >>>
> >> >>> //public Collection autoComplete0Create(@MinLength(value = 1)
> >>final
> >> >>> String search) {
> >> >>>
> >> >>> //return systems.listAll();
> >> >>>
> >> >>> //}
> >> >>>
> >> >>>
> >> >>>
> >> >>> Matthias
> >> >>>
> >> >>>
> >> >>>
> >> >>>
> >> >
> >>
> >>
>
>


Re: Invalid autoComplete Support method?

2015-09-27 Thread Martin Grigorov
Hi,

Go to https://issues.apache.org/jira/browse/ISIS and use the blue Create
button at top center.

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Sun, Sep 27, 2015 at 8:01 PM, Burbach, Matthias <matthias.burb...@tui.de>
wrote:

> Sorry, signed up for your JIRA, but I am confused by the create options,
> they are:
>
> * Kylin <https://issues.apache.org/jira/servicedesk/customer/kylin>
> * Atlas <https://issues.apache.org/jira/servicedesk/customer/atlas>
> * Apache Infrastructure
> <https://issues.apache.org/jira/servicedesk/customer/infra>
>
> What do I have to choose to create that issue?
>
>
> Am 27.09.15 19:51 schrieb "Burbach, Matthias" unter
> <matthias.burb...@tui.de>:
>
> >Yes, tried Johan's proposal and it worked! Thanks a lot!
> >Will raise a ticket in your JIRA.
> >Matthias
> >
> >Am 27.09.15 19:48 schrieb "Dan Haywood" unter
> ><d...@haywood-associates.co.uk>:
> >
> >>If that's the reason, then we should fix this.
> >>
> >>Matthias, could you try out John's suggestion, and if it's correct then
> >>raise a ticket in our JIRA?
> >>
> >>Thx,
> >>Dan
> >>On 27 Sep 2015 18:46, <johandoornen...@filternet.nl> wrote:
> >>
> >>> Hi Matthias,
> >>>
> >>>
> >>>
> >>> Try to use List instead of collection. That worked for me.
> >>>
> >>>
> >>>
> >>> Grtz
> >>>
> >>>
> >>>
> >>> Johan
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>> - Original Message 
> >>>
> >>> From: "Burbach, Matthias"
> >>>
> >>> To: "users@isis.apache.org"
> >>>
> >>> Sent: Zon, 27 Sep 2015 17:20
> >>>
> >>> Subject: Invalid autoComplete Support method?
> >>>
> >>>
> >>>
> >>>
> >>> Hi,
> >>> hope I am using the correct channel for this question. If not please
> >>>tell
> >>> me where I can best place such questions.
> >>>
> >>> I am going first steps with Apache Isis by modifying the simple app. So
> >>> far it works fine but I cannot understand why I am getting:
> >>>
> >>>
> >>>  ISIS METAMODEL
> >>>VALIDATION
> >>> ERRORS 
> >>>
> >>>
> >>> domainapp.dom.simple.Connections#autoComplete0Create: has prefix
> >>> autoComplete, is probably a supporting method for a property,
> >>>collection or
> >>> action.  If the method is intended to be an action, then rename and use
> >>> @ActionLayout(named="...") or ignore completely using @Programmatic
> >>>
> >>>
> >>> Please inspect the above messages and correct your domain model.
> >>>
> >>> for this:
> >>> ...
> >>>
> >>> //region > create (action)
> >>>
> >>> public static class CreateDomainEvent extends ActionDomainEvent {
> >>>
> >>> public CreateDomainEvent(final Connections source, final
> >>> Identifier identifier, final Object... arguments) {
> >>>
> >>> super(source, identifier, arguments);
> >>>
> >>> }
> >>>
> >>> }
> >>>
> >>>
> >>> @Action(
> >>>
> >>> domainEvent = CreateDomainEvent.class
> >>>
> >>> )
> >>>
> >>> @MemberOrder(sequence = "3")
> >>>
> >>> public Connection create(
> >>>
> >>> final @ParameterLayout(named="System A") System systemA) {
> >>>
> >>> final Connection obj =
> >>> container.newTransientInstance(Connection.class);
> >>>
> >>> obj.setName(systemA.getName());
> >>>
> >>> obj.setSystemA(systemA);
> >>>
> >>> container.persistIfNotAlready(obj);
> >>>
> >>> return obj;
> >>>
> >>> }
> >>>
> >>>
> >>> public Collection autoComplete0Create(@MinLength(value = 1) final
> >>> String search) {
> >>>
> >>>  return systems.listAll();
> >>>
> >>> }
> >>>
> >>> ...
> >>> }
> >>>
> >>> while using choices instead of autoComplete works fine:
> >>>
> >>>
> >>> public Collection choices0Create() {
> >>>
> >>> return systems.listAll();
> >>>
> >>> }
> >>>
> >>> //public Collection autoComplete0Create(@MinLength(value = 1) final
> >>> String search) {
> >>>
> >>> //return systems.listAll();
> >>>
> >>> //}
> >>>
> >>>
> >>>
> >>> Matthias
> >>>
> >>>
> >>>
> >>>
> >
>
>


Re: faster development in eclipse

2015-07-31 Thread Martin Grigorov
Hi,

I use DCEVM for code reloading. It is free and there is nothing to learn.
But it doesn't help with updating Isis meta model.
It would be nice if Isis exposes REST/JMX/... interface that triggers
rebuild of the model.
@Dan: is this possible with the code of isis-mavel-plugin?
On Jul 31, 2015 7:45 AM, Stephen Cameron steve.cameron...@gmail.com
wrote:

 Hi again,

 After playing around with options I now think there isn't much opportunity
 to speed things up, other than to use JRebel or change the way I develop
 (not start the webapp so much). The webapp project looks for jars in the
 maven repository not the war, so I only need to do maven install on the dom
 project when I change a dom class. That should have been apparent sooner :(

 Bottomline: the webapp takes some time to start, but that is fine.



 On Fri, Jul 31, 2015 at 11:27 AM, Stephen Cameron 
 steve.cameron...@gmail.com wrote:

  Hi,
 
  I would greatly appreciate some advice on speeding up development in
  Eclipse. Using the simpleapp project with separate dom, fixture,
 integtest
  and webapp subprojects.
 
  I'd at least like the webserver (jetty,tomcat) to restart when I modify a
  dom class. This is what I am used to with Dynamic Web Projects, however
  after a bit of trying today I still cannot get that to work, using
 Tomcat.
 
  It seems most are using JRebel with IntelliJ, but I am not so keen to go
  there yet as I am (re)learning on many fronts at present.
 
  The issue with Tomcat is a jetty dependancy, this was noted previously
  [1], but I could not get around it by removing
  jetty-all-9.2.11.v20150529.jar as suggested, I then got a null-pointer
  exception.
 
  At the moment I have to rebuild the whole project after a class change in
  the dom-project then restart the server to see the change. Is the because
  the .war has to be rebuilt for mvn jetty:run to use the new version of
 the
  class file?
 
  I've just tried to use the eclipse jetty plugin but that is telling me
  that the dom classes have not been enhanced by datanucleus.
 
  Hoping for some insights.
 
  Thanks
  Steve C
 
 
  [1]
 http://permalink.gmane.org/gmane.comp.apache.incubator.isis.devel/9931
 
 
 
 
 
 
 



Re: copying a property value to clipboard

2015-07-30 Thread Martin Grigorov
Hi,

In view mode all input fields are disabled. Bootstrap shows this banned
icon for them.

I am not able to try it now but I think you should be able to select the
value with the mouse and copy it.

Martin

On Jul 30, 2015 1:20 PM, Stephen Cameron steve.cameron...@gmail.com
wrote:

 Hi,

 A smallish point, when an object is in view mode I cannot select a
property
 value to copy it. I get the red circle with line across it to say 'off
 limits' and it does seem truly untouchable!

 Is this by design, or am I missing something?

 Steve C


Re: copying a property value to clipboard

2015-07-30 Thread Martin Grigorov
On Jul 30, 2015 2:36 PM, Jeroen van der Wal jer...@stromboli.it wrote:

 Martin is right: you can select the data even when the mouse pointer is
 switched to disabled. I personally find the mouse pointer a bit
intrusive
 too, perhaps something to polish in the future.

This is fixable with one line of CSS


 Cheers,

 Jeroen

 On 30 July 2015 at 14:07, Martin Grigorov mgrigo...@apache.org wrote:

  Hi,
 
  In view mode all input fields are disabled. Bootstrap shows this banned
  icon for them.
 
  I am not able to try it now but I think you should be able to select the
  value with the mouse and copy it.
 
  Martin
 
  On Jul 30, 2015 1:20 PM, Stephen Cameron steve.cameron...@gmail.com
  wrote:
  
   Hi,
  
   A smallish point, when an object is in view mode I cannot select a
  property
   value to copy it. I get the red circle with line across it to say 'off
   limits' and it does seem truly untouchable!
  
   Is this by design, or am I missing something?
  
   Steve C
 


Re: Accessing ISIS Domain Services via EJB

2015-07-24 Thread Martin Grigorov
Hi,

On Jul 24, 2015 12:38 PM, David Tildesley davo...@yahoo.co.nz wrote:

 Hi David,
 When you say via EJB do you mean that you want to front end ISIS
application with session beans and invoke those from another application
via remote EJB invocation?
 Are you are saying that you want to do that just because you want to
avoid having to learn REST/Json?

^^ This made me smile :-)

I'd say it is better to unlearn REST/JSON!
Here is an article that express very well my thoughts on the abuse of
REST/JSON:
http://www.nurkiewicz.com/2015/07/restful-considered-harmful.html?m=1

EJBs have their own problems but using HTTP for internal/in-process
communication is insane.

 Or you are thinking you need to expose some coarse grained services via
session beans as opposed to having to deal with the fine grained RO that
would be the case if you didn't make use of ISIS View objects?
 Have you considered using using ISIS View objects (a view over the Domain
layer) to achieve a coarse grained RO interface to match the granularity
that you need?
 Or is it the case that you are required to wrap and use remote EJB
invocation to enlist the ISIS based application service in a distributed
managed transaction? But presumably because you were already considering
using the RO interface, then this is not a requirement?
 I think more information about your architecture constraints and
requirements is needed.
 Regards.David.

  On Friday, 24 July 2015 7:52 AM, David Harrison 
dharri...@psionline.com wrote:



 Hello,

 We are interested in integrating Apache ISIS Domain Services (and Domain
Objects)  in an existing application architecture, via EJB.  We briefly
investigated using the RESTful interface, but the HATEOAS (hypertext as the
engine of application state) style of interacting with ISIS was a bit more
involved than we feel comfortable using as this point in time.

 Is there a way to access ISIS Domain Services via EJB ?

 If someone can point me (and my colleagues) in the right direction, we
would be grateful.

 Best Regards,
 David Harrison and Ashwin Shimpi

 Environment:
 Apache Tomee 1.6.2  and EJB 3
 OpenJDK Java 1.8.0
 Apache ISIS - latest version,  1.8.0





Re: POSTing to an /objects/{domainType} resource

2015-07-17 Thread Martin Grigorov
Hi Dan,

On Fri, Jul 17, 2015 at 1:17 PM, Dan Haywood d...@haywood-associates.co.uk
wrote:

 Hi Kambiz,

 as Jorg says, welcome to the list.  Nice to hear that you are looking to
 Apache Isis and RO for your project.

 I took a look at the code, and it turns out it's not suprising you were
 having difficulties ... that bit of the code was actually broken.

 I've raised a ticket [1] and just pushed a release, so it's now working in
 1.9.0-SNAPSHOT.

 I've also recorded a quick screencast [2] (the second one in that section),
 so you can see it working.  (Apologies for the slightly duff audio on it...
 I don't actually have a lisp!).  You might also want to check out the other
 screencast on RO there, too.

 Of course, if you want to try this out then you'll need to build Isis from
 source; it's not difficult to do [3].

 ~~~
 Also, in the video I do make the remark that I may very well remove the
 objects for type resource; it breaks hypermedia, and - as Udi Dahan
 pointed out in this old blog post [4] - I don't actually think it's good
 domain modelling either.  You might have your own opinions on that?

 Cheers
 Dan


 [1] https://issues.apache.org/jira/browse/ISIS-1174
 [2] http://localhost:4000/screencasts.html#_restful_objects_viewer


It took me a bit to get access to your machine (localhost). To save some
time to the others I'd suggest them to use
https://www.youtube.com/watch?v=VmvhACyA2ZI instead ;)



 [3] http://isis.apache.org/guides/cg.html#_cg_building-isis
 [4] http://www.udidahan.com/2009/06/29/dont-create-aggregate-roots/



 On 14 July 2015 at 17:50, Kambiz Darabi dar...@m-creations.com wrote:

  Hello,
 
  as a new user of Isis, I would first like to thank you for open-sourcing
  the software. I am a developer from Germany who is interested in using
  Isis (and RO) for a customer project.
 
  Reading section 9 in the RO spec, I would have expected to be able to
  POST the following to http://~/objects/simple.SimpleObject/ (in
  SimpleApp-PROTOTYPE-with-fixtures):
 
  {
members: {
  name: {
value: Quux
  }
}
  }
 
  but this leads to a 400 with the following warning:
 
  199 RestfulObjects Could not find properties list (no
  members[objectMemberType=property]); got
  {members:{name:{value:Quux}}}
 
  I then debugged the application and had the impression that members must
  be an array and that each element must have the attribute
  objectMemberType set to property:
 
  {
members : [ {
  name : {
  value: Quux
  },
  objectMemberType: property
} ]
  }
 
  With such a JSON, the response is a '500 Server Error' and the logs show
 
  Caused by: org.hsqldb.HsqlException: integrity constraint violation: NOT
  NULL check constraint; SYS_CT_10102 table: SimpleObject column: name
 
  Debugging again shows that in ObjectAdapterUpdateHelper's
  copyOverProperties, the following is called with the id name:
 
  propertiesList.getRepresentation(id)
 
  which returns null, so the property name is not copied to the object
  which is to be persisted, resulting in the NOT NULL exception.
 
 
  I guess that I'm completely misunderstanding how I should use the
  resource.
 
  Would someone be so kind to put me on the right track?
 
 
  Thank you
 
 
  Kambiz Darabi
  --
  m-creations gmbh
  Acker 2
  55116 Mainz
  Germany
 
  W: http://www.m-creations.com
  E: dar...@m-creations.com
  --
  Registered Office: Mainz, HRB Mainz 7382
  Managing Directors: Frank Pacholak, Kambiz Darabi
 



Re: wicket page 'views'

2015-07-16 Thread Martin Grigorov
Hi,

Everything is possible!

I do not understand what exactly you need, so here are some options:
- you can setup your own version of EntityPage that will be used for any
entity.
- if you need to have the tabs only for some specific entity types then you
could use a ViewModel and custom Panel that visualize them in the page's
content.
- you say top level, so may be you want to provide a custom header for
the page with a tabbed panel under the menu. This is possible too.

Martin Grigorov
Freelancer. Available for hire!
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Thu, Jul 16, 2015 at 5:51 AM, Stephen Cameron steve.cameron...@gmail.com
 wrote:

 Hi,

 There are examples of use of different views in the todoapp (table,calendar
 etc.). I would like to implement tabs in the Wicket Viewer and am wondering
 if a similar views approach can be used at the top level?

 That is, to have some standard view layouts that can be switched, maybe by
 the user or by the developer alone.

 Steve Cameron



Re: property values not displayed in wicket

2015-07-16 Thread Martin Grigorov
:-)
Then make the improvements and send us a pull request!
There are few such CSS overrides at
https://github.com/apache/isis/tree/master/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages
I see there is one for Sandstone too -
https://github.com/apache/isis/blob/master/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/bootstrap-overrides-sandstone.css

Martin Grigorov
Freelancer. Available for hire!
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Thu, Jul 16, 2015 at 10:17 AM, Stephen Cameron 
steve.cameron...@gmail.com wrote:

 On Thu, Jul 16, 2015 at 4:56 PM, Martin Grigorov mgrigo...@apache.org
 wrote:

  Hi,
 
  Do you see the properties with the other themes?
 
 YES, but haven't tried them all

  If YES, then you could provide some CSS overrides in your application.css
  for Sandstone theme.
 
 Surely its not just me :(

 
  Martin Grigorov
  Freelancer. Available for hire!
  Wicket Training and Consulting
  https://twitter.com/mtgrigorov
 
  On Thu, Jul 16, 2015 at 9:53 AM, Stephen Cameron 
  steve.cameron...@gmail.com
   wrote:
 
   Hi,
  
   I noticed that property values are not visible in the Wicket sandstone
   theme in my project. No errors are occurring and I cannot see a problem
   with css (thinking maybe color and backgroundcolor are the same).
  
   I just upgraded to Isis 1.9 by copying the maven pom files from the
  todoapp
   demo, not sure if that is relevant, or if the problem was present using
   1.8, the version I was on after modifying the simpleapp demo.
  
   Steve Cameron
  
 



Re: property values not displayed in wicket

2015-07-16 Thread Martin Grigorov
Hi,

Do you see the properties with the other themes?
If YES, then you could provide some CSS overrides in your application.css
for Sandstone theme.

Martin Grigorov
Freelancer. Available for hire!
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Thu, Jul 16, 2015 at 9:53 AM, Stephen Cameron steve.cameron...@gmail.com
 wrote:

 Hi,

 I noticed that property values are not visible in the Wicket sandstone
 theme in my project. No errors are occurring and I cannot see a problem
 with css (thinking maybe color and backgroundcolor are the same).

 I just upgraded to Isis 1.9 by copying the maven pom files from the todoapp
 demo, not sure if that is relevant, or if the problem was present using
 1.8, the version I was on after modifying the simpleapp demo.

 Steve Cameron



Re: wicket page 'views'

2015-07-16 Thread Martin Grigorov
Hi Steve,

I think you have discussed the same recently at
http://mail-archives.apache.org/mod_mbox/isis-users/201507.mbox/%3CCALJOYLFwqrDb5As4W51x1oVc=2-44eoaprdzoqnqwd2_t2u...@mail.gmail.com%3E
That's why I wasn't sure what is the difference with your new question.

As Dan explained there are ideas and tickets in JIRA about implementing
this but so far such functionality is not available.

Martin Grigorov
Freelancer. Available for hire!
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Thu, Jul 16, 2015 at 11:03 AM, Stephen Cameron 
steve.cameron...@gmail.com wrote:

 Hi Martin,

 Thanks for the pointers, I will start my learning. But the suggestion was
 for a new feature of allowing views to be easly switched, either by the
 user in the way that 'Views' are within Eclipse, or by the developer via an
 attribute on the entity (a parameter of @DomainObjectLayout maybe?).

 So the views are merely layout views with the hierarchy of the class placed
 into parts of the view. (I am coming from XForms where parts of the view
 are bound to parts of the (data) model via 'group' elements (and group
 within group)).

 There is already an automatic layout process that assigns properties to
 groups, maybe this can be enhanced further?

 I should understand the present details and come back with more clarity.

 Steve C



 On Thu, Jul 16, 2015 at 4:48 PM, Martin Grigorov mgrigo...@apache.org
 wrote:

  Hi,
 
  Everything is possible!
 
  I do not understand what exactly you need, so here are some options:
  - you can setup your own version of EntityPage that will be used for any
  entity.
  - if you need to have the tabs only for some specific entity types then
 you
  could use a ViewModel and custom Panel that visualize them in the page's
  content.
  - you say top level, so may be you want to provide a custom header for
  the page with a tabbed panel under the menu. This is possible too.
 
  Martin Grigorov
  Freelancer. Available for hire!
  Wicket Training and Consulting
  https://twitter.com/mtgrigorov
 
  On Thu, Jul 16, 2015 at 5:51 AM, Stephen Cameron 
  steve.cameron...@gmail.com
   wrote:
 
   Hi,
  
   There are examples of use of different views in the todoapp
  (table,calendar
   etc.). I would like to implement tabs in the Wicket Viewer and am
  wondering
   if a similar views approach can be used at the top level?
  
   That is, to have some standard view layouts that can be switched, maybe
  by
   the user or by the developer alone.
  
   Steve Cameron
  
 



Re: missing type org.isisaddons.module.togglz.glue.seed.TogglzModuleAdminRole

2015-07-16 Thread Martin Grigorov
Hi,

The exception looks like you have an entry in your isis.properties that
mentions this class but you don't have the class in the classpath.
You need https://github.com/isisaddons/isis-module-togglz if you want to
use it. If you don't need it then remove it from isis.properties.

Martin Grigorov
Freelancer. Available for hire!
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Thu, Jul 16, 2015 at 3:29 PM, Stephen Cameron steve.cameron...@gmail.com
 wrote:

 Second thoughts, it probably did not have ever work with Isis 1.9.

 On Thu, Jul 16, 2015 at 10:12 PM, Stephen Cameron 
 steve.cameron...@gmail.com wrote:

  Hi,
 
  I want to create a fixture script and am copying the todoitems examples.
  However I get the following error when I replace a FixtureScript that
  worked (modified from the simpleapp demo) with my new one.
 
  The org.isisaddons.module.togglz.glue.seed.TogglzModuleAdminRole seems to
  be present in the jar and war files generated in my webapp maven install,
  but when I execute jetty:run I get the following error when the webapp is
  starting:
 
  org.reflections.ReflectionsException: could not get type for name
  org.isisaddons.module.togglz.glue.seed.TogglzModuleAdminRole
  at org.reflections.ReflectionUtils.forName(ReflectionUtils.java:389)
  at org.reflections.ReflectionUtils.forNames(ReflectionUtils.java:398)
  at org.reflections.Reflections.getSubTypesOf(Reflections.java:357)
  at
 
 org.apache.isis.applib.services.classdiscovery.ClassDiscoveryServiceUsingReflections.findSubTypesOfClasses(ClassDiscoveryServiceUsingReflections.java:82)
  at
 
 org.apache.isis.applib.fixturescripts.FixtureScripts.findSubTypesOfClasses(FixtureScripts.java:238)
  at
 
 org.apache.isis.applib.fixturescripts.FixtureScripts.findAndInstantiateFixtureScripts(FixtureScripts.java:215)
  at
 
 org.apache.isis.applib.fixturescripts.FixtureScripts.getFixtureScriptList(FixtureScripts.java:207)
  at
 
 org.apache.isis.applib.fixturescripts.FixtureScripts.disableRunFixtureScript(FixtureScripts.java:306)
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at
 
 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
  at
 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  at java.lang.reflect.Method.invoke(Method.java:601)
  at
 
 org.apache.isis.core.commons.lang.MethodExtensions.invoke(MethodExtensions.java:53)
  at
 
 org.apache.isis.core.metamodel.adapter.ObjectAdapter$InvokeUtils.invoke(ObjectAdapter.java:358)
  at
 
 org.apache.isis.core.metamodel.adapter.ObjectAdapter$InvokeUtils.invoke(ObjectAdapter.java:362)
  at
 
 org.apache.isis.core.metamodel.facets.members.disabled.method.DisableForContextFacetViaMethod.disables(DisableForContextFacetViaMethod.java:83)
  at
 
 org.apache.isis.core.metamodel.interactions.InteractionUtils.isUsableResult(InteractionUtils.java:50)
  at
 
 org.apache.isis.core.metamodel.specloader.specimpl.ObjectMemberAbstract.isUsableResult(ObjectMemberAbstract.java:260)
  at
 
 org.apache.isis.core.metamodel.specloader.specimpl.ObjectMemberAbstract.isUsable(ObjectMemberAbstract.java:255)
  at
 
 org.apache.isis.viewer.wicket.ui.components.actionmenu.serviceactions.CssMenuItem.newSubMenuItem(CssMenuItem.java:320)
  at
 
 org.apache.isis.viewer.wicket.ui.components.actionmenu.serviceactions.ServiceActionUtil.buildMenuItems(ServiceActionUtil.java:111)
  at
 
 org.apache.isis.viewer.wicket.ui.components.actionmenu.serviceactions.ServiceActionUtil.buildMenu(ServiceActionUtil.java:87)
  at
 
 org.apache.isis.viewer.wicket.ui.components.actionmenu.serviceactions.ServiceActionsPanelFactory.createComponent(ServiceActionsPanelFactory.java:58)
  at
 
 org.apache.isis.viewer.wicket.viewer.registries.components.ComponentFactoryRegistryDefault.createComponent(ComponentFactoryRegistryDefault.java:128)
  at
 
 org.apache.isis.viewer.wicket.ui.components.header.HeaderPanel.addMenuBar(HeaderPanel.java:140)
  at
 
 org.apache.isis.viewer.wicket.ui.components.header.HeaderPanel.addServiceActionMenuBars(HeaderPanel.java:133)
  at
 
 org.apache.isis.viewer.wicket.ui.components.header.HeaderPanel.onInitialize(HeaderPanel.java:78)
  at org.apache.wicket.Component.fireInitialize(Component.java:876)
  at
  org.apache.wicket.MarkupContainer$3.component(MarkupContainer.java:967)
  at
  org.apache.wicket.MarkupContainer$3.component(MarkupContainer.java:963)
  at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:144)
  at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:162)
  at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:123)
  at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:192)
  at
  org.apache.wicket.MarkupContainer.visitChildren(MarkupContainer.java:875)
  at
 
 org.apache.wicket.MarkupContainer.internalInitialize

Re: SimpleApp archetype and Java 8

2015-07-13 Thread Martin Grigorov
Hi,

Latest Isis actually requires JDK 1.8 (see [1]).
Use Isis 1.9.0-SNAPSHOT and all should be fine.
Almost everyone here uses -SNAPSHOT version for developing new apps.

1.
https://github.com/apache/isis/blob/master/example/archetype/simpleapp/src/main/resources/archetype-resources/pom.xml#L77

Martin Grigorov
Freelancer. Available for hire!
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Mon, Jul 13, 2015 at 2:24 PM, Ilkka Seppälä iluwa...@gmail.com wrote:

 Hi,

 I'm trying to get started with Isis using the SimpleApp archetype. Out of
 the box it compiles fine on the command line and in the IDE. However, I
 would like to use Java 8 so in the parent pom.xml I changed
 maven-compiler-plugin configuration to 1.8. Following this change I needed
 to change one line in SimpleObjects.java. Line 62 changed from

 return container.allMatches(new QueryDefault(SimpleObject.class,
 findByName, name, name));

 to

 return container.allMatches(new
 QueryDefaultSimpleObject(SimpleObject.class, findByName, name,
 name));

 After this change my IDE shows no errors, but on the command line when I
 run mvn clean install it aborts with the following error:

 [ERROR] Failed to execute goal
 org.datanucleus:datanucleus-maven-plugin:3.3.2:enhance (default) on project
 naked-objects-dom: Error executing DataNucleus tool
 org.datanucleus.enhancer.DataNucleusEnhancer:InvocationTargetException:
 IllegalArgumentException - [Help 1]

 Is it possible to enable Java 8 support for Apache Isis?

 -Ilkka



Re: Calling any IntelliJ users

2015-07-13 Thread Martin Grigorov
See http://isis.apache.org/guides/cg.html#plugins

Martin Grigorov
Freelancer. Available for hire!
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Mon, Jul 13, 2015 at 3:02 PM, Vladimir Nišević vnise...@gmail.com
wrote:

 Hi Dan, clickling the link [1] brings up a 404 Not Found

 Regs,Vladimir

 2015-07-08 9:56 GMT+02:00 Dan Haywood d...@haywood-associates.co.uk:

  Hi folks,
 
  for those of you using IntelliJ, I just updated our website to reference
  the new and improved maven helper plugin that you can install [1].
 This
  now has a nice dependency tree view, as well as some other useful
 features.
 
  The dependency tree view was the one feature that I missed from Eclipse,
 so
  it's nice to finally have something comparable.
 
  Cheers
  Dan
 
  [1] http://isis.apache.org/guides/dg.html#_maven_helper_plugin
 



Re: User Guide / Wicket Viewer / Brand logo / Configuration

2015-07-10 Thread Martin Grigorov
Hi,

Wicket automatically calculates the context relative path for plain HTML
img elements in your markup.
In the current case the img element is connected to a Java component,
i.e. it has wicket:id attribute, and that's why Wicket doesn't apply any
special logic on it.
IMO we should improve Isis to always calculate context relative path for
the logo url.
Please file a ticket!

Martin Grigorov
Freelancer. Available for hire!
Wicket Training and Consulting
https://twitter.com/mtgrigorov

2015-07-10 10:16 GMT+03:00 Rade, Joerg / Kuehne + Nagel / Ham GI-PS 
joerg.r...@kuehne-nagel.com:

 Hi Martin,

 just rechecked - doesn't work for me (1.9.0-SNAPSHOT).
 Next: generated the simple app from the maven archetype and diffed my
 web.xml against the generated - nothing;-(
 Then I fixed my web.xml (param-valuewebapp.SimpleApplication) to match my
 package name. No success either.

 In [1] usage of ContextRelativeResource together with removing the leading
 slash was the accepted solution.
 How would that look like together with com.google.inject.bind?

 Thanks in advance
 Jörg

 [1]
 http://stackoverflow.com/questions/12028502/how-do-i-link-to-my-image-folder-inside-my-apache-wicket-application
 -Ursprüngliche Nachricht-
 Von: Martin Grigorov [mailto:mgrigo...@apache.org]
 Gesendet: Donnerstag, 9. Juli 2015 22:06
 An: users
 Betreff: Re: User Guide / Wicket Viewer / Brand logo / Configuration

 Hi,

 Try with
 bind(String.class).annotatedWith(Names.named(brandLogoHeader))
   .toInstance(images/knife-logo-header.png);

 note the missing leading slash before 'images'.

 Martin Grigorov
 Freelancer. Available for hire!
 Wicket Training and Consulting
 https://twitter.com/mtgrigorov

 2015-07-09 15:19 GMT+03:00 Rade, Joerg / Kuehne + Nagel / Ham GI-PS 
 joerg.r...@kuehne-nagel.com:

  Hi,
 
  bind(String.class).annotatedWith(Names.named(brandLogoHeader))
 
  .toInstance(/images/knife-logo-header.png);
 
  Didn't work for me. I had to specify
  /sdm-webapp/images/knife-logo-header.png.
 
  Could there be something I specified wrong somewhere else? Web.xml?
 
  Thanks in advance
  Jörg
 
  Kühne + Nagel (AG  Co.) KG
  Rechtsform: Kommanditgesellschaft, Bremen HRA 21928, USt-IdNr.: DE
  812773878.
  Geschäftsleitung Kühne + Nagel (AG  Co.) KG: Reiner Heiken (Vors.),
  Dirk Blesius, Martin Brinkmann, Matthias Heimbach, Jan-Hendrik
  Köstergarten, Christian Solf, Lars Wedel, Jens Wollesen.
  Persönlich haftende Gesellschafterin: Kühne  Nagel A.G., Rechtsform:
  Aktiengesellschaft nach luxemburgischem Recht, HR-Nr.: B 18745,
  Geschäftsführendes Verwaltungsratsmitglied: Karl Gernandt.
  Geschäftsleitung Region Westeuropa: Yngve Ruud (Vors.), Richard Huhn,
  Björn Johansson, Jan Kunze, Bruno Mang, Stefan Paul, Holger Ketz,
  Dominic Edmonds.
 
  Wir arbeiten ausschließlich auf Grundlage der Allgemeinen Deutschen
  Spediteursbedingungen (ADSp), jeweils neuester Fassung. Wir verweisen
  insbesondere auf die vom Gesetz abweichenden Haftungsbeschränkungen
  von Ziffer 23 und 24 ADSp. Den vollständigen Text der ADSp übersenden
  wir Ihnen gerne auf Anfrage und können Sie auch unter
  http://www.kuehne-nagel.com einsehen. Ergänzend wird vereinbart, dass
  (1) Ziffer 27 ADSp im Rahmen internationaler Übereinkommen weder
  unsere Haftung noch die Zurechnung des Verschuldens von Leuten und
  sonstigen Dritten zu Gunsten des Auftraggebers erweitert, und (2) wir
  in den im deutschen Seehandelsrecht aufgeführten Fällen des nautischen
  Verschuldens oder Feuer an Bord nur für eigenes Verschulden und (3) im
  Sinne der CMNI genannten Voraussetzungen nicht für nautisches
 Verschulden, Feuer an Bord oder Mängel des Schiffes haften.
 

 Kühne + Nagel (AG  Co.) KG
 Rechtsform: Kommanditgesellschaft, Bremen HRA 21928, USt-IdNr.: DE
 812773878.
 Geschäftsleitung Kühne + Nagel (AG  Co.) KG: Reiner Heiken (Vors.), Dirk
 Blesius, Martin Brinkmann, Matthias Heimbach, Jan-Hendrik Köstergarten,
 Christian Solf, Lars Wedel, Jens Wollesen.
 Persönlich haftende Gesellschafterin: Kühne  Nagel A.G., Rechtsform:
 Aktiengesellschaft nach luxemburgischem Recht, HR-Nr.: B 18745,
 Geschäftsführendes Verwaltungsratsmitglied: Karl Gernandt.
 Geschäftsleitung Region Westeuropa: Yngve Ruud (Vors.), Richard Huhn,
 Björn Johansson, Jan Kunze, Bruno Mang, Stefan Paul, Holger Ketz, Dominic
 Edmonds.

 Wir arbeiten ausschließlich auf Grundlage der Allgemeinen Deutschen
 Spediteursbedingungen (ADSp), jeweils neuester Fassung. Wir verweisen
 insbesondere auf die vom Gesetz abweichenden Haftungsbeschränkungen von
 Ziffer 23 und 24 ADSp. Den vollständigen Text der ADSp übersenden wir Ihnen
 gerne auf Anfrage und können Sie auch unter http://www.kuehne-nagel.com
 einsehen. Ergänzend wird vereinbart, dass (1) Ziffer 27 ADSp im Rahmen
 internationaler Übereinkommen weder unsere Haftung noch die Zurechnung des
 Verschuldens von Leuten und sonstigen Dritten zu Gunsten des Auftraggebers
 erweitert, und (2) wir in den im deutschen

Re: User Guide / Wicket Viewer / Brand logo / Configuration

2015-07-09 Thread Martin Grigorov
Hi,

Try with
bind(String.class).annotatedWith(Names.named(brandLogoHeader))
  .toInstance(images/knife-logo-header.png);

note the missing leading slash before 'images'.

Martin Grigorov
Freelancer. Available for hire!
Wicket Training and Consulting
https://twitter.com/mtgrigorov

2015-07-09 15:19 GMT+03:00 Rade, Joerg / Kuehne + Nagel / Ham GI-PS 
joerg.r...@kuehne-nagel.com:

 Hi,

 bind(String.class).annotatedWith(Names.named(brandLogoHeader))
   .toInstance(/images/knife-logo-header.png);

 Didn't work for me. I had to specify
 /sdm-webapp/images/knife-logo-header.png.

 Could there be something I specified wrong somewhere else? Web.xml?

 Thanks in advance
 Jörg

 Kühne + Nagel (AG  Co.) KG
 Rechtsform: Kommanditgesellschaft, Bremen HRA 21928, USt-IdNr.: DE
 812773878.
 Geschäftsleitung Kühne + Nagel (AG  Co.) KG: Reiner Heiken (Vors.), Dirk
 Blesius, Martin Brinkmann, Matthias Heimbach, Jan-Hendrik Köstergarten,
 Christian Solf, Lars Wedel, Jens Wollesen.
 Persönlich haftende Gesellschafterin: Kühne  Nagel A.G., Rechtsform:
 Aktiengesellschaft nach luxemburgischem Recht, HR-Nr.: B 18745,
 Geschäftsführendes Verwaltungsratsmitglied: Karl Gernandt.
 Geschäftsleitung Region Westeuropa: Yngve Ruud (Vors.), Richard Huhn,
 Björn Johansson, Jan Kunze, Bruno Mang, Stefan Paul, Holger Ketz, Dominic
 Edmonds.

 Wir arbeiten ausschließlich auf Grundlage der Allgemeinen Deutschen
 Spediteursbedingungen (ADSp), jeweils neuester Fassung. Wir verweisen
 insbesondere auf die vom Gesetz abweichenden Haftungsbeschränkungen von
 Ziffer 23 und 24 ADSp. Den vollständigen Text der ADSp übersenden wir Ihnen
 gerne auf Anfrage und können Sie auch unter http://www.kuehne-nagel.com
 einsehen. Ergänzend wird vereinbart, dass (1) Ziffer 27 ADSp im Rahmen
 internationaler Übereinkommen weder unsere Haftung noch die Zurechnung des
 Verschuldens von Leuten und sonstigen Dritten zu Gunsten des Auftraggebers
 erweitert, und (2) wir in den im deutschen Seehandelsrecht aufgeführten
 Fällen des nautischen Verschuldens oder Feuer an Bord nur für eigenes
 Verschulden und (3) im Sinne der CMNI genannten Voraussetzungen nicht für
 nautisches Verschulden, Feuer an Bord oder Mängel des Schiffes haften.



Re: Error when building todoapp

2015-06-07 Thread Martin Grigorov
Hi,

Please paste the stacktrace so we can see where and why it happens.
Thanks!

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Sun, Jun 7, 2015 at 3:35 PM, James Agada james.ag...@cwg-plc.com wrote:

  Any one with an idea of how to fix this?
  James Agada
  Chief Technology Officer


  On Jun 6, 2015, at 6:46 PM, James Agada james.ag...@cwg-plc.com wrote:

  If I add another domain object to the todoapp I get the error. But when
 i build the todoapp by itself it builds. is there a way to add an
 additional domain class to extend the todoapp? Why is it repeatedly
 creating isissettings.UserSetting and then failing with complaint that
 table already exists?
  James Agada
  Chief Technology Officer


  On Jun 5, 2015, at 6:56 PM, James Agada james.ag...@cwlgroup.com wrote:

  I am trying to build the today but I am getting this error
 18:40:20,299  [DatastoreThread-12  ERROR]  Error thrown
 executing CREATE TABLE isissettings.UserSetting
 (
 key NVARCHAR(128) NOT NULL,
 user NVARCHAR(50) NOT NULL,
 description NVARCHAR(254) NULL,
 type NVARCHAR(20) NOT NULL,
 valueRaw NVARCHAR(255) NOT NULL,
 CONSTRAINT UserSetting_PK PRIMARY KEY (key,user)
 ) : object name already exists: UserSetting in statement [CREATE TABLE
 isissettings.UserSetting
 (
 key NVARCHAR(128) NOT NULL,
 user NVARCHAR(50) NOT NULL,
 description NVARCHAR(254) NULL,
 type NVARCHAR(20) NOT NULL,
 valueRaw NVARCHAR(255) NOT NULL,
 CONSTRAINT UserSetting_PK PRIMARY KEY (key,user)
 )]
 java.sql.SQLSyntaxErrorException: object name already exists: UserSetting
 in statement [CREATE TABLE isissettings.UserSetting
 (
 key NVARCHAR(128) NOT NULL,
 user NVARCHAR(50) NOT NULL,
 description NVARCHAR(254) NULL,
 type NVARCHAR(20) NOT NULL,
 valueRaw NVARCHAR(255) NOT NULL,
 CONSTRAINT UserSetting_PK PRIMARY KEY (key,user)
 )]
 at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source)

  I did not make any changes. I am using 1.9.0-snapshot.
 Rgds
  James Agada
  Chief Technology Officer

 PastedGraphic-3.pngwww.openshopen.ng.jpg


 This email and any attachment thereto are confidential and priviledged. if
 you have received it in error, please delete immediately and notify the
 sender. Do not disclose, copy, circulate or in any way use it. The
 information contained therein is for the address only, if you reply on it,
 its at your own risk. Emails are not guaranteed to be secure or error free,
 the message and any attachment could be intercepted, corrupted, lost,
 delayed, incomplete or ammended. Computer warehouse group and its divisions
 do not accept liability for damage caused by this email or any attachment.
 The message you tried to print is protected with Information Rights
 Management. You don't have the necessary user rights to print the message.
 This email and any attachment thereto are confidential and priviledged. if
 you have received it in error, please delete immediately and notify the
 sender. Do not disclose, copy, circulate or in any way use it. The
 information contained therein is for the address only, if you reply on it,
 its at your own risk. Emails are not guaranteed to be secure or error free,
 the message and any attachment could be intercepted, corrupted, lost,
 delayed, incomplete or ammended. Computer warehouse group and its divisions
 do not accept liability for damage caused by this email or any attachment.
 The message you tried to print is protected with Information Rights
 Management. You don't have the necessary user rights to print the message.


 This email and any attachment thereto are confidential and priviledged. if
 you have received it in error, please delete immediately and notify the
 sender. Do not disclose, copy, circulate or in any way use it. The
 information contained therein is for the address only, if you reply on it,
 its at your own risk. Emails are not guaranteed to be secure or error free,
 the message and any attachment could be intercepted, corrupted, lost,
 delayed, incomplete or ammended. Computer warehouse group and its divisions
 do not accept liability for damage caused by this email or any attachment.
 The message you tried to print is protected with Information Rights
 Management. You don't have the necessary user rights to print the message.



Re: Property validation

2015-06-06 Thread Martin Grigorov
Right.
It should return String with the error description. Or TranslatableString
if you need to support several languages.
At which page did you see this example? We should fix it.
On Jun 6, 2015 5:54 PM, Kevin Meyer ke...@kmz.co.za wrote:

 At first glance, your validate method must have return type String.
 Cheers,
 Kevin


 On 6 June 2015 15:11:53 CEST, James Agada james.ag...@cwg-plc.com wrote:
 What is the correct way to put validation for property. The one from
 the site is obviously not correct as the validateXxx does not have a
 return type. I m continually having this error
 2: todoapp.dom.module.game.GameEntity#validateClosingDate: has prefix
 validate, is probably a supporting method for a property, collection or
 action.  If the method is intended to be an action, then rename and use
 @ActionLayout(named=...) or ignore completely using @Programmatic
 
 
 public class Exam {
 public int getMark() { ... }
 public void setMark(int mark) { ... }
 public validateMark(int mark) {
return !withinRange(mark)? Mark must be in range 0 to 30:null;
 }
 private boolean withinRange(int mark) { return mark = 0  mark = 30;
 }
 }
 
 James Agada
 Chief Technology Officer
 

 [cid:03079D33-D6EF-43C4-BC68-409961ED49D7][cid:0A85BA30-39DD-4C9D-AF4D-6ECD6761CB96]
 
 This email and any attachment thereto are confidential and priviledged.
 if you have received it in error, please delete immediately and notify
 the sender. Do not disclose, copy, circulate or in any way use it. The
 information contained therein is for the address only, if you reply on
 it, its at your own risk. Emails are not guaranteed to be secure or
 error free, the message and any attachment could be intercepted,
 corrupted, lost, delayed, incomplete or ammended. Computer warehouse
 group and its divisions do not accept liability for damage caused by
 this email or any attachment. The message you tried to print is
 protected with Information Rights Management. You don't have the
 necessary user rights to print the message.

 --
 Sent from my phone with K-9 Mail.
 Please excuse my brevity.


Re: custom component using jQuery in modal window

2015-05-18 Thread Martin Grigorov
Hi,

What exactly you have tried?
Please show us some code.

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Mon, May 18, 2015 at 1:19 PM, Erik de Hair e.deh...@pocos.nl wrote:

 Hi,

 I've written a custom component for displaying a 'help'-icon with a
 tooltip (using [1]) next to a String-field. This does work when the
 String-panel is rendered in an entity form or view model. When rendered in
 a modal window though (after calling an action with params), the icon is
 shown but the tool tip isn't. It looks like no jquery-code for attaching
 the tooltip to the component is added to the html in this case.

 I tried to do this like the JodaLocalDatePanel but with no effect. Any
 idea?

 Thanks,
 Erik

 [1] http://www.7thweb.net/wicket-jquery-ui/tooltip/CustomTooltipPage



Re: error when uploading image (BLOB)

2015-05-15 Thread Martin Grigorov
Hi,

According to https://josm.openstreetmap.de/ticket/10675 this has been
broken with JDK 8_40.

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Fri, May 15, 2015 at 2:57 PM, johandoornen...@filternet.nl wrote:

 Hi,



 Does anybody recognize this one?

 (Using MySql db)


 HTTP ERROR 500

 Problem accessing /simple/wicket/entity. Reason:

 Server Error



 Caused by:

 javax.servlet.ServletException: Filtered request failed.

 at
 org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:384)

 at
 org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)

 at
 org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)

 at
 org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)

 at
 org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)

 at
 org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577)

 at
 org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)

 at
 org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1125)

 at
 org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)

 at
 org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)

 at
 org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1059)

 at
 org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)

 at
 org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:215)

 at
 org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:110)

 at
 org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)

 at org.eclipse.jetty.server.Server.handle(Server.java:497)

 at
 org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310)

 at
 org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:248)

 at
 org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)

 at
 org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:620)

 at
 org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:540)

 at java.lang.Thread.run(Thread.java:745)

 Caused by: java.lang.NoClassDefFoundError: Could not initialize
 class com.sun.imageio.plugins.jpeg.JPEGImageReader

 at
 com.sun.imageio.plugins.jpeg.JPEGImageReaderSpi.createReaderInstance(JPEGImageReaderSpi.java:85)

 at
 javax.imageio.spi.ImageReaderSpi.createReaderInstance(ImageReaderSpi.java:320)

 at javax.imageio.ImageIO$ImageReaderIterator.next(ImageIO.java:529)

 at javax.imageio.ImageIO$ImageReaderIterator.next(ImageIO.java:513)

 at javax.imageio.ImageIO.read(ImageIO.java:1443)

 at javax.imageio.ImageIO.read(ImageIO.java:1352)

 at
 org.apache.isis.viewer.wicket.ui.components.scalars.isisapplib.IsisBlobOrClobPanelAbstract.asBufferedImage(IsisBlobOrClobPanelAbstract.java:161)

 at
 org.apache.isis.viewer.wicket.ui.components.scalars.isisapplib.IsisBlobOrClobPanelAbstract.asWicketImage(IsisBlobOrClobPanelAbstract.java:140)

 at
 org.apache.isis.viewer.wicket.ui.components.scalars.isisapplib.IsisBlobOrClobPanelAbstract.addComponentForRegular(IsisBlobOrClobPanelAbstract.java:102)

 at
 org.apache.isis.viewer.wicket.ui.components.scalars.isisapplib.IsisBlobOrClobPanelAbstract.addComponentForRegular(IsisBlobOrClobPanelAbstract.java:59)

 at
 org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelAbstract.buildGui(ScalarPanelAbstract.java:230)

 at
 org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelAbstract.onBeforeRender(ScalarPanelAbstract.java:186)

 at
 org.apache.wicket.Component.internalBeforeRender(Component.java:935)

 at org.apache.wicket.Component.beforeRender(Component.java:1003)

 at
 org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1684)

 at org.apache.wicket.Component.onBeforeRender(Component.java:3811)

 at
 org.apache.wicket.Component.internalBeforeRender(Component.java:935)

 at org.apache.wicket.Component.beforeRender(Component.java:1003)

 at
 org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1684)

 at org.apache.wicket.Component.onBeforeRender(Component.java:3811)

 at
 org.apache.wicket.markup.repeater.AbstractRepeater.onBeforeRender(AbstractRepeater.java:143)

 at
 org.apache.wicket.Component.internalBeforeRender(Component.java:935)

 at org.apache.wicket.Component.beforeRender(Component.java:1003

  1   2   3   >