يعرض هذا القسم SimpleExampleServlet، وهو أبسط مثال على تنفيذ مصدر بيانات يتم توفيره مع المكتبة. يقدّم هذا القسم أيضًا تعليمات مفصّلة حول كيفية تشغيل SimpleExampleServlet واختباره.
نقدّم لك SimpleExampleServlet
يقع الصف SimpleExampleServlet في الحزمة examples. يوفر هذا الصف مثالاً على أبسط عملية تنفيذ لمصدر بيانات. يرث SimpleExampleServlet من DataSourceServlet،
وينفّذ generateDataTable()، ويجب تشغيله
داخل حاوية servlet.
في ما يلي مقتطف من SimpleExampleServlet. تعرض الدالة generateDataTable البيانات للمكتبة. تنشئ هذه الدالة وصفًا لجدول البيانات، وتحدّد أعمدة جدول البيانات، وتملأ جدول البيانات بالبيانات.
تتولّى المكتبة جميع الإجراءات الأخرى المطلوبة لعرض جدول البيانات
في التمثيل المرئي الذي يتم الاستعلام عنه.
// This example extends DataSourceServlet public class SimpleExampleServlet extends DataSourceServlet { @Override public DataTable generateDataTable(Query query, HttpServletRequest request) { // Create a data table, DataTable data = new DataTable(); ArrayListcd = new ArrayList (); cd.add(new ColumnDescription("name", ValueType.TEXT, "Animal name")); cd.add(new ColumnDescription("link", ValueType.TEXT, "Link to wikipedia")); cd.add(new ColumnDescription("population", ValueType.NUMBER, "Population size")); cd.add(new ColumnDescription("vegeterian", ValueType.BOOLEAN, "Vegetarian?")); data.addColumns(cd); // Fill the data table. try { data.addRowFromValues("Aye-aye", "http://en.wikipedia.org/wiki/Aye-aye", 100, true); data.addRowFromValues("Sloth", "http://en.wikipedia.org/wiki/Sloth", 300, true); data.addRowFromValues("Leopard", "http://en.wikipedia.org/wiki/Leopard", 50, false); data.addRowFromValues("Tiger", "http://en.wikipedia.org/wiki/Tiger", 80, false); } catch (TypeMismatchException e) { System.out.println("Invalid type!"); } return data; } }
تشغيل SimpleExampleServlet واختباره
يقدّم هذا القسم تعليمات حول كيفية تنفيذ SimpleExampleServlet واختباره.
إذا لم يسبق لك إجراء ذلك، راجِع قسم التثبيت للحصول على معلومات حول المتطلبات الأساسية وتعليمات حول كيفية تنزيل المكتبة وإنشائها. تأكَّد من تثبيت خادم ويب يعمل أيضًا كحاوية servlet، مثل Apache Tomcat، إذا لم يكن لديك واحد على نظامك. تتعلّق التعليمات الواردة في هذا القسم تحديدًا بـ Apache Tomcat على نظام التشغيل Windows.
لتشغيل SimpleExampleServlet واختباره، أنشئ تطبيق ويب يشغّل مصدر بيانات SimpleExampleServlet، ثم شغّل مثالاً لصفحة ويب مع عرض مرئي يعرض البيانات التي تم طلبها من مصدر البيانات. يتم توضيح ذلك في الأقسام التالية:
إنشاء تطبيق ويب على Apache Tomcat
اتّبِع التعليمات أدناه أو عدِّلها لإنشاء تطبيق ويب على Apache Tomcat. هذه التعليمات خاصة بـ Apache Tomcat على نظام Windows:
- انتقِل إلى الدليل الذي ثبّت فيه Tomcat. يتم عرض ذلك في هذا المستند على النحو التالي:
<tomcat_home>.
- انتقِل إلى الدليل الفرعي
webapps.
- أنشئ دليلاً فرعيًا باسم
myWebApp.
- انتقِل إلى الدليل الفرعي الذي أنشأته للتو وأنشئ دليلًا فرعيًا آخر باسم
WEB-INF.
- انتقِل إلى الدليل الفرعي
WEB-INFوأنشئ دليلاً فرعيًا آخر باسمlib.
يجب أن يكون المسار الكامل<tomcat_home>/webapps/myWebApp/WEB-INF/lib.
- انسخ
web.xmlمن<data_source_library_install>/examples/src/htmlإلى الدليلWEB-INF. حيث<data_source_library_install>هو الدليل الذي ثبّت فيه مكتبة مصادر البيانات. تحدّد الأسطر التالية فيweb.xmlSimpleExampleServletوتنشئ خريطة لها:
<servlet> <servlet-name>My Servlet</servlet-name> <description>My servlet description.</description> <servlet-class>SimpleExampleServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>My Servlet</servlet-name> <url-pattern>/simpleexample</url-pattern> </servlet-mapping>
- انتقِل إلى الدليل الذي ثبّت فيه مكتبة مصدر البيانات.
يتم التعبير عن ذلك في هذا المستند على النحو التالي:
<data_source_library_install>.
- انسخ جميع حِزم التبعية
إلى
<tomcat_home>/webapps/myWebApp/WEB-INF/lib. يتم تثبيت الحِزم في<data_source_library_install>/lib، ما لم تضعها في دليل مختلف.
- إذا أنشأت المكتبة بنفسك، انسخ
visualization-datasource-1.0.2.jarوvisualization-datasource-examples.jar
من<data_source_library_install>/build
إلى<tomcat_home>/webapps/myWebApp/WEB-INF/lib.
إذا كنت قد فككت ضغط ملف zip، انسخvisualization-datasource-1.0.2.jarوvisualization-datasource-examples.jar
من<data_source_library_install>
إلى<tomcat_home>/webapps/myWebApp/WEB-INF/lib.
يُرجى العلم أنّ رقم الإصدار في اسم ملف jar قد يختلف حسب رقم أحدث إصدار.
- ابدأ Tomcat أو أعِد تشغيله إذا كان قيد التشغيل.
- انقر على الرابط التالي:
http://localhost:8080/myWebApp/simpleexample
تعرض الشاشة 6 أو 7 أسطر من النص، وذلك حسب عرض الشاشة.
يبدأ النص بـgoogle.visualization.Query.setResponse
وينتهي بـ/Tiger'},{v:80.0},{v:false}]}]}});
هذه هي البيانات التي يعرضها مصدر البيانات لتصوّر الاستعلام.
استخدام تمثيل مرئي لعرض البيانات
يمكن استخدام الملف getting_started.html في الدليل <data_source_library_install>/examples/src/html
لعرض تمثيل مرئي للبيانات. يحدّد السطر التالي، المأخوذ من getting_started.html، السيرفلت المطلوب استخدامه. تم إعداد ربط servlet في الخطوة 8 من إنشاء تطبيق ويب على Apache Tomcat.
var query = new google.visualization.Query('simpleexample');
لمزيد من المعلومات حول كيفية تحديد تمثيل مرئي واستخدام لغة طلب البحث، يُرجى الاطّلاع على استخدام الرسوم البيانية ومرجع لغة طلب البحث.
اتّبِع التعليمات أدناه أو عدِّلها لعرض تمثيل مرئي للبيانات المقدَّمة من مصدر البيانات:
- انسخ الملف
getting_started.htmlمن الدليل<data_source_library_install>/examples/src/html
إلى الدليل<tomcat_home>/webapps/myWebApp/.
- انقر على الرابط التالي http://localhost:8080/myWebApp/getting_started.html،
من المفترض أن يظهر لك ما يلي:

هذا كل ما عليك فعله. لقد أعددت مصدر البيانات الأول.
الخطوات التالية
يتم وصف المثال التالي في قسم استخدام مخزن بيانات خارجي. بدلاً من ذلك، يمكنك الرجوع إلى المقدمة أو استكشاف الروابط التالية:
- للحصول على مقدّمة عن الفئات الأكثر استخدامًا في المكتبة، راجِع الفئات الرئيسية.
- للاطّلاع على مثال حول كيفية تنفيذ مسار الأحداث الخاص بك والاستعلام عن الإمكانات، راجِع تحديد الإمكانات ومسار الأحداث.
- إذا كنت لا تريد استخدام
DataSourceServlet، يمكنك تنفيذ مصدر بيانات كما هو موضّح في استخدام Servlet الخاص بك. على سبيل المثال، قد لا تريد أن ترث منDataSourceServletإذا كنت ترث برنامجًا خادمًا من فئة أخرى. - إذا كنت لا تريد استخدام servlet، اطّلِع على تنفيذ مصدر بيانات غير servlet.
- لمعرفة كيفية تمرير المَعلمات من تطبيق إلى مصدر بيانات، اطّلِع على مقالة تمرير المَعلمات إلى
DataTableGenerator.generateDataTable.