blob: a4ea85ef7938b07e95eabad38e0c8b44445a1b34 [file] [log] [blame]
<?php
/*******************************************************************************
* Copyright (c) 2009, 2016 Eclipse Foundation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Eclipse Foundation - Initial version
* Anthony Hunter - changes for EMF Query
********************************************************************************/
require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");
require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php");
require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php");
$App = new App();
$Nav = new Nav();
$Menu = new Menu();
require_once('_projectCommon.php');
$pageTitle = "Eclipse EMF Query";
$pageKeywords = "Eclipse, Modeling, Framework, EMF, Query, Project";
$pageAuthor = "Anthony Hunter";
# Initialize custom solstice $variables.
$variables = array();
# Add classes to <body>. (String)
$variables['body_classes'] = '';
# Insert custom HTML in the breadcrumb region. (String)
$variables['breadcrumbs_html'] = "";
# Hide the breadcrumbs. (Bool)
$variables['hide_breadcrumbs'] = FALSE;
# Insert HTML before the left nav. (String)
$variables['leftnav_html'] = '';
# Update the main container class (String)
$variables['main_container_classes'] = 'container';
# Insert HTML after opening the main content container, before the left sidebar. (String)
$variables['main_container_html'] = '';
# Insert header navigation for project websites.
$links = array();
$links[] = array(
'icon' => 'fa-download', // Required
'url' => 'downloads.php', // Required
'title' => 'Download', // Required
'text' => 'Update Sites, P2 Repositories, SDK downloads, Nightly Builds, Translations' // Optional
);
$links[] = array(
'icon' => 'fa-users', // Required
'url' => 'getting_involved.php', // Required
'title' => 'Geting Involved', // Required
'text' => 'Git, Contributor Mailing List, Wiki, Committers' // Optional
);
$links[] = array(
'icon' => 'fa-book', // Required
'url' => 'documentation.php', // Required
'title' => 'Documentation', // Required
'text' => 'Online Reference, EMF Wiki' // Optional
);
$links[] = array(
'icon' => 'fa-support', // Required
'url' => 'support.php', // Required
'title' => 'Support', // Required
'text' => 'EMF Query FAQ, Forum, Newsgroup, Bugzilla' // Optional
);
$variables['header_nav'] = array(
'links' => $links, // Required
'logo' => array( // Required
'src' => 'images/backgroundMain.png', // Required
'alt' => 'EMF Query', // Optional
'url' => 'http://www.eclipse.org/emf-query', // Optional
),
);
// CFA Link - Big orange button in header
$variables['btn_cfa'] = array(
'hide' => FALSE, // Optional - Hide the CFA button.
'html' => '', // Optional - Replace CFA html and insert custom HTML.
'class' => 'btn btn-huge btn-warning', // Optional - Replace class on CFA link.
'href' => '//www.eclipse.org/downloads/', // Optional - Replace href on CFA link.
'text' => '<i class="fa fa-download"></i> Download' // Optional - Replace text of CFA link.
);
# Set Solstice theme variables. (Array)
$App->setThemeVariables($variables);
// # Paste your HTML content between the EOHTML markers!
$html = <<<EOHTML
<div id="midcolumn">
<h3>Eclipse Modeling Framework (EMF) Model Query</h3>
<div id="introText">
<p>EMF model query facilitates the process of search and retrieval of model elements of interest in a flexible yet controlled and structured manner. Provides API support for the basic EObject based Condition objects that are used to formulate queries for EMF models.</p>
<p>EMF model query provides the following classes/interfaces to support queries.</p>
<p><ol>
<li>The IEObjectSource interface provides the search scope elements to be used in a query.</li>
<li>The SELECT class implements a template-function that does the iteration over model elements and applies the search condition on each; it collects the resulting elements into a QueryResultSet object and returns it to the caller.</li>
<li>The FROM class represents the elements to search. It is responsible of providing an appropriate iterator for the elements in the search space.</li>
<li>The WHERE class applies the search conditions over the elements in the search set.</li>
<li>The UPDATE class passes the elements who satisfy the search condition to a caller-supplied modification function. It collects the modified elements into a QueryResultSet object and returns it to the caller.</li>
<li>The QueryResultSet class represents the set of elements returned by a given query.</li>
<li>The EObjectCondition class is the abstract parent of all conditions that deal with model-elements (i.e., EObjects). It incorporates the services of a PruneHandler in order to answers whether or not to prune the element tree at a specific element and thus ignore its children.</li>
<li>The ConditionPolicy class is used to allow the user to decide how to apply a given condition on a collection of a model-element EAttributes or EReferences values. Supports both the: exists (ANY) and for-all (ALL) semantics.</li>
<li>The EObjectStructuralFeatureValueCondition class is the parent class for conditions that are responsible for checking the values held in model-elements attributes or references.</li>
</ol></p>
</div>
</div>
<div id="rightcolumn">
<div class="sideitem">
<h2>Current Status</h2>
<p>Development is underway for the proposed EMF Query 1.11.0 release for Eclipse Oxygen, due June 2017.</p>
</div>
<div class="sideitem">
<h2>EMF Query 1.10.0 Now Available</h2>
<p><i>June 22, 2016 -</i> EMF Query 1.10.0 for Eclipse Neon has been released. Check the <a href="downloads.php">Download</a> page.</p>
</div>
</div>
EOHTML;
# Generate the web page
$App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
?>