Wednesday, November 16, 2011

فلول النظام تطارد نظام الفلول


لا يخفى عنا جميعا فى بلدنا الصغير من هم فلول النظام السابق . فنحن نعلمهم تمام العلم بالاسماء والعناوين . نراهم يتسللون الى قوائم الاحزاب المختلفة ويكأنهم لم يقترفوا شيئا والاغرب من ذلك ان تجد من يمجد فى الثورة ويدعى انة كان من اولئك القابعين فى التحرير من 25 حتى 11-3.
ما يدعوا للدهشة هو انهم يحاربون ما يدعى بالفلول ويتقولون عنهم اسواء الكلام ولعجب العجاب ان فلول النظام تطارد نظام الفلول . فللمثل لا للحصر نجد ان احدهم انضم الى حزب الوفد فى مركز متقدم جدا بالقائمة الخاصة بحزب الوفد ثم ما نلبث ونجد الاخر مرشحا عن حزب الغد وهو من ينطلى علية المثل (يا فرحة ما تمت خدتها الثورة وطارت) وايضا احد افراد قضية العلاج على نفقة الدولة مرشحا لمجلس الشورى مستقل ونجد الاخر مرشحا عن الكتلة المصرية. والاخر مرشح عن الفئات – الدائرة الأولى على قائمة حزب الغد , ثم نجد رجل المواصلات(اللى سحب الاتوبيسات بعد ما سقط) مرشحا عن الدائرة عمال مستقل ..... وفى دائرة اخرى وهى حلوان نجد نفس الاسماءالمستشار العظيم مرشحا وللعلم فعلى كل سور من اسوار الصف يوجد يافطة قديمة مكتوب عليها المستشار الكبير يرشح اللواء الكبير . وبعيدا عن الفساد الادارى والبرلمانى فى المرحلة السابقة هناك سؤال يلوح فى الافق ؟ الم يكفكم 30 عاما ماضية من الفشل الذريع فى خدمة اهالى الدائرة فى الفترة السابقة لم نرى خلالها سوى الفساد والرشاوى والتزوير ؟ والصمت من جانبكم ان لم يكن المشاركة والمساندة !!!!

من السذاجة ان نطمئن جميعا بان الحزب الوطنى الفاشيستى قد تم حلة فهناك احزاب المرايا والتى اختبأ فيها كل اعضاء الحزب الفاسد فهناك "حزب مصر القومى" برئاسة طلعت السادات وتوفيق عكاشة و "حزب الاتحاد" برئاسة حسام بدراوى وحزب المواطن المصرى برئاسة صلاح حسبالله وامانة محمد رجب الامين السابق للحزب الوطنى ..حزب الحرية وحزب البداية وحزب 11 فبراير (ههههه يوم التنحى ) وحزب مصر التنمية وحزب نهضة مصر وحزب مصر الحديثة وحزب المحافظين (الحزب السنيد للحزب الوطنى سابقا) حزب الاصلاح والتنمية والمستقلين الجدد . كل هذة الاسماء وهناك المزيد ممن اشتركوا او التزموا الصمت حيال الفساد فى العهد البائد . وهناك سؤال بالاذهان .. ماذا انتم فاعلون لو نجحتم ؟؟ وكيف يقيم ايا منكم سرادقا ويعرض وجهة نظرة وكيف لنا ان نصدقكم ! ارجوكم احمونا من طلعتكم البهية ؟

اذن وبما لا يدعوا للشك ان فلول النظام تطارد نظام الفلول ... كلمة واحدة اقولها الى كل فل من الفلول ... اختباوا فى جحوركم وفتشوا عن مساوءكم ... فتشوا عن مفاسدكم ... اتركوا الفرصة للصالحين ... الم يكفكم 30 عاما من السرقة والنهب والفساد ... الم تكن المقاعد تحت ارجلكم فماذا فعلتم سوى الفساد ... ماذا قدمتم لنا سوى الفتات ... الم تلهثوا خلف رجال اسف كلاب الحزب الفاسد والكبار والان تغيرون الوجوة والله انا نعلمكم فلا فائدة من الاقنعة ...

توبة سيد
9-11-2011

حدوتة ثورية

