Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 9907E200D43 for ; Tue, 21 Nov 2017 18:09:25 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id 97AA2160BFC; Tue, 21 Nov 2017 17:09:25 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id E29EE160BE3 for ; Tue, 21 Nov 2017 18:09:23 +0100 (CET) Received: (qmail 36738 invoked by uid 500); 21 Nov 2017 17:09:23 -0000 Mailing-List: contact users-help@isis.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: users@isis.apache.org Delivered-To: mailing list users@isis.apache.org Received: (qmail 36724 invoked by uid 99); 21 Nov 2017 17:09:22 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 21 Nov 2017 17:09:22 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id 74FDE1806CF for ; Tue, 21 Nov 2017 17:09:21 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 3.58 X-Spam-Level: *** X-Spam-Status: No, score=3.58 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=2, KAM_COUK=1.1, LOTS_OF_MONEY=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RCVD_IN_SORBS_SPAM=0.5, SPF_PASS=-0.001] autolearn=disabled Authentication-Results: spamd3-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=haywood-associates-co-uk.20150623.gappssmtp.com Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id W3cc6cWJFmq3 for ; Tue, 21 Nov 2017 17:09:10 +0000 (UTC) Received: from mail-it0-f47.google.com (mail-it0-f47.google.com [209.85.214.47]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTPS id 6CD375FDD4 for ; Tue, 21 Nov 2017 17:09:09 +0000 (UTC) Received: by mail-it0-f47.google.com with SMTP id 187so1079610iti.5 for ; Tue, 21 Nov 2017 09:09:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=haywood-associates-co-uk.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=SgiwLMeH5inw64s9hStq24qN3XPGMrGX3qUxdhu/rkQ=; b=xAmKfqGVdBSayrqz2tYwIsQLSR76FLj5ijf+wVV2KWY0jET+Il+FOLXsaY+BA0P/Dl Jc+4Hlw2AwN8kpKDBb0R2/reTpOg6AxULivNhz8IAj+XzG2K9h+calKuIYpYgIaZ2lw/ LbQ0vqGNViNyWkiRqJMXe/Zm0jUn8SE2yYVDHbzLQoe0L/HoTo64rSbpvsHpapv3vq2x wffheDBlDbPTrEz7hyLUAPRNUGIfzx5SoS1b/vidAGZP6PTsFahg9CSRQkng7iJ2RhIB 6FhrNzgBa6uH5ZE0YXGXcToRUpIauww2uviUZhs9izNf6QlCFtl4o5KV5IXPexqYW96H 6zyw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=SgiwLMeH5inw64s9hStq24qN3XPGMrGX3qUxdhu/rkQ=; b=npnOT/0akVSTNrG9K3VlZzWkk1gwaLUzFEUuSmURWX9WhTk7Y8QHoW+pnSVTrgcR0I ivWD2yn1Pj47epO8iX3K8tKeGDkh9tn/XzjsmqQkcgaA8BxItSUpWjtZmeCbfvNVHHM9 W7/TDORxamsIdSrau08IKbGWh7K2aTNS1NzARwBAqr1USQkCfgkeZEFrsbLj6frGJsFD WmyqLmSXH8izAUVWbTfCxHI5IovZodJAHU492xkzbYrjM99h0H93XXEEOlnC7z5jZUo5 rToyVpGQjUC8zsJVPdJBvH3gPc6As7rnE+s293qER29N4PhNxsG7ZrlXnLRPMdMzikCG qeiw== X-Gm-Message-State: AJaThX6vri62YFJb5oKRVvKCOLak9enFoy0cAepyjbnmfOC8LKB9u+Au KamnuSP9cNw1GxZvBCYBsp+oSDg/6LfhI2J8aDkQv5o2 X-Google-Smtp-Source: AGs4zMYZ6KjsS+PvVG10Wvb1xGntqc3YEDT7Jtr2KCMHj5qB5vbXqCkuNJz42S6DcDt0CIpPj3K9tOdgBmg69md6EMI= X-Received: by 10.36.225.136 with SMTP id n130mr2826099ith.20.1511284147650; Tue, 21 Nov 2017 09:09:07 -0800 (PST) MIME-Version: 1.0 References: <20171108-170746.12jihah78-msva@mailcc03> <9B5323A02AF8FC44ABA9883B957B35D63409A11F@DCEEXMBX17.ger.win.int.kn> In-Reply-To: From: Dan Haywood Date: Tue, 21 Nov 2017 17:08:56 +0000 Message-ID: Subject: Re: Menu getAll action returns table with many sql queries for each entry To: users@isis.apache.org Content-Type: multipart/alternative; boundary="94eb2c19dbf2c6985c055e81421b" archived-at: Tue, 21 Nov 2017 17:09:25 -0000 --94eb2c19dbf2c6985c055e81421b Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Yes, there's a ticket [1]. With respect to a query returning a million times etc., I take the view that this would be a modelling error... No user wants to browse over so many rows. I think the framework should, therefore, automatically limit the number of rows, eg to 1000 (configurable). I'll look to do that in the same ticket. Thx, Dan. [1] https://issues.apache.org/jira/browse/ISIS-1774 On Fri, 17 Nov 2017 at 10:46 Serdar Hamzaogullari wrote: > Hi Dan, > > Let me remind you that also: at the first table render still we have a > Select all sql query right ? Think we have one million record on table. > Select all and buffer these objects at memory can cause an out of memory. > At the first table render before pagination you can apply the pagination > first page operation so that we never have a select all query. > > Did you create a ticket for this pagination issue ? How can I follow ? Ca= n > I contribute ? I did not go inside the isis codes before. Maybe you can > point me to the related codes. > > On Fri, Nov 17, 2017 at 1:03 PM, Dan Haywood > > wrote: > > > Hi Serdar, > > Yeah, saw your email, been mulling on the best solution for this. > > > > The issue is that behind the scenes Isis creates a serializable (wicket= ) > > model which is the identity (oid) of each object to be rendered. When > the > > user navigates to the second page, we just render the next set of objec= ts > > from this list, rehyrdating each from the serialized oid one by one. > > > > I can think of two possible improvements. > > > > The first, probably easier, would be to keep the same general > architecture, > > but to optimize things so that the framework does a single bulk request > of > > all object to be rendered. I would imagine that would result in a sing= le > > SELECT FROM WHERE id in (x, y, z, a, b, ...) . That's fine for a > small-ish > > number of objects (for example, SQL Server and Sybase have an upper lim= it > > of ~1000 before they table scan). > > > > The second idea I have would be to change the architecture such that on > > pagination we resubmit the original query, but then keep track of where > > we're up to, eg instances 16~30 or 31~45 etc. I think that would be mo= re > > work because the table being rendered would need to keep a memento of > that > > query, as well as which page we're on. > > > > I'll have a go at implementing the first idea as a first pass; hopefull= y > > will be quite easy. > > > > Thx > > Dan > > > > On Fri, 17 Nov 2017 at 09:15 Serdar Hamzaogullari < > hasan.serdar@foreks.com > > > > > wrote: > > > > > Hello Dan, > > > > > > Maybe you missed my email. Did you investigate the pagination > performance > > > problem that I indicated in my previous email ? > > > > > > On Mon, Nov 13, 2017 at 11:50 AM, Serdar Hamzaogullari < > > > hasan.serdar@foreks.com> wrote: > > > > > > > Hi Dan, > > > > > > > > Thanks for the solution. I tried it and it works fine for get all > menu > > > > action however if I click to any page in the pagination list I see > the > > > sql > > > > queries for all entries again. > > > > > > > > I think we need to solve the pagination performance problem. > > > > > > > > On Sun, Nov 12, 2017 at 7:57 PM, Dan Haywood < > > > dan@haywood-associates.co.uk > > > > > wrote: > > > > > > > >> Hi Serdar, > > > >> > > > >> I did. And here's the thing ... the framework has always done thi= s > > (at > > > >> least since 1.8.0, which was the first version I tested). So, my > > > >> apologies > > > >> for indicating otherwise. > > > >> > > > >> Clearly we ought to do better here, and I do have a workaround whi= ch > > you > > > >> could try out. In your application's DomainApplication (subclass = of > > > >> IsisWicketApplication), add the following to the end of the init() > > > method: > > > >> > > > >> > > > >> getRequestCycleSettings().setRenderStrategy(RequestCycleSett > > > >> ings.RenderStrategy.REDIRECT_TO_BUFFER); > > > >> > > > >> By default we use the REDIRECT_TO_RENDER strategy ... I dimly reca= ll > > my > > > >> rationale as being that it's "safer"; this Wicket wiki page [1] > > explains > > > >> the difference. However, this is what causes the 1+N loading that > we > > > see. > > > >> A first Isis/DN session is used to select the objects, and memento= s > > for > > > >> all > > > >> retrieved objects are captured. This first session is then closed= . > > On > > > >> render, we then open a new Isis/DN session and use those mementos = to > > > >> retrieve all objects one by one. > > > >> > > > >> Using REDIRECT_TO_BUFFER means that all the work is done in a sing= le > > > >> session, avoiding the issue. > > > >> > > > >> My limited testing didn't throw up any adverse effects to switchin= g > to > > > >> REDIRECT_TO_BUFFER, and I've raised a ticket [2] to explore changi= ng > > > this > > > >> behaviour. > > > >> > > > >> Thanks for raising this, let me know how you get on. > > > >> > > > >> Cheers > > > >> Dan > > > >> > > > >> [1] > > > https://cwiki.apache.org/confluence/display/WICKET/Render+strategies > > > >> [2] https://issues.apache.org/jira/browse/ISIS-1774 > > > >> > > > >> > > > >> On Sat, 11 Nov 2017 at 20:30 Serdar Hamzaogullari < > > > >> hasan.serdar@foreks.com> > > > >> wrote: > > > >> > > > >> > Hello Dan, > > > >> > > > > >> > Did you have a chance to take look at my github example app > > > >> > > > > >> > 9 Kas 2017 Per, saat 16:22 tarihinde Serdar Hamzaogullari < > > > >> > hasan.serdar@foreks.com> =C5=9Funu yazd=C4=B1: > > > >> > > > > >> > > Hi Dan, > > > >> > > > > > >> > > Here is a complete example of the problem > > > >> > > > > > >> > > https://github.com/radresian/apache-isis-sample > > > >> > > > > > >> > > After running the application Click the ProfilePreferences Men= u > -> > > > >> List > > > >> > > All, then you will see the SQL queries for each entry at the > > console > > > >> > logs... > > > >> > > > > > >> > > On Thu, Nov 9, 2017 at 2:17 AM, Dan Haywood < > > > >> > dan@haywood-associates.co.uk> > > > >> > > wrote: > > > >> > > > > > >> > >> Hmm, looks ok. > > > >> > >> > > > >> > >> Can you upload an example app to github so I can pull it down > and > > > >> take a > > > >> > >> closer look? > > > >> > >> > > > >> > >> Thx > > > >> > >> Dan > > > >> > >> > > > >> > >> On Wed, 8 Nov 2017 at 23:12 Serdar Hamzaogullari < > > > >> > hasan.serdar@foreks.com > > > >> > >> > > > > >> > >> wrote: > > > >> > >> > > > >> > >> > Hi J=C3=B6rg, > > > >> > >> > > > > >> > >> > IdGeneratorStrategy.IDENTITY did not help. Same result. > > > >> > >> > > > > >> > >> > Hi Dan, > > > >> > >> > > > > >> > >> > Here is my repository: > > > >> > >> > > > > >> > >> > > > > >> > >> > @DomainService( > > > >> > >> > nature =3D NatureOfService.DOMAIN, > > > >> > >> > repositoryFor =3D ProfilePreferences.class > > > >> > >> > ) > > > >> > >> > public class ProfilePreferencesRepository { > > > >> > >> > > > > >> > >> > public List listAll() { > > > >> > >> > return > > > >> > repositoryService.allInstances(ProfilePreferences.class); > > > >> > >> > } > > > >> > >> > > > > >> > >> > public ProfilePreferences get(final String name) { > > > >> > >> > return repositoryService.uniqueMatch( > > > >> > >> > new QueryDefault<>( > > > >> > >> > ProfilePreferences.class, > > > >> > >> > "get", > > > >> > >> > "name", name)); > > > >> > >> > } > > > >> > >> > > > > >> > >> > public ProfilePreferences create(final String name) { > > > >> > >> > final ProfilePreferences object =3D new > > > >> > ProfilePreferences(name); > > > >> > >> > serviceRegistry.injectServicesInto(object); > > > >> > >> > repositoryService.persist(object); > > > >> > >> > return object; > > > >> > >> > } > > > >> > >> > > > > >> > >> > @javax.inject.Inject > > > >> > >> > RepositoryService repositoryService; > > > >> > >> > @javax.inject.Inject > > > >> > >> > ServiceRegistry2 serviceRegistry; > > > >> > >> > } > > > >> > >> > > > > >> > >> > > > > >> > >> > > > > >> > >> > On Wed, Nov 8, 2017 at 8:16 PM, Dan Haywood < > > > >> > >> dan@haywood-associates.co.uk> > > > >> > >> > wrote: > > > >> > >> > > > > >> > >> > > Hi Serdar, > > > >> > >> > > > > > >> > >> > > can you show us your repository implementation? > > > >> > >> > > > > > >> > >> > > I'm wondering why you have defined a query called "Get", = I > > > >> wonder if > > > >> > >> it's > > > >> > >> > > being used in that repo (I don't think it should be, if s= o) > > > >> > >> > > > > > >> > >> > > Ta > > > >> > >> > > Dan > > > >> > >> > > > > > >> > >> > > > > > >> > >> > > On Wed, 8 Nov 2017 at 17:09 Rade, Joerg / Kuehne + Nagel = / > > Ham > > > >> > GI-DP < > > > >> > >> > > Joerg.Rade@kuehne-nagel.com> wrote: > > > >> > >> > > > > > >> > >> > > > Hi Serdar, > > > >> > >> > > > > > > >> > >> > > > did you consider: > > > >> > >> > > > > > > >> > >> > > > @javax.jdo.annotations.DatastoreIdentity( > > > >> > >> > > > strategy =3D > > > >> > >> javax.jdo.annotations.IdGeneratorStrategy.IDENTITY, > > > >> > >> > > > column =3D "id") > > > >> > >> > > > > > > >> > >> > > > instead of: > > > >> > >> > > > > > > >> > >> > > > @PrimaryKey? > > > >> > >> > > > > > > >> > >> > > > Best regards > > > >> > >> > > > J=C3=B6rg > > > >> > >> > > > > > > >> > >> > > > -----Urspr=C3=BCngliche Nachricht----- > > > >> > >> > > > Von: Serdar Hamzaogullari [mailto: > hasan.serdar@foreks.com] > > > >> > >> > > > Gesendet: Mittwoch, 8. November 2017 17:07 > > > >> > >> > > > An: users@isis.apache.org > > > >> > >> > > > Betreff: Menu getAll action returns table with many sql > > > queries > > > >> > for > > > >> > >> > each > > > >> > >> > > > entry > > > >> > >> > > > > > > >> > >> > > > Hi, > > > >> > >> > > > > > > >> > >> > > > I have a menu action like this, listAll action: > > > >> > >> > > > > > > >> > >> > > > > > > >> > >> > > > @DomainService( > > > >> > >> > > > nature =3D NatureOfService.VIEW_MENU_ONLY, > > > >> > >> > > > objectType =3D "profile-preferences-services", > > > >> > >> > > > repositoryFor =3D ProfilePreferences.class > > > >> > >> > > > ) > > > >> > >> > > > @DomainServiceLayout( > > > >> > >> > > > named =3D "Profile Preferences", > > > >> > >> > > > menuOrder =3D "3" > > > >> > >> > > > ) > > > >> > >> > > > public class ProfilePreferencesMenu { > > > >> > >> > > > > > > >> > >> > > > @Action(semantics =3D SemanticsOf.SAFE) > > > >> > >> > > > @ActionLayout(bookmarking =3D BookmarkPolicy.AS_ROO= T) > > > >> > >> > > > @MemberOrder(sequence =3D "1") > > > >> > >> > > > public List listAll() { > > > >> > >> > > > return profilePreferencesRepository.listAll(); > > > >> > >> > > > } > > > >> > >> > > > . > > > >> > >> > > > . > > > >> > >> > > > . > > > >> > >> > > > > > > >> > >> > > > My Entity is that: > > > >> > >> > > > > > > >> > >> > > > > > > >> > >> > > > @javax.jdo.annotations.PersistenceCapable( > > > >> > >> > > > identityType=3DIdentityType.APPLICATION, > > > >> > >> > > > table=3D"profile_preferences", > > > >> > >> > > > schema =3D "dbo" > > > >> > >> > > > ) > > > >> > >> > > > @javax.jdo.annotations.Version( > > > >> > >> > > > strategy=3D VersionStrategy.VERSION_NUMBER, > > > >> > >> > > > column=3D"version") > > > >> > >> > > > @javax.jdo.annotations.Queries({ > > > >> > >> > > > @javax.jdo.annotations.Query( > > > >> > >> > > > name =3D "get", > > > >> > >> > > > value =3D "SELECT " > > > >> > >> > > > + "FROM > > > >> > >> > > > > > > com.foreks.user.settings.domain.preferences.ProfilePreferences > > > >> " > > > >> > >> > > > + "WHERE > > profileName.equals(:name)") > > > >> > >> > > > }) > > > >> > >> > > > @DomainObject( > > > >> > >> > > > objectType =3D "profile-preferences" > > > >> > >> > > > ) > > > >> > >> > > > public class ProfilePreferences implements > > > >> > >> > > Comparable { > > > >> > >> > > > > > > >> > >> > > > public ProfilePreferences(final String profileName)= { > > > >> > >> > > > setProfileName(profileName); > > > >> > >> > > > } > > > >> > >> > > > > > > >> > >> > > > @javax.jdo.annotations.Column(allowsNull =3D "false= ", > > > >> length=3D > > > >> > 150) > > > >> > >> > > > @PrimaryKey > > > >> > >> > > > @Getter @Setter > > > >> > >> > > > @Title(prepend =3D "Profile Preferences: ") > > > >> > >> > > > private String profileName; > > > >> > >> > > > > > > >> > >> > > > @javax.jdo.annotations.Column(allowsNull =3D "true"= , > > length > > > >> =3D > > > >> > >> 4000) > > > >> > >> > > > @Property(editing =3D Editing.ENABLED,hidden =3D > > > >> Where.ALL_TABLES) > > > >> > >> > > > @Getter @Setter > > > >> > >> > > > private String preferences; > > > >> > >> > > > > > > >> > >> > > > //region > delete (action) > > > >> > >> > > > @Action(semantics =3D SemanticsOf.NON_IDEMPOTENT_AR= E > > > >> _YOU_SURE) > > > >> > >> > > > public void delete() { > > > >> > >> > > > final String title =3D titleService.titleOf(thi= s); > > > >> > >> > > > messageService.informUser(String.format("'%s' > > > >> deleted", > > > >> > >> > title)); > > > >> > >> > > > repositoryService.remove(this); > > > >> > >> > > > } > > > >> > >> > > > //endregion > > > >> > >> > > > > > > >> > >> > > > //region > delete (action) > > > >> > >> > > > @Action(semantics =3D SemanticsOf.NON_IDEMPOTENT) > > > >> > >> > > > public ProfilePreferences > > copy(@ParameterLayout(named=3D"P > > > >> rofile > > > >> > >> > > Name") > > > >> > >> > > > String name) { > > > >> > >> > > > final ProfilePreferences object =3D new > > > >> > >> ProfilePreferences(name); > > > >> > >> > > > object.setPreferences(preferences); > > > >> > >> > > > repositoryService.persist(object); > > > >> > >> > > > return object; > > > >> > >> > > > } > > > >> > >> > > > //endregion > > > >> > >> > > > > > > >> > >> > > > //region > toString, compareTo > > > >> > >> > > > @Override > > > >> > >> > > > public String toString() { > > > >> > >> > > > return ObjectContracts.toString(this, > > "profileName"); > > > >> > >> > > > } > > > >> > >> > > > > > > >> > >> > > > @Override > > > >> > >> > > > public int compareTo(final ProfilePreferences other= ) > { > > > >> > >> > > > return ObjectContracts.compare(this, other, > > > >> > "profileName"); > > > >> > >> > > > } > > > >> > >> > > > //endregion > > > >> > >> > > > > > > >> > >> > > > //region > injected services > > > >> > >> > > > @javax.inject.Inject > > > >> > >> > > > RepositoryService repositoryService; > > > >> > >> > > > > > > >> > >> > > > @javax.inject.Inject > > > >> > >> > > > TitleService titleService; > > > >> > >> > > > > > > >> > >> > > > @javax.inject.Inject > > > >> > >> > > > MessageService messageService; > > > >> > >> > > > //endregion > > > >> > >> > > > > > > >> > >> > > > } > > > >> > >> > > > > > > >> > >> > > > > > > >> > >> > > > When I click the List All action from the wicket viewer > > menu, > > > >> > server > > > >> > >> > logs > > > >> > >> > > > this SQL queries: > > > >> > >> > > > > > > >> > >> > > > 19:03:07,334 [Native http-nio-8080-exec-= 4 > > > DEBUG] > > > >> > >> SELECT > > > >> > >> > > > 'com.foreks.user.settings.domain.preferences. > > ProfilePreferen > > > >> ces' > > > >> > AS > > > >> > >> > > > NUCLEUS_TYPE,A0.preferences,A0.profileName,A0.version > FROM > > > >> > >> > > > dbo.profile_preferences A0 > > > >> > >> > > > 19:03:07,436 [Native http-nio-8080-exec-= 5 > > > DEBUG] > > > >> > >> SELECT > > > >> > >> > > > A0.preferences,A0.version FROM dbo.profile_preferences = A0 > > > WHERE > > > >> > >> > > > A0.profileName =3D <'ahl'> > > > >> > >> > > > 19:03:07,442 [Native http-nio-8080-exec-= 5 > > > DEBUG] > > > >> > >> SELECT > > > >> > >> > > > A0.preferences,A0.version FROM dbo.profile_preferences = A0 > > > WHERE > > > >> > >> > > > A0.profileName =3D <'akbank'> > > > >> > >> > > > 19:03:07,448 [Native http-nio-8080-exec-= 5 > > > DEBUG] > > > >> > >> SELECT > > > >> > >> > > > A0.preferences,A0.version FROM dbo.profile_preferences = A0 > > > WHERE > > > >> > >> > > > A0.profileName =3D <'bmd'> > > > >> > >> > > > 19:03:07,454 [Native http-nio-8080-exec-= 5 > > > DEBUG] > > > >> > >> SELECT > > > >> > >> > > > A0.preferences,A0.version FROM dbo.profile_preferences = A0 > > > WHERE > > > >> > >> > > > A0.profileName =3D <'DELTA'> > > > >> > >> > > > 19:03:07,460 [Native http-nio-8080-exec-= 5 > > > DEBUG] > > > >> > >> SELECT > > > >> > >> > > > A0.preferences,A0.version FROM dbo.profile_preferences = A0 > > > WHERE > > > >> > >> > > > A0.profileName =3D <'foreks'> > > > >> > >> > > > 19:03:07,466 [Native http-nio-8080-exec-= 5 > > > DEBUG] > > > >> > >> SELECT > > > >> > >> > > > A0.preferences,A0.version FROM dbo.profile_preferences = A0 > > > WHERE > > > >> > >> > > > A0.profileName =3D <'halky'> > > > >> > >> > > > 19:03:07,472 [Native http-nio-8080-exec-= 5 > > > DEBUG] > > > >> > >> SELECT > > > >> > >> > > > A0.preferences,A0.version FROM dbo.profile_preferences = A0 > > > WHERE > > > >> > >> > > > A0.profileName =3D <'hcbs'> > > > >> > >> > > > 19:03:07,477 [Native http-nio-8080-exec-= 5 > > > DEBUG] > > > >> > >> SELECT > > > >> > >> > > > A0.preferences,A0.version FROM dbo.profile_preferences = A0 > > > WHERE > > > >> > >> > > > A0.profileName =3D <'issanal'> > > > >> > >> > > > 19:03:07,483 [Native http-nio-8080-exec-= 5 > > > DEBUG] > > > >> > >> SELECT > > > >> > >> > > > A0.preferences,A0.version FROM dbo.profile_preferences = A0 > > > WHERE > > > >> > >> > > > A0.profileName =3D <'marbas'> > > > >> > >> > > > 19:03:07,489 [Native http-nio-8080-exec-= 5 > > > DEBUG] > > > >> > >> SELECT > > > >> > >> > > > A0.preferences,A0.version FROM dbo.profile_preferences = A0 > > > WHERE > > > >> > >> > > > A0.profileName =3D <'odeabank'> > > > >> > >> > > > 19:03:07,495 [Native http-nio-8080-exec-= 5 > > > DEBUG] > > > >> > >> SELECT > > > >> > >> > > > A0.preferences,A0.version FROM dbo.profile_preferences = A0 > > > WHERE > > > >> > >> > > > A0.profileName =3D <'odtu'> > > > >> > >> > > > 19:03:07,500 [Native http-nio-8080-exec-= 5 > > > DEBUG] > > > >> > >> SELECT > > > >> > >> > > > A0.preferences,A0.version FROM dbo.profile_preferences = A0 > > > WHERE > > > >> > >> > > > A0.profileName =3D <'osmanli'> > > > >> > >> > > > 19:03:07,506 [Native http-nio-8080-exec-= 5 > > > DEBUG] > > > >> > >> SELECT > > > >> > >> > > > A0.preferences,A0.version FROM dbo.profile_preferences = A0 > > > WHERE > > > >> > >> > > > A0.profileName =3D <'piramit'> > > > >> > >> > > > 19:03:07,512 [Native http-nio-8080-exec-= 5 > > > DEBUG] > > > >> > >> SELECT > > > >> > >> > > > A0.preferences,A0.version FROM dbo.profile_preferences = A0 > > > WHERE > > > >> > >> > > > A0.profileName =3D <'tebsanal'> > > > >> > >> > > > 19:03:07,517 [Native http-nio-8080-exec-= 5 > > > DEBUG] > > > >> > >> SELECT > > > >> > >> > > > A0.preferences,A0.version FROM dbo.profile_preferences = A0 > > > WHERE > > > >> > >> > > > A0.profileName =3D <'ZIRAAT'> > > > >> > >> > > > > > > >> > >> > > > > > > >> > >> > > > There is a query for each entity. The firs query > > > >> > >> > > > > > > >> > >> > > > SELECT > > > >> > >> > 'com.foreks.user.settings.domain.preferences. > > ProfilePreferences' > > > >> > >> > > > AS NUCLEUS_TYPE,A0.preferences,A0.profileName,A0.versio= n > > FROM > > > >> > >> > > > dbo.profile_preferences A0 > > > >> > >> > > > > > > >> > >> > > > should be enough. Query for every entity becomes a > > > performance > > > >> > >> problem. > > > >> > >> > > > How can I prevent this behavior ? Is there some thing > wrong > > > or > > > >> > >> missing > > > >> > >> > in > > > >> > >> > > > my Entity Class or Menu Action Class ? > > > >> > >> > > > > > > >> > >> > > > Help please :) > > > >> > >> > > > > > > >> > >> > > > -- > > > >> > >> > > > > > > >> > >> > > > > > > >> > >> > > > P > > > >> > >> > > > > > > >> > >> > > > Bu mesaji yazdirmadan =C3=B6nce =C3=A7evreye olan sorum= lulugumuzu > bir > > > kez > > > >> > daha > > > >> > >> > > > d=C3=BCs=C3=BCnelim. > > > >> > >> > > > Please consider the environment before printing this > > e-mail. > > > >> > >> > > > > > > >> > >> > > > Bu elektronik posta ve onunla iletilen b=C3=BCt=C3=BCn = dosyalar > > sadece > > > >> > >> > g=C3=B6ndericisi > > > >> > >> > > > taraf=C4=B1ndan almas=C4=B1 ama=C3=A7lanan yetkili ger= =C3=A7ek ya da t=C3=BCzel > > > ki=C5=9Finin > > > >> > >> > kullan=C4=B1m=C4=B1 > > > >> > >> > > > i=C3=A7indir. E=C4=9Fer s=C3=B6z konusu yetkili al=C4= =B1c=C4=B1 de=C4=9Filseniz bu > > > elektronik > > > >> > >> > postan=C4=B1n > > > >> > >> > > > i=C3=A7eri=C4=9Fini a=C3=A7=C4=B1klaman=C4=B1z, kopyala= man=C4=B1z, y=C3=B6nlendirmeniz ve > > > >> kullanman=C4=B1z > > > >> > >> > > > kesinlikle yasakt=C4=B1r ve bu elektronik postay=C4=B1 = derhal > > silmeniz > > > >> > >> > > gerekmektedir. > > > >> > >> > > > FOREKS bu mesaj=C4=B1n i=C3=A7erdi=C4=9Fi bilgilerin do= =C4=9Frulu=C4=9Fu veya > > eksiksiz > > > >> > oldu=C4=9Fu > > > >> > >> > > > konusunda herhangi bir garanti vermemektedir. Bu nedenl= e > bu > > > >> > >> bilgilerin > > > >> > >> > ne > > > >> > >> > > > =C5=9Fekilde olursa olsun i=C3=A7eri=C4=9Finden, iletil= mesinden, > > > al=C4=B1nmas=C4=B1ndan > > > >> ve > > > >> > >> > > > saklanmas=C4=B1ndan sorumlu de=C4=9Fildir. Bu mesajdaki= g=C3=B6r=C3=BC=C5=9Fler > > > yaln=C4=B1zca > > > >> > >> > g=C3=B6nderen > > > >> > >> > > > ki=C5=9Fiye aittir ve FOREKS'in g=C3=B6r=C3=BC=C5=9Fler= ini yans=C4=B1tmayabilir. > > > >> > >> > > > Bu e-posta bilinen b=C3=BCt=C3=BCn bilgisayar vir=C3=BC= slerine kar=C5=9F=C4=B1 > > > >> taranm=C4=B1=C5=9Ft=C4=B1r. > > > >> > >> > > > * > > > >> > >> > > > This e-mail and any files transmitted with it are > > > confidential > > > >> and > > > >> > >> > > > intended solely for the use of the individual or entity > to > > > whom > > > >> > they > > > >> > >> > are > > > >> > >> > > > addressed. > > > >> > >> > > > If you are not the intended recipient you are hereby > > notified > > > >> that > > > >> > >> any > > > >> > >> > > > dissemination, forwarding, copying or use of any of the > > > >> > information > > > >> > >> is > > > >> > >> > > > strictly prohibited, and the e-mail should immediately = be > > > >> deleted. > > > >> > >> > FOREKS > > > >> > >> > > > makes no warranty as to the accuracy or completeness of > any > > > >> > >> information > > > >> > >> > > > contained in this message and hereby excludes any > liability > > > of > > > >> any > > > >> > >> kind > > > >> > >> > > for > > > >> > >> > > > the information contained therein or for the informatio= n > > > >> > >> transmission, > > > >> > >> > > > reception, storage or use of such in any way whatsoever= . > > The > > > >> > >> opinions > > > >> > >> > > > expressed in this message belong to sender alone and ma= y > > not > > > >> > >> > necessarily > > > >> > >> > > > reflect the opinions of FOREKS. > > > >> > >> > > > This e-mail has been scanned for all known computer > > viruses. > > > >> > >> > > > > > > >> > >> > > > K=C3=BChne + Nagel (AG & Co.) KG > > > >> > >> > > > Rechtsform: Kommanditgesellschaft, Bremen HRA 21928, > > > >> USt-IdNr.: DE > > > >> > >> > > > 812773878. > > > >> > >> > > > Gesch=C3=A4ftsleitung K=C3=BChne + Nagel (AG & Co.) KG:= Dr. > Hansj=C3=B6rg > > > Rodi > > > >> > >> (Vors. > > > >> > >> > ), > > > >> > >> > > > Martin Brinkmann, Holger Ketz, Jan-Hendrik K=C3=B6sterg= arten, > > > >> Nicholas > > > >> > >> > Minde, > > > >> > >> > > > Michael Nebel, Lars Wedel, Matthias Weiner. > > > >> > >> > > > Pers=C3=B6nlich haftende Gesellschafterin: K=C3=BChne &= Nagel A.G., > > > >> > >> Rechtsform: > > > >> > >> > > > Aktiengesellschaft nach luxemburgischem Recht, HR-Nr.: = B > > > 18745, > > > >> > >> > > > Gesch=C3=A4ftsf=C3=BChrendes Verwaltungsratsmitglied: K= arl > Gernandt. > > > >> > >> > > > Gesch=C3=A4ftsleitung Region Zentral- und Osteuropa: Dr= . > > Hansj=C3=B6rg > > > >> Rodi > > > >> > >> > > (Vors.), > > > >> > >> > > > Thierry Held, Uwe H=C3=B6tt, Richard Huhn, Holger Ketz, > > > Jan-Hendrik > > > >> > >> > > > K=C3=B6stergarten, Jan Kunze, Michael Nebel, Guillaume > Sauzedde, > > > >> > Mustafa > > > >> > >> > > Sener. > > > >> > >> > > > > > > >> > >> > > > Wir arbeiten ausschlie=C3=9Flich auf Grundlage der Allg= emeinen > > > >> > Deutschen > > > >> > >> > > > Spediteurbedingungen 2017 (ADSp 2017). Hinweis: Die ADS= p > > 2017 > > > >> > >> weichen > > > >> > >> > in > > > >> > >> > > > Ziffer 23 hinsichtlich des Haftungsh=C3=B6chstbetrages = f=C3=BCr > > > >> G=C3=BCtersch=C3=A4den > > > >> > >> (=C2=A7 > > > >> > >> > 431 > > > >> > >> > > > HGB) vom Gesetz ab, indem sie die Haftung bei > multimodalen > > > >> > >> Transporten > > > >> > >> > > > unter Einschluss einer Seebef=C3=B6rderung und bei unbe= kanntem > > > >> > Schadenort > > > >> > >> > auf > > > >> > >> > > 2 > > > >> > >> > > > SZR/kg und im =C3=9Cbrigen die Regelhaftung von 8,33 SZ= R/kg > > > >> zus=C3=A4tzlich > > > >> > >> auf > > > >> > >> > > 1,25 > > > >> > >> > > > Millionen Euro je Schadenfall sowie 2,5 Millionen Euro = je > > > >> > >> > > Schadenereignis, > > > >> > >> > > > mindestens aber 2 SZR/kg, beschr=C3=A4nken. Die ADSp si= nd auf > > > >> unserer > > > >> > >> > Webseite > > > >> > >> > > > als Download erh=C3=A4ltlich. Auf Anfrage senden wir Ih= nen > diese > > > >> auch > > > >> > >> gerne > > > >> > >> > > zu. > > > >> > >> > > > > > > >> > >> > > > > > >> > >> > > > > >> > >> > -- > > > >> > >> > > > > >> > >> > > > > >> > >> > P > > > >> > >> > > > > >> > >> > Bu mesaji yazdirmadan =C3=B6nce =C3=A7evreye olan sorumlulu= gumuzu bir > kez > > > >> daha > > > >> > >> > d=C3=BCs=C3=BCnelim. > > > >> > >> > Please consider the environment before printing this e-mail= . > > > >> > >> > > > > >> > >> > Bu elektronik posta ve onunla iletilen b=C3=BCt=C3=BCn dosy= alar sadece > > > >> > g=C3=B6ndericisi > > > >> > >> > taraf=C4=B1ndan almas=C4=B1 ama=C3=A7lanan yetkili ger=C3= =A7ek ya da t=C3=BCzel > ki=C5=9Finin > > > >> > kullan=C4=B1m=C4=B1 > > > >> > >> > i=C3=A7indir. E=C4=9Fer s=C3=B6z konusu yetkili al=C4=B1c= =C4=B1 de=C4=9Filseniz bu > elektronik > > > >> > postan=C4=B1n > > > >> > >> > i=C3=A7eri=C4=9Fini a=C3=A7=C4=B1klaman=C4=B1z, kopyalaman= =C4=B1z, y=C3=B6nlendirmeniz ve > > > kullanman=C4=B1z > > > >> > >> > kesinlikle yasakt=C4=B1r ve bu elektronik postay=C4=B1 derh= al silmeniz > > > >> > >> gerekmektedir. > > > >> > >> > FOREKS bu mesaj=C4=B1n i=C3=A7erdi=C4=9Fi bilgilerin do=C4= =9Frulu=C4=9Fu veya eksiksiz > > > >> oldu=C4=9Fu > > > >> > >> > konusunda herhangi bir garanti vermemektedir. Bu nedenle bu > > > >> bilgilerin > > > >> > >> ne > > > >> > >> > =C5=9Fekilde olursa olsun i=C3=A7eri=C4=9Finden, iletilmesi= nden, > al=C4=B1nmas=C4=B1ndan > > ve > > > >> > >> > saklanmas=C4=B1ndan sorumlu de=C4=9Fildir. Bu mesajdaki g= =C3=B6r=C3=BC=C5=9Fler > yaln=C4=B1zca > > > >> > g=C3=B6nderen > > > >> > >> > ki=C5=9Fiye aittir ve FOREKS'in g=C3=B6r=C3=BC=C5=9Flerini = yans=C4=B1tmayabilir. > > > >> > >> > Bu e-posta bilinen b=C3=BCt=C3=BCn bilgisayar vir=C3=BCsler= ine kar=C5=9F=C4=B1 > > > taranm=C4=B1=C5=9Ft=C4=B1r. > > > >> > >> > * > > > >> > >> > This e-mail and any files transmitted with it are > confidential > > > and > > > >> > >> intended > > > >> > >> > solely for the use of the individual or entity to whom they > are > > > >> > >> addressed. > > > >> > >> > If you are not the intended recipient you are hereby notifi= ed > > > that > > > >> any > > > >> > >> > dissemination, forwarding, copying or use of any of the > > > >> information is > > > >> > >> > strictly prohibited, and the e-mail should immediately be > > > deleted. > > > >> > >> FOREKS > > > >> > >> > makes > > > >> > >> > no warranty as to the accuracy or completeness of any > > information > > > >> > >> contained > > > >> > >> > in this message and hereby excludes any liability of any ki= nd > > for > > > >> the > > > >> > >> > information contained therein or for the information > > > transmission, > > > >> > >> > reception, storage or use of such in any way whatsoever. Th= e > > > >> opinions > > > >> > >> > expressed in this message belong to sender alone and may no= t > > > >> > necessarily > > > >> > >> > reflect the opinions of FOREKS. > > > >> > >> > This e-mail has been scanned for all known computer viruses= . > > > >> > >> > > > > >> > >> > > > >> > > > > > >> > > > > > >> > > > > >> > -- > > > >> > > > > >> > > > > >> > P > > > >> > > > > >> > Bu mesaji yazdirmadan =C3=B6nce =C3=A7evreye olan sorumlulugumuz= u bir kez > daha > > > >> > d=C3=BCs=C3=BCnelim. > > > >> > Please consider the environment before printing this e-mail. > > > >> > > > > >> > Bu elektronik posta ve onunla iletilen b=C3=BCt=C3=BCn dosyalar = sadece > > > g=C3=B6ndericisi > > > >> > taraf=C4=B1ndan almas=C4=B1 ama=C3=A7lanan yetkili ger=C3=A7ek y= a da t=C3=BCzel ki=C5=9Finin > > > kullan=C4=B1m=C4=B1 > > > >> > i=C3=A7indir. E=C4=9Fer s=C3=B6z konusu yetkili al=C4=B1c=C4=B1 = de=C4=9Filseniz bu elektronik > > > postan=C4=B1n > > > >> > i=C3=A7eri=C4=9Fini a=C3=A7=C4=B1klaman=C4=B1z, kopyalaman=C4=B1= z, y=C3=B6nlendirmeniz ve kullanman=C4=B1z > > > >> > kesinlikle yasakt=C4=B1r ve bu elektronik postay=C4=B1 derhal si= lmeniz > > > >> gerekmektedir. > > > >> > FOREKS bu mesaj=C4=B1n i=C3=A7erdi=C4=9Fi bilgilerin do=C4=9Frul= u=C4=9Fu veya eksiksiz > oldu=C4=9Fu > > > >> > konusunda herhangi bir garanti vermemektedir. Bu nedenle bu > > bilgilerin > > > >> ne > > > >> > =C5=9Fekilde olursa olsun i=C3=A7eri=C4=9Finden, iletilmesinden,= al=C4=B1nmas=C4=B1ndan ve > > > >> > saklanmas=C4=B1ndan sorumlu de=C4=9Fildir. Bu mesajdaki g=C3=B6r= =C3=BC=C5=9Fler yaln=C4=B1zca > > > g=C3=B6nderen > > > >> > ki=C5=9Fiye aittir ve FOREKS'in g=C3=B6r=C3=BC=C5=9Flerini yans= =C4=B1tmayabilir. > > > >> > Bu e-posta bilinen b=C3=BCt=C3=BCn bilgisayar vir=C3=BCslerine k= ar=C5=9F=C4=B1 taranm=C4=B1=C5=9Ft=C4=B1r. > > > >> > * > > > >> > This e-mail and any files transmitted with it are confidential a= nd > > > >> intended > > > >> > solely for the use of the individual or entity to whom they are > > > >> addressed. > > > >> > If you are not the intended recipient you are hereby notified th= at > > any > > > >> > dissemination, forwarding, copying or use of any of the > information > > is > > > >> > strictly prohibited, and the e-mail should immediately be delete= d. > > > >> FOREKS > > > >> > makes > > > >> > no warranty as to the accuracy or completeness of any informatio= n > > > >> contained > > > >> > in this message and hereby excludes any liability of any kind fo= r > > the > > > >> > information contained therein or for the information transmissio= n, > > > >> > reception, storage or use of such in any way whatsoever. The > > opinions > > > >> > expressed in this message belong to sender alone and may not > > > necessarily > > > >> > reflect the opinions of FOREKS. > > > >> > This e-mail has been scanned for all known computer viruses. > > > >> > > > > >> > > > > > > > > > > > > > > -- > > > > > > > > > P > > > > > > Bu mesaji yazdirmadan =C3=B6nce =C3=A7evreye olan sorumlulugumuzu bir= kez daha > > > d=C3=BCs=C3=BCnelim. > > > Please consider the environment before printing this e-mail. > > > > > > Bu elektronik posta ve onunla iletilen b=C3=BCt=C3=BCn dosyalar sadec= e > g=C3=B6ndericisi > > > taraf=C4=B1ndan almas=C4=B1 ama=C3=A7lanan yetkili ger=C3=A7ek ya da = t=C3=BCzel ki=C5=9Finin > kullan=C4=B1m=C4=B1 > > > i=C3=A7indir. E=C4=9Fer s=C3=B6z konusu yetkili al=C4=B1c=C4=B1 de=C4= =9Filseniz bu elektronik > postan=C4=B1n > > > i=C3=A7eri=C4=9Fini a=C3=A7=C4=B1klaman=C4=B1z, kopyalaman=C4=B1z, y= =C3=B6nlendirmeniz ve kullanman=C4=B1z > > > kesinlikle yasakt=C4=B1r ve bu elektronik postay=C4=B1 derhal silmeni= z > > gerekmektedir. > > > FOREKS bu mesaj=C4=B1n i=C3=A7erdi=C4=9Fi bilgilerin do=C4=9Frulu=C4= =9Fu veya eksiksiz oldu=C4=9Fu > > > konusunda herhangi bir garanti vermemektedir. Bu nedenle bu bilgileri= n > ne > > > =C5=9Fekilde olursa olsun i=C3=A7eri=C4=9Finden, iletilmesinden, al= =C4=B1nmas=C4=B1ndan ve > > > saklanmas=C4=B1ndan sorumlu de=C4=9Fildir. Bu mesajdaki g=C3=B6r=C3= =BC=C5=9Fler yaln=C4=B1zca > g=C3=B6nderen > > > ki=C5=9Fiye aittir ve FOREKS'in g=C3=B6r=C3=BC=C5=9Flerini yans=C4=B1= tmayabilir. > > > Bu e-posta bilinen b=C3=BCt=C3=BCn bilgisayar vir=C3=BCslerine kar=C5= =9F=C4=B1 taranm=C4=B1=C5=9Ft=C4=B1r. > > > * > > > This e-mail and any files transmitted with it are confidential and > > intended > > > solely for the use of the individual or entity to whom they are > > addressed. > > > If you are not the intended recipient you are hereby notified that an= y > > > dissemination, forwarding, copying or use of any of the information i= s > > > strictly prohibited, and the e-mail should immediately be deleted. > FOREKS > > > makes > > > no warranty as to the accuracy or completeness of any information > > contained > > > in this message and hereby excludes any liability of any kind for the > > > information contained therein or for the information transmission, > > > reception, storage or use of such in any way whatsoever. The opinions > > > expressed in this message belong to sender alone and may not > necessarily > > > reflect the opinions of FOREKS. > > > This e-mail has been scanned for all known computer viruses. > > > > > > > -- > > > P > > Bu mesaji yazdirmadan =C3=B6nce =C3=A7evreye olan sorumlulugumuzu bir kez= daha > d=C3=BCs=C3=BCnelim. > Please consider the environment before printing this e-mail. > > Bu elektronik posta ve onunla iletilen b=C3=BCt=C3=BCn dosyalar sadece g= =C3=B6ndericisi > taraf=C4=B1ndan almas=C4=B1 ama=C3=A7lanan yetkili ger=C3=A7ek ya da t=C3= =BCzel ki=C5=9Finin kullan=C4=B1m=C4=B1 > i=C3=A7indir. E=C4=9Fer s=C3=B6z konusu yetkili al=C4=B1c=C4=B1 de=C4=9Fi= lseniz bu elektronik postan=C4=B1n > i=C3=A7eri=C4=9Fini a=C3=A7=C4=B1klaman=C4=B1z, kopyalaman=C4=B1z, y=C3= =B6nlendirmeniz ve kullanman=C4=B1z > kesinlikle yasakt=C4=B1r ve bu elektronik postay=C4=B1 derhal silmeniz ge= rekmektedir. > FOREKS bu mesaj=C4=B1n i=C3=A7erdi=C4=9Fi bilgilerin do=C4=9Frulu=C4=9Fu = veya eksiksiz oldu=C4=9Fu > konusunda herhangi bir garanti vermemektedir. Bu nedenle bu bilgilerin ne > =C5=9Fekilde olursa olsun i=C3=A7eri=C4=9Finden, iletilmesinden, al=C4=B1= nmas=C4=B1ndan ve > saklanmas=C4=B1ndan sorumlu de=C4=9Fildir. Bu mesajdaki g=C3=B6r=C3=BC=C5= =9Fler yaln=C4=B1zca g=C3=B6nderen > ki=C5=9Fiye aittir ve FOREKS'in g=C3=B6r=C3=BC=C5=9Flerini yans=C4=B1tmay= abilir. > Bu e-posta bilinen b=C3=BCt=C3=BCn bilgisayar vir=C3=BCslerine kar=C5=9F= =C4=B1 taranm=C4=B1=C5=9Ft=C4=B1r. > * > This e-mail and any files transmitted with it are confidential and intend= ed > solely for the use of the individual or entity to whom they are addressed= . > If you are not the intended recipient you are hereby notified that any > dissemination, forwarding, copying or use of any of the information is > strictly prohibited, and the e-mail should immediately be deleted. FOREKS > makes > no warranty as to the accuracy or completeness of any information contain= ed > in this message and hereby excludes any liability of any kind for the > information contained therein or for the information transmission, > reception, storage or use of such in any way whatsoever. The opinions > expressed in this message belong to sender alone and may not necessarily > reflect the opinions of FOREKS. > This e-mail has been scanned for all known computer viruses. > --94eb2c19dbf2c6985c055e81421b--