Author: chabotc
Date: Fri Jun 6 06:57:37 2008
New Revision: 663944
URL: http://svn.apache.org/viewvc?rev=663944&view=rev
Log:
SHINDIG-351 Featureloader legibility of register recursion + removed a no
longer required debug statement
Modified:
incubator/shindig/trunk/php/src/gadgets/JsFeatureLoader.php
incubator/shindig/trunk/php/src/gadgets/JsLibrary.php
Modified: incubator/shindig/trunk/php/src/gadgets/JsFeatureLoader.php
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/php/src/gadgets/JsFeatureLoader.php?rev=663944&r1=663943&r2=663944&view=diff
==============================================================================
--- incubator/shindig/trunk/php/src/gadgets/JsFeatureLoader.php (original)
+++ incubator/shindig/trunk/php/src/gadgets/JsFeatureLoader.php Fri Jun 6
06:57:37 2008
@@ -22,19 +22,19 @@
public function loadFeatures($path, $registry)
{
- $registered = array();
- $entries = array();
- $deps = array();
- $deps = $this->loadFiles($path, $deps);
+ $alreadyRegistered = array();
+ $registeredFeatures = array();
+ $installedFeatures = array();
+ $this->loadFiles($path, $installedFeatures);
+
// This ensures that we register everything in the right order.
- foreach ($deps as $entry) {
- $feature = $entry;
- $feat = $this->register($registry, $feature,
$registered, $deps);
- if ($feat != null) {
- $entries[] = $feat;
+ foreach ($installedFeatures as $feature) {
+ $registeredFeature = $this->register($registry,
$feature, $alreadyRegistered, $installedFeatures, $registeredFeatures);
+ if ($registeredFeature != null) {
+ $registeredFeatures[] = $registeredFeature;
}
}
- return $entries;
+ return $registeredFeatures;
}
private function sortFeaturesFiles($feature1, $feature2)
@@ -62,7 +62,6 @@
}
}
}
- return $features;
}
private function processFile($file)
@@ -76,18 +75,23 @@
return $feature;
}
- private function register(&$registry, $feature, $registered, $all)
+ private function register(&$registry, $feature, &$alreadyRegistered,
$installedFeatures, &$registeredFeatures)
{
- if (isset($registered[$feature->name])) {
+ if (in_array($feature->name, $alreadyRegistered)) {
return null;
}
foreach ($feature->deps as $dep) {
- if (isset($all[$dep]) && ! in_array($dep, $registered))
{
- $this->register($registry, $all[$dep],
$registered, $all);
+ if (isset($installedFeatures[$dep]) && ! in_array($dep,
$alreadyRegistered)) {
+ $registeredFeature = $this->register($registry,
$installedFeatures[$dep], $alreadyRegistered, $installedFeatures,
$registeredFeatures);
+ if ($registeredFeature != null) {
+ // add dependency to list of loaded
features
+ $registeredFeatures[] =
$registeredFeature;
+ }
}
+ // Note: if a depency is missing, it is simply not
loaded. There is no check for that here
}
$factory = new JsLibraryFeatureFactory($feature->gadgetJs,
$feature->containerJs);
- $registered[] = $feature->name;
+ $alreadyRegistered[] = $feature->name;
return $registry->register($feature->name, $feature->deps,
$factory);
}
Modified: incubator/shindig/trunk/php/src/gadgets/JsLibrary.php
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/php/src/gadgets/JsLibrary.php?rev=663944&r1=663943&r2=663944&view=diff
==============================================================================
--- incubator/shindig/trunk/php/src/gadgets/JsLibrary.php (original)
+++ incubator/shindig/trunk/php/src/gadgets/JsLibrary.php Fri Jun 6 06:57:37
2008
@@ -55,9 +55,7 @@
}
$this->loaded = true;
}
- //FIXME purely for debugging, remove this asap!
- // puts a //LIB: <name of feature> above the JS of the feature
- return "\n\n//LIB: " . $this->featureName . "\n" .
$this->content;
+ return $this->content;
}
public function getFeatureName()