كان ياما كان يا اطفالنا الحلويين ... وما يحلى الكلام الا فى ذكر النبى علية الصلاة والسلام !!
كان فى ثورة قامت .. صحت كل الناس اللى نامت
فتحت العيون على الحقيقة ... عشناها سوى دقيقة دقيقة
كان فى اولاد صغيرين عايزين يقولوا رايهم ... ويحكوا همهم
بس عمو التنين واولادة وعصابتة ... كانو فاتحين سجنهم
اللى يقول كلمة ... بيلسعة بالواوة .. وكان اعلامنا يسقف ويظيط ويقول "والله براوة "
الكل كان ساكت إلا الولاد الصغيرين ... صمموا على هدفهم ... وفى طريق الثورة ماشيين
جالهم عموا التنين وبعت ولادة التنانين ....
يضربوا فيهم ويقتلوا ... ويقولوا فى الراديو ... اصل العيال وحشين ... وشوية قالوا مجانين
بس الولاد جدعان ... صبروا على كلامهم ... وطنشوا الراديو .. صبروا على الامهم ...

قصر الكلام
نجح الولاد يقلبوا طربيزة التنين ... دخلوا المغارة بتاعتة وظبطوا الوحشين
بس يا خسارة خلصوا من التنين جالهم الغول بهلول .. وقالهم مبروك ...
انا قصدى احمى المغارة واسبكوا فيها عايشين
سيبونى احكم شهور ... مش طمعان فى سنين
سمع الكلام الولاد وانبسطوا على الاخر ...دة اصلة حامى الحمى وامان من الاخر
ودليل كلامة يا ناس انة سجن تنين ...
يمكن بيضحك علينا بس ديتها شهور ... نعمل بقى انتخابات ولا نقيم دستور
بعض الولاد اختاروا ... والبعض التانى ثاروا ... والكل اتنهب دارة ... واحتاروا حيرة جحا وحمارة
المهم .. نجح الغول يا ولاد يفرق الثوار ... ويدير المغارة براحتة ... اسوء من استعمار
فتح السجون للولاد... والقاضى من صنفة ... والحكم بعد المداولة ... والكل خايف عنفة
لسة الحكاية ياولاد نهايتها مش عارفاة ... يمكن فى يوم تنتهى بعون الله

اولادى الحلوين يوم الجمعة وفى نفس الميعاد ... نتجمع فى التحرير .... واللى ييجى هيحضر الثورة ويتسلى بالحدوتة
اقولكم اية ... توتة توتة .....ثورة وحدوتة

توبة سيد
10-11-2011

من "موافقون" الى "سمعا وطاعة".... يا قلبى لا تحزن

الاختيار امانة .. ربطت بعنق الانسان منذ ولادتة وحتى النهاية والتى لا يعلمها الا الله فكل شئ عندة بمقدار او بقدر.ها نحن نقف فى مرحلة جديدة للاختيار فى اختبار شديد القسوة على الناخبين .. فايهم نختار ؟؟
ما هو الاصلح ؟؟؟هل نختار من لم تحتوى قوائمة على الفلول ؟؟؟ هل نختار القوائم ذات الصبغة الاسلامية ؟؟؟
ارانا اليوم فى جدل عقيم ... وسوف يستمر الجدل طالما وجد من يسفق بغير علم .. ومن يساند بغير وعى ... ومن يطلق العنان ويزكى نفسة على الاخرين
حزب الحرية والعدالة هو الحزب الوحيد الذى لم تحتوى قوائمة على احد الفلول او على احد اعضاء الحزب الوطنى سابقا .... فهل حزب الحرية والعدالة بذلك هو الوحيد الذى ينبغى علينا ان نرشحة ونختار قوائمة ومرشحى الفردى التابعين لة
... فالاخوان المسلمين تاريخ حافل بالنضال منذ سنة 1928 وحتى عصرنا الحالى ... جيل بعد جيل يتوارثون النضال السياسى وهم الطيف الوحيد الذى يمتلك من الكوادر السياسية القادرة على خوض غمار الانتخابات ... ولكن هذا ليس معناة ان لا يتم انتقادهم
او تعرضهم للمسائلة ... هم الطيف الوحيد الذى يجب ان يعلم الجميع انهم لا يمتلكون فلول الوطنى ولا يقربوهم منهم وخلت قوائمهم من اى شخص ينتمى للحزب الوطنى ..وهذا ليس دليلا على احقيتهم بالمجلس والحكومة ... انما هم طيف لهم ما لهم وعليهم ما عليهم

