Author: chathura
Date: Mon Feb 4 23:26:51 2008
New Revision: 13248
Log:
Refactored media type handlers to return the saved path for import actions.
This allows media type handlers to save the imported files to any preferred
location and return the saved location back to the client.
Fixed the activity report problem in wsdl imports.
Added filters for restore and delete actions.
Modified:
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/JDBCRegistry.java
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/MediaTypeHandler.java
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/MediaTypeManager.java
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/builtin/Axis2RepositoryMediaTypeHandler.java
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/builtin/DefaultMediaTypeHandler.java
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/builtin/SQLQueryMediaTypeHandler.java
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/builtin/SynapseRepositoryMediaTypeHandler.java
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/builtin/WSDLMediaTypeHandler.java
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/builtin/XSDMediaTypeHandler.java
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/utils/WSDLFileProcessor.java
trunk/registry/modules/core/src/main/java/org/wso2/registry/utils/AuthorizationUtil.java
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/RecentActivityAction.java
trunk/registry/modules/webapps/src/main/webapp/admin/recent-activity.jsp
Modified:
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/JDBCRegistry.java
==============================================================================
---
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/JDBCRegistry.java
(original)
+++
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/JDBCRegistry.java
Mon Feb 4 23:26:51 2008
@@ -297,15 +297,19 @@
throws RegistryException {
suggestedPath = preparePath(suggestedPath);
- mediaTypeManager.importResource(suggestedPath, sourceURL, metadata);
+
+ String savedPath = mediaTypeManager.importResource(suggestedPath,
sourceURL, metadata);
Connection conn = getConnection();
try {
conn.setAutoCommit(false);
- long resourceID = resourceDAO.getResourceID(suggestedPath, conn);
- logsDAO.addLog(resourceID, User.getCurrentUser(), LogEntry.UPDATE,
null, conn);
+ long resourceID = resourceDAO.getResourceID(savedPath, conn);
+
+ if (resourceID != -1) {
+ logsDAO.addLog(resourceID, User.getCurrentUser(),
LogEntry.UPDATE, null, conn);
+ }
conn.commit();
Modified:
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/MediaTypeHandler.java
==============================================================================
---
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/MediaTypeHandler.java
(original)
+++
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/MediaTypeHandler.java
Mon Feb 4 23:26:51 2008
@@ -114,7 +114,7 @@
* importResource(...) method of the DefaultMediaTypeHandler will
be invoked.
* @throws RegistryException
*/
- public abstract boolean importResource(String path, String sourceURL,
Resource metadata)
+ public abstract String importResource(String path, String sourceURL,
Resource metadata)
throws RegistryException;
/**
Modified:
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/MediaTypeManager.java
==============================================================================
---
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/MediaTypeManager.java
(original)
+++
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/MediaTypeManager.java
Mon Feb 4 23:26:51 2008
@@ -185,10 +185,12 @@
}
}
- public void importResource(String path, String sourceURL, Resource
metadata)
+ public String importResource(String path, String sourceURL, Resource
metadata)
throws RegistryException {
String parentPath = getParentPath(path);
+ String savedPath = null;
+
if (parentPath != null) {
Resource parentCollection =
defaultMediaTypeHandler.get(parentPath, null);
@@ -212,14 +214,22 @@
(MediaTypeHandler)mediaTypeHandlers.get(metadata.getMediaType());
if (mediaTypeHandler != null) {
- if (!mediaTypeHandler.importResource(path, sourceURL,
metadata)) {
- defaultMediaTypeHandler.importResource(path, sourceURL,
metadata);
+ if ((savedPath =
+ mediaTypeHandler.importResource(path, sourceURL,
metadata)) == null) {
+
+ savedPath = defaultMediaTypeHandler.importResource(path,
sourceURL, metadata);
}
} else {
- defaultMediaTypeHandler.importResource(path, sourceURL,
metadata);
+ savedPath = defaultMediaTypeHandler.importResource(path,
sourceURL, metadata);
}
} else {
- defaultMediaTypeHandler.importResource(path, sourceURL, metadata);
+ savedPath = defaultMediaTypeHandler.importResource(path,
sourceURL, metadata);
+ }
+
+ if (savedPath != null) {
+ return savedPath;
+ } else {
+ return path;
}
}
Modified:
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/builtin/Axis2RepositoryMediaTypeHandler.java
==============================================================================
---
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/builtin/Axis2RepositoryMediaTypeHandler.java
(original)
+++
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/builtin/Axis2RepositoryMediaTypeHandler.java
Mon Feb 4 23:26:51 2008
@@ -73,9 +73,9 @@
return true;
}
- public boolean importResource(String path, String sourceURL, Resource
metadata)
+ public String importResource(String path, String sourceURL, Resource
metadata)
throws RegistryException {
- return false;
+ return null;
}
public boolean delete(String path) throws RegistryException {
Modified:
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/builtin/DefaultMediaTypeHandler.java
==============================================================================
---
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/builtin/DefaultMediaTypeHandler.java
(original)
+++
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/builtin/DefaultMediaTypeHandler.java
Mon Feb 4 23:26:51 2008
@@ -295,7 +295,7 @@
}
}
- public boolean importResource(String path, String sourceURL, Resource
metadata)
+ public String importResource(String path, String sourceURL, Resource
metadata)
throws RegistryException {
URL url;
@@ -333,7 +333,7 @@
String msg = "Could not read from the given URL: " + sourceURL;
throw new RegistryException(msg, e);
}
- return false;
+ return path;
}
public boolean delete(String path) throws RegistryException {
Modified:
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/builtin/SQLQueryMediaTypeHandler.java
==============================================================================
---
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/builtin/SQLQueryMediaTypeHandler.java
(original)
+++
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/builtin/SQLQueryMediaTypeHandler.java
Mon Feb 4 23:26:51 2008
@@ -57,9 +57,9 @@
return true;
}
- public boolean importResource(String path, String sourceURL, Resource
metadata)
+ public String importResource(String path, String sourceURL, Resource
metadata)
throws RegistryException {
- return false;
+ return null;
}
public boolean delete(String path) throws RegistryException {
Modified:
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/builtin/SynapseRepositoryMediaTypeHandler.java
==============================================================================
---
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/builtin/SynapseRepositoryMediaTypeHandler.java
(original)
+++
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/builtin/SynapseRepositoryMediaTypeHandler.java
Mon Feb 4 23:26:51 2008
@@ -95,9 +95,9 @@
return true;
}
- public boolean importResource(String path, String sourceURL, Resource
metadata)
+ public String importResource(String path, String sourceURL, Resource
metadata)
throws RegistryException {
- return false;
+ return null;
}
public boolean delete(String path) throws RegistryException {
Modified:
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/builtin/WSDLMediaTypeHandler.java
==============================================================================
---
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/builtin/WSDLMediaTypeHandler.java
(original)
+++
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/builtin/WSDLMediaTypeHandler.java
Mon Feb 4 23:26:51 2008
@@ -19,6 +19,7 @@
import org.wso2.registry.RegistryConstants;
import org.wso2.registry.RegistryException;
import org.wso2.registry.Resource;
+import org.wso2.registry.utils.AuthorizationUtil;
import org.wso2.registry.jdbc.mediatypes.MediaTypeHandler;
import org.wso2.registry.jdbc.mediatypes.MediaTypeManager;
import org.wso2.registry.jdbc.mediatypes.utils.WSDLFileProcessor;
@@ -50,11 +51,17 @@
return false;
}
- public boolean importResource(String path, String sourceURL, Resource
metadata)
+ public String importResource(String path, String sourceURL, Resource
metadata)
throws RegistryException {
- wsdlFileProcessor.saveWSDLFileToRegistry(sourceURL,
getParentPath(path), true, metadata);
- return true;
+ String savedName = wsdlFileProcessor.saveWSDLFileToRegistry(sourceURL,
getParentPath(path), true, metadata);
+ String parentPath = AuthorizationUtil.getParentPath(path);
+
+ if (parentPath.endsWith(RegistryConstants.PATH_SEPARATOR)) {
+ return parentPath + savedName;
+ } else {
+ return parentPath + RegistryConstants.PATH_SEPARATOR + savedName;
+ }
}
public boolean delete(String path) throws RegistryException {
Modified:
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/builtin/XSDMediaTypeHandler.java
==============================================================================
---
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/builtin/XSDMediaTypeHandler.java
(original)
+++
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/builtin/XSDMediaTypeHandler.java
Mon Feb 4 23:26:51 2008
@@ -51,12 +51,12 @@
return false;
}
- public boolean importResource(String path, String sourceURL, Resource
metadata)
+ public String importResource(String path, String sourceURL, Resource
metadata)
throws RegistryException {
schemaFileProcessor
.saveSchemaFileToRegistry(sourceURL, getParentPath(path),
true, metadata);
- return true;
+ return path;
}
public boolean delete(String path) throws RegistryException {
Modified:
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/utils/WSDLFileProcessor.java
==============================================================================
---
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/utils/WSDLFileProcessor.java
(original)
+++
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/utils/WSDLFileProcessor.java
Mon Feb 4 23:26:51 2008
@@ -58,12 +58,13 @@
* @param location
* @throws WSDLException
*/
- public void saveWSDLFileToRegistry(String location,
- String registryBasePath,
- boolean processImports,
- Resource metadata)
+ public String saveWSDLFileToRegistry(String location,
+ String registryBasePath,
+ boolean processImports,
+ Resource metadata)
throws RegistryException {
WSDLReader wsdlReader = null;
+ String fileNameToSave = null;
try {
wsdlReader = WSDLFactory.newInstance().newWSDLReader();
@@ -77,17 +78,22 @@
try {
wsdlDefinition = wsdlReader.readWSDL(location);
+ String baseUri = wsdlDefinition.getDocumentBaseURI();
+ String wsdlFileName = baseUri.substring(baseUri.lastIndexOf("/") +
1);
+ fileNameToSave = wsdlFileName.substring(0,
wsdlFileName.indexOf(".")) + ".wsdl";
} catch (WSDLException e) {
String msg = "Could not read the wsdl at location " + location +
". Caused by: " +
- e.getMessage();
+ e.getMessage();
throw new RegistryException(msg);
}
Map processedWSDLMap = new HashMap();
calculateWSDLNamesAndChangeTypes(wsdlDefinition, processedWSDLMap, new
HashMap(),
- new HashSet(), registryBasePath,
processImports);
+ new HashSet(), registryBasePath, processImports);
saveWSDLFileToRegistry(wsdlDefinition, processedWSDLMap, new
HashSet(), registryBasePath,
- processImports, metadata);
+ processImports, metadata);
+
+ return fileNameToSave;
}
/**
@@ -203,7 +209,7 @@
if
(!visitedWSDLs.contains(innerDefinition.getDocumentBaseURI())) {
// we have not process this wsdl file earlier
saveWSDLFileToRegistry(innerDefinition,
processedWSDLMap, visitedWSDLs,
- registryBasePath,
processImports, null);
+ registryBasePath, processImports, null);
}
// set the import location according to the new location
wsdlImport.setLocationURI((String)processedWSDLMap.get(
@@ -213,8 +219,7 @@
}
// after processing the defintions save this to the registry
- // TODO: save this to the registry for the moment save this to the
- // folder and omit any exception occurs.
+ // save this to the registry
String importedResourceName =
(String)processedWSDLMap.get(wsdlDefinition.getDocumentBaseURI());
try {
Modified:
trunk/registry/modules/core/src/main/java/org/wso2/registry/utils/AuthorizationUtil.java
==============================================================================
---
trunk/registry/modules/core/src/main/java/org/wso2/registry/utils/AuthorizationUtil.java
(original)
+++
trunk/registry/modules/core/src/main/java/org/wso2/registry/utils/AuthorizationUtil.java
Mon Feb 4 23:26:51 2008
@@ -262,7 +262,7 @@
}
}
- private static String getParentPath(String childPath) {
+ public static String getParentPath(String childPath) {
if (childPath.equals(RegistryConstants.ROOT_PATH)) {
return null;
Modified:
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/RecentActivityAction.java
==============================================================================
---
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/RecentActivityAction.java
(original)
+++
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/RecentActivityAction.java
Mon Feb 4 23:26:51 2008
@@ -75,6 +75,9 @@
} else if (filter.equals("restore")) {
filterValue = LogEntry.RESTORE;
+
+ } else if (filter.equals("delete")) {
+ filterValue = LogEntry.DELETE_RESOURCE;
}
SecureRegistry secureRegistry = (SecureRegistry) getRegistry();
Modified:
trunk/registry/modules/webapps/src/main/webapp/admin/recent-activity.jsp
==============================================================================
--- trunk/registry/modules/webapps/src/main/webapp/admin/recent-activity.jsp
(original)
+++ trunk/registry/modules/webapps/src/main/webapp/admin/recent-activity.jsp
Mon Feb 4 23:26:51 2008
@@ -114,7 +114,9 @@
<td>
<select name="filter">
<option value ="all">All</option>
- <option value ="resourceActions">Resource
Actions</option>
+ <option value ="resourceActions">Resource
Updates</option>
+ <option value ="delete">Resource Deletes</option>
+ <option value ="restore">Resource Restores</option>
<option value ="commentings">Comments</option>
<option value ="taggings">Tagging</option>
<option value ="ratings">Ratings</option>
_______________________________________________
Registry-dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/registry-dev