You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by ja...@apache.org on 2008/03/18 23:43:02 UTC
svn commit: r638618 - in
/ofbiz/trunk/framework/webtools/src/org/ofbiz/webtools/artifactinfo:
ArtifactInfoFactory.java ControllerViewArtifactInfo.java
Author: jacopoc
Date: Tue Mar 18 15:42:55 2008
New Revision: 638618
URL: http://svn.apache.org/viewvc?rev=638618&view=rev
Log:
First pass for controller's request/view artifact preparation.
Modified:
ofbiz/trunk/framework/webtools/src/org/ofbiz/webtools/artifactinfo/ArtifactInfoFactory.java
ofbiz/trunk/framework/webtools/src/org/ofbiz/webtools/artifactinfo/ControllerViewArtifactInfo.java
Modified: ofbiz/trunk/framework/webtools/src/org/ofbiz/webtools/artifactinfo/ArtifactInfoFactory.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/webtools/src/org/ofbiz/webtools/artifactinfo/ArtifactInfoFactory.java?rev=638618&r1=638617&r2=638618&view=diff
==============================================================================
--- ofbiz/trunk/framework/webtools/src/org/ofbiz/webtools/artifactinfo/ArtifactInfoFactory.java (original)
+++ ofbiz/trunk/framework/webtools/src/org/ofbiz/webtools/artifactinfo/ArtifactInfoFactory.java Tue Mar 18 15:42:55 2008
@@ -149,9 +149,11 @@
String rootComponentPath = componentConfig.getRootLocation();
List<File> screenFiles = null;
List<File> formFiles = null;
+ List<File> controllerFiles = null;
try {
screenFiles = this.findScreenWidgetDefinitionFiles(rootComponentPath);
formFiles = this.findFormWidgetDefinitionFiles(rootComponentPath);
+ controllerFiles = this.findWebappControllerFiles(rootComponentPath);
} catch(IOException ioe) {
throw new GeneralException(ioe.getMessage());
}
@@ -193,17 +195,22 @@
}
}
}
- }
-
- // TODO: get all controller requests and views to prepare
- Set<URL> controllerUrlSet = FastSet.newInstance();
- for (URL controllerUrl: controllerUrlSet) {
- ControllerConfig cc = ConfigXMLReader.getControllerConfig(controllerUrl);
- for (String requestUri: cc.requestMap.keySet()) {
- this.getControllerRequestArtifactInfo(controllerUrl, requestUri);
- }
- for (String viewUri: cc.viewMap.keySet()) {
- this.getControllerViewArtifactInfo(controllerUrl, viewUri);
+ if (controllerFiles != null) {
+ for (File controllerFile: controllerFiles) {
+ URL controllerUrl = null;
+ try {
+ controllerUrl = controllerFile.toURL();
+ } catch(MalformedURLException mue) {
+ throw new GeneralException(mue.getMessage());
+ }
+ ControllerConfig cc = ConfigXMLReader.getControllerConfig(controllerUrl);
+ for (String requestUri: cc.requestMap.keySet()) {
+ this.getControllerRequestArtifactInfo(controllerUrl, requestUri);
+ }
+ for (String viewUri: cc.viewMap.keySet()) {
+ this.getControllerViewArtifactInfo(controllerUrl, viewUri);
+ }
+ }
}
}
}
@@ -444,6 +451,43 @@
}
if (UtilValidate.isNotEmpty(xmlFile)) {
return xmlFile.indexOf("<screens ") > 0 && xmlFile.indexOf("widget-screen.xsd") > 0;
+ }
+ } else {
+ return false;
+ }
+ return false;
+ }
+ }, true);
+ return fileList;
+ }
+
+ public static List<File> findWebappControllerFiles(String basePath) throws IOException {
+ if (basePath == null) {
+ basePath = System.getProperty("ofbiz.home");
+ }
+ List<File> fileList = FastList.newInstance();
+ FileUtil.searchFiles(fileList, new File(basePath), new FilenameFilter() {
+ public boolean accept(File dir, String name) {
+ File file = new File(dir, name);
+ if (file.getName().startsWith(".")) {
+ return false;
+ }
+ if (file.isDirectory()) {
+ return true;
+ }
+ if (name.endsWith(".xml")) {
+ String xmlFile = null;
+ try {
+ xmlFile = FileUtil.readTextFile(file, true).toString();
+ } catch (FileNotFoundException e) {
+ Debug.logWarning("Error reading xml file [" + file + "] for service implementation: " + e.toString(), module);
+ return false;
+ } catch (IOException e) {
+ Debug.logWarning("Error reading xml file [" + file + "] for service implementation: " + e.toString(), module);
+ return false;
+ }
+ if (UtilValidate.isNotEmpty(xmlFile)) {
+ return xmlFile.indexOf("<site-conf ") > 0 && xmlFile.indexOf("site-conf.xsd") > 0;
}
} else {
return false;
Modified: ofbiz/trunk/framework/webtools/src/org/ofbiz/webtools/artifactinfo/ControllerViewArtifactInfo.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/webtools/src/org/ofbiz/webtools/artifactinfo/ControllerViewArtifactInfo.java?rev=638618&r1=638617&r2=638618&view=diff
==============================================================================
--- ofbiz/trunk/framework/webtools/src/org/ofbiz/webtools/artifactinfo/ControllerViewArtifactInfo.java (original)
+++ ofbiz/trunk/framework/webtools/src/org/ofbiz/webtools/artifactinfo/ControllerViewArtifactInfo.java Tue Mar 18 15:42:55 2008
@@ -46,7 +46,7 @@
this.viewUri = viewUri;
this.viewInfoMap = aif.getControllerViewInfoMap(controllerXmlUrl, viewUri);
-
+
// populate screenCalledByThisView and reverse in aif.allViewInfosReferringToScreen
if ("screen".equals(this.viewInfoMap.get(ConfigXMLReader.VIEW_TYPE))) {
String fullScreenName = this.viewInfoMap.get(ConfigXMLReader.VIEW_PAGE);