حضرت بالامس المؤتمر الانتخابى للاخوان والذى تمتع بتنظيم رائع كما عهدنا ... تنظيم فى الكلمات والتوقيت .... فى الجلوس والقيام والدخول والخروج ... ولكن قمت بسرد بعض الاسئلة والتى حدثت بها نفسى
ما رايكم فى الملتقى ؟؟؟؟ما مدى الاستفادة منة ؟؟؟؟؟ما هى الحلول والمشاكل التى تم طرحها بالاجتماع ؟؟؟هل هو فرد عضلات ام للتعريف بالمرشحين ؟؟؟هل حققت كلمات المرشحين ولو الحد الادنى من طموح الحاضرين؟؟؟
واتت الى الاجابات والتعليقات الواحد تلو الاخر

والنتيجة لم يقم اى تعليق بالرد على اى سؤال ... مع ان المعلقين من صفوة ابناء الصف واكثرهم ثقافة ؟؟؟ والذى كنت اود ان اسمعة ليس مجرد مشاحنات او جدال ولكن كنت اود ان نجيب بعقلانية وشفافية وقراءة للمؤتمر الانتخابى ولكن ... انا لك هذا وهنا يعترينى قول الشاعر
لَقَد أَسمَعت لَو نادَيت حَياً وَلَكن لا حَياةَ لِمَن تُنادي
وَلَو نار نفخت بِها أَضاءَت وَلَكن أَنتَ تَنفخ في رَماد

اخشى ما اخشاة ان تدور علينا الدائرة ونعود الى حيث بدانا .. ونستبدل الامور من كلمة موافقون لكى تصبح سمعا وطاعة .. وتصبح الثورة فى خبر كان او بالبلدى "وكانك يا ابو زيد ما غزيت"
اخوانى لست اقصد النقد لاى من الاطياف .. ولا اريد الا الاصلاح ما استطعت ..ز فكلنا خطاء .. وخيرنا من تاب وامن وعمل صالحا ... اذن ليس هناك من هو فوق النقد او المسائلة
واسئل الله ان يولى من يصلح

توبة سيد
12-11-2011

Tuesday, July 1, 2008

Using the BIRT Report Viewer

Overview

This Viewer is an AJAX based J2EE application that illustrates usingthe BIRT engine to generate and render report content.

The Web Viewer can be used to generate and render reports, and also supports more interactive features such as table of contents, exporting report content to several formats, client and server side printing, as well as report pagination. The features available will depend on what servlet mapping is used, the settings available in the web.xml file and what values are passed as parameters.

The Example Viewer can also be deployed as an Eclipse plugin in an RCP application.

The Example Viewer also ships with a tag library which can be used to provide report functionality within your existing web applications.

Servlet Mappings

The BIRT Web Viewer consist of two main Servlets, the ViewerServlet and the BirtEngineServlet. These Servlets handle three mappings: ( /frameset,/run, and /preview).

The /frameset mapping renders the report in the full AJAX viewer complete with toolbar, navigation bar and table of contents features. This mapping also generates an intermediate report document from the report design file to support the AJAX based features.
eghttp://localhost:8080/viewer/frameset?__report=myreport.rptdesign&parm1=value1

The /run mapping runs and renders the report but does not create a report document. This mapping does not supply HTML pagination, TOC or toolbar features, but does use the AJAX framework to collect parameters,support report cancelling and retrieve the report output in HTML format.
eghttp://localhost:8080/viewer/run?__report=myreport.rptdesign&parm1=value1

The /preview mapping runs and renders the report and does not generate a report document, although an existing report document can be used in which case just the render operation occurs. The output from the run and render operation is sent directly to the browser.
eghttp://localhost:8080/viewer/preview?__report=myreport.rptdesign&parm1=value1




Web Viewer Web.xml Settings

The web.xml file contains many settings used to configure the Viewer. These settings are illustrated below.

Attribute

Description

BIRT_VIEWER_LOCALE This setting sets the default locale for the Web Viewer.

BIRT_VIEWER_WORKING_FOLDER This is the default location for report designs.  If the report design specified in a URL parameter is relative, this path is pre-pended to the report name.

BIRT_VIEWER_DOCUMENT_FOLDER If a report document parameter (__document) is not
used, this is the location that report documents will be generated in.  If this setting is left blank, the default value “webapp/documents” will be used.  If the__document URL parameter is used and the value is relative the report document will be created in the working folder.

WORKING_FOLDER_ACCESS_ONLY If this value is set to true, reports will only be searched for, relative to the working folder.  This prevents a user from entering a full path to a report.  Relative paths below the working folder are accessible.

BIRT_VIEWER_IMAGE_DIR Specifies the default location to store temporary images generated by the report engine.  If this setting is left blank, the default location of webapp/report/images is used.

BIRT_VIEWER_LOG_DIR Specifies the default location to store report engine log files.  If this setting is left blank, the default location of webapp/logs is used.

BIRT_VIEWER_LOG_LEVEL Sets the report engine log level.  Valid values are:
OFF
SEVERE
WARNING
INFO
CONFIG
FINE
FINER
FINEST

BIRT_VIEWER_SCRIPTLIB_DIR Specifies the default location to place Jar files used by the script engine.  These can be Jars used by script engine or jars containing event handlers written in Java.  These Jars are appended to the classpath.  If this setting is left blank the default value of webapp/scriptlib will be used.

BIRT_RESOURCE_PATH This setting specifies the resource path used by report engine.  The resource path is used to search for libraries, images, and properties files used by a report.  If this setting is left blank, resources will be searched for in the same directory as the report.

BIRT_VIEWER_MAX_ROWS

Specifies the maximum number of rows to retrieve from a dataset.

BIRT_OVERWRITE_DOCUMENT Specifies whether to overwrite the report document every time a report is executed.  The default is set to true.  Valid values are true and false.

BIRT_VIEWER_CONFIG_FILE Specifies the location of the viewer.properties file.  This file contains various settings used by the viewer.

BIRT_VIEWER_PRINT_SERVERSIDE This setting specifies whether server side printing is supported.  If set to OFF the toolbar icon used for server side printing will be removed automatically.  Valid values are ON and OFF.

HTML_ENABLE_AGENTSTYLE_ENGINE This setting determines how BIRT styles are handled with the HTML emitter.  If set to TRUE, the BIRT engine will output the styles directly to the report and depends on the browser to implement the style calculations.  If set to FALSE the emitter will use the BIRT style engine to calculate the styles and will output the results directly to the report.

Parameters

The example viewer has a distinction between report parameters and viewer configuration parameters.  Report parameters are used by the reportdesigns and configuration parameters affect the appearance and featuresavailable to the example Viewer application.  In either case these parameters can be passed as URL parameters by entering the &parmname= valuesyntax, passed in a html form, or passed using the jsp:parm tag.  Configuration parameters by default start with a “__” prefixed to the parameter name.< /FONT>< /FONT>

Report parameters that are designated in the design as required and are not entered in one of the above methods will cause the viewer to launch a parameter entry dialog box.  Additionally the example Viewer tag library contains tags to configure and set parameters as well.

Attribute

Description

__id A unique identifier for the viewer.

__title Sets the report title.

__showTitle Determines if the report title is shown in the frameset viewer.  Defaults to true.  Valid values are true and false.

__toolbar Determines if the report toolbar is shown in the frameset viewer.  Defaults to true.  Valid values are true and false.

__navigationbar Determines if the navigation bar is shown in the frameset viewer.  Defaults to true.  Valid values are true and false.

__parameterpage Determines if the parameter page is displayed.  By default the frameset, run and preview mappings will automatically determine if the parameter page is required.  This setting will override this behavior.  Valid values are true and false.

__report Sets the name of the report design to process.  This can be an absolute path or relative to the working folder (See web.xml settings).

__document Sets the name for the rptdocument.  The document is created when the report engine separates run and render tasks, and is used to support features like table of contents and pagination.  This setting can be an absolute path or relative to the working folder (See web.xml settings).  If no document parameter is used, a unique document is created in the document folder (see web.xml settings).

__format Specifies the desired output format, such as pdf, html, doc, ppt, or xls.

__locale Specifies the locale for the specific operation.  Note that this will override the default locale.  Order of precedence is as follows:

__locale parameter.

Locale from client browser.

Locale web.xml setting.

Locale for the application server.

__svg Specifies whether SVG is supported.

__page Specifies specific page to render.

__pagerange Specifies page range to render. Eg 1-4,7.

__isnull Specifies that a report parameter has a null value.  Eg __isnull= Myparameter.</FONT>< /FONT>

__islocale Specifies whether the parameter is localized.

__masterpage Indicates that the report master page should be used or not.  Valid values are true and false.

__overwrite This setting if set to true will force an overwrite of the existing report document. This setting will override the

initial setting in the web.xml.  By default the report document is overwritten anytime the report design is changed.

__bookmark Specifies a specific bookmark within the report to load.  The viewer will automatically load the appropriate page.

__rtl Specifies whether to display the report in right to left format.  This setting defaults to false.

__fittopage Specifies whether PDF generation should fit content to a page.  Valid values are true and false.

__resourceFolder Specifies the resource folder to use.  This setting will override the default setting in the web.xml.  The resource folder is used to locate libraries, images, and resource files.

Tuesday, June 24, 2008

Features within BIRT Reports


1.Types of aggregate calculations
BIRT provides a wide range of functions in the Total class that support aggregate calculations over sets of data rows. These functions are custom JavaScript functions that BIRT defines. As with native JavaScript functions, you must use the correct capitalization when you type the function name, as shown here . For detailed information about each aggregate function, see Scripting Reference in BIRT's online help.
Aggregate functionDescription
Total.count( )Counts the number of data rows in the set.
Total.countDistinct( )Counts the number of unique values for a specified field.
Total.first( )Returns the value of a specified field in the first data row.
Total.isBottomN( )Returns a boolean value that indicates if the value of a specified numeric field is one of the bottom n values.
Total.isBottomNPercent( ) Returns a boolean value that indicates if the value of a specified numeric field is one of the bottom n percent values.
Total.isTopN( ) Returns a boolean value that indicates if the value of a specified numeric field is one of the top n values.
Total.isTopNPercent( ) Returns a boolean value that indicates if the value of a specified numeric field is one of the top n percent values.
Total.last( ) Returns the value of a specified field in the last data row.
Total.max( )Returns the highest value of a specified field in the set of data rows.
Total.median( )Returns the median, or mid-point, value for a set of values in a specified numeric field.
Total.min( )Returns the lowest value of a specified field in the set of data rows.
Total.mode( )Returns the mode, which is the value that occurs most often for a specified field.
Total.movingAve( )Returns the moving average of a specified numeric field over a specified number of values. This type of calculation is typically used for analyzing trends of stock prices.
Total.percentile( )Returns the percentile value for a set of values in a specified numeric field, given a specified percent rank.
Total.percentRank( )Returns the rank of a number, string, or date-time value of a specified field as a percentage of the data set. The return value ranges from 0 to 1.
Total.percentSum( )Returns the percentage of a total of a specified numeric field.
Total.quartile( )Returns the quartile value for a set of values in a specified numeric field.
Total.rank( )Returns the rank of a number, string, or date-time value of a specified field.
Total.runningCount( )Returns the row number, up to a given point,in the report.
Total.runningSum( )Returns the total, up to a given point, in the report.
Total.stdDev( )Returns the standard deviation of a specified numeric field over a set of data rows. Standard deviation is a statistic that shows how closely values are clustered around the mean of a set of data.
Total.sum( )Sums the values of a specified numeric field in the set of data rows.
Total.variance( )Returns the variance of a specified numeric field over a set of data rows. Variance is a statistical measure of the spread of data.
Total.weightedAve( ) Returns the weighted average of a specified numeric field over a set of data rows. In a weighted average, some numbers carry more importance (weight) than others.
Total.ave( )Returns the average value of a specified numeric field over all data rows.


2.Specifying alternate values for display
Data in a data source can sometimes be cryptic or appear in abbreviated form. For example, gender values may be M or F rather than male or female. Credit rankings may be 1 to 5 rather than excellent, good, average, fair, or poor.BIRT Report Designer enables you to specify alternate values to display if you do not want to use the original values in your report. You use a data element's map property to create rules for mapping data values. You create one map rule for each data value that you want to replace. For example, to map M and F to Male and Female, respectively, you create two map rules.How to map data values to different display values
  1. Select the data element for which you want to replace values. The property editor displays the properties for the dataelement.
  2. Choose the Map tab at the bottom of the propertyeditor. Map List appears
  3. Choose Add to create a map rule.
  4. On New Map Rule, in the first field, specify the expression that refers to the data set field for which you want to replace values. If you need help specifying the expression, choose the ellipsis (...) button to use Expression Builder. The following is an example of an expression:row["creditrank"]
  5. In the second field, select an operator from the list. For example:Equal
  6. In the third field, specify the value to replace. For example:"A" and You must enclose string values in quotation marks (" ").
  7. In the last field, specify the value that you want to display. For example:Excellent
  8. Choose OK. The rule that you created appears in Map List. When you select the rule, the display value appears in the box at the right
  9. Repeat steps 3 through 4 to create additional rules, one for each data value that you want to replace. follwing Figure shows an example of three map rules that were created for the selected data element.
  10. Preview the report to check the results of your map rules.



Resort Columns After Report Has Been Run

BIRT strong suit is in the realm of online reporting. One of the features that is common with online applications that display information in a grid format is the ability to click on a column header and have the information resort based on that column. In this article I will show you how to do just that with BIRT.

The report that we will do this on is a report that lists customers and their payment information. It will be based off of the Classic Cars databases. These instructions are for BIRT 2.2 and will not work on previous versions.

1. Create a new report in an BIRT reporting project. Call this new report “customerPayment.rptdesign”.
2. Create a new Data Source from the Classic Cars Inc. Sample Database.
3. Create a new dataset using the following query:

select
 *
from
 CUSTOMERS,
 PAYMENTS
where
 CUSTOMERS.CUSTOMERNUMBER = PAYMENTS.CUSTOMERNUMBER
and customers.customernumber = ?

·         a. Name the parameter dsprmCustomerID

·         b. Under the dialog for the data set parameter, create and link to a report parameter called rptprmCustomerID. Set it as a text box entry.

4. Drag and drop the newly created data set over to the report design pane. Delete all columns except for the following

·         a. Customer Number

·         b. Customer Name

·         c. Payment Date

·         d. Amount



Figure 1. Report will Look Like after step 4

5. Create a new report parameter called rptprmSortOrder. Set it to allow null values and hidden.
6. Add the following script to the OnPrepare event of the table.


//We only want to add this into our code when the value is not null for the
//parameter sort
if ( params["paramSortOrder"].value != null )
{
 //Bring in the BIRT Report Model API and for CONSTANTS
 importPackage( Packages.org.eclipse.birt.report.engine.api.script.element );

 //Create a dynamic sort condition
 var sortCondition = StructureScriptAPIFactory.createSortCondition();

 //Based on the value of the sort parameter, set the appropriate key value for sorting
 switch (params["paramSortOrder"].value)
 {
     //Remember that for the key, we need to use the fully qualified row and field name as a string, not as a value
     case "date" :
         sortCondition.setKey("row[\"PAYMENTDATE\"]");
         break;
     case "price" :
         sortCondition.setKey("row[\"AMOUNT\"]");
         break;
 }

 //set condition to ascending order
 sortCondition.setDirection("asc");

 //Add to the table
 this.addSortCondition(sortCondition);
}    


7. In the header row, we need to create hyperlinks that will call this report, and pass in parameters to tell which column to sort by. So save the report as it is, othehrwise the parameters will not show up in the drill down dialog. Select the PaymentDate column header, and create a hyperlink like so:

·         Select drill down

·         Link to the customerPayment.rptdesign file

·         Select the rptprmCustomerID field, and set the value to params["rptprmCustomerID"]

·         Select the rptprmSortOrder parameter, and set the value to “date” with the quotation marks.

·         Set to open in the same window.

·         Do the same thing for the Amount column, except set the value of rptprmSortorder to “price”.


With that done, now you can reorder the report in view time when the user clicks on the date or the amount columns. With a little more logic developed in you can have the report do both ascending and descending sorts, and even have it refresh
the report without having to refresh the viewing page.






Sunday, October 21, 2007