openjpa-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ppod...@apache.org
Subject svn commit: r1037111 - in /openjpa/sandboxes/jest: openjpa-persistence-jdbc/src/test/resources/org/apache/openjpa/persistence/jest/ openjpa-persistence/src/main/java/org/apache/openjpa/persistence/jest/ openjpa-persistence/src/main/resources/org/apache...
Date Sat, 20 Nov 2010 05:12:11 GMT
Author: ppoddar
Date: Sat Nov 20 05:12:10 2010
New Revision: 1037111

URL: http://svn.apache.org/viewvc?rev=1037111&view=rev
Log:
OPENJPA-1859: Make JEST deployable with separate persistence unit within the same visibility
scope. Restrict resource loading scope. 

Modified:
    openjpa/sandboxes/jest/openjpa-persistence-jdbc/src/test/resources/org/apache/openjpa/persistence/jest/instances.js
    openjpa/sandboxes/jest/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/jest/JESTContext.java
    openjpa/sandboxes/jest/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/jest/JESTServlet.java
    openjpa/sandboxes/jest/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/jest/ResourceCommand.java
    openjpa/sandboxes/jest/openjpa-persistence/src/main/resources/org/apache/openjpa/persistence/jest/index.html
    openjpa/sandboxes/jest/openjpa-persistence/src/main/resources/org/apache/openjpa/persistence/jest/jest.css

Modified: openjpa/sandboxes/jest/openjpa-persistence-jdbc/src/test/resources/org/apache/openjpa/persistence/jest/instances.js
URL: http://svn.apache.org/viewvc/openjpa/sandboxes/jest/openjpa-persistence-jdbc/src/test/resources/org/apache/openjpa/persistence/jest/instances.js?rev=1037111&r1=1037110&r2=1037111&view=diff
==============================================================================
--- openjpa/sandboxes/jest/openjpa-persistence-jdbc/src/test/resources/org/apache/openjpa/persistence/jest/instances.js
(original)
+++ openjpa/sandboxes/jest/openjpa-persistence-jdbc/src/test/resources/org/apache/openjpa/persistence/jest/instances.js
Sat Nov 20 05:12:10 2010
@@ -1,30 +1,50 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ * A JavaScript to render a set of instances as dojo widgets. 
+ */
 dojo.require("dijit.form.Button");
 dojo.require("dijit.TitlePane");
 dojo.ready(function(){
+	// data is supplied in a hidden div with id="data"
     var data = dojo.byId("data");
-//    var instances = dojo.query("instance", data);
-//    var tp = create(instances[0]);
-//    tp.domNode.style.width="140px";
-//    tp.domNode.style.position="absolute";
-//    tp.domNode.style.left="200px";
-//    tp.domNode.style.top="200px";
-//    var canvas = dojo.byId("canvas");
-//    canvas.appendChild(tp.domNode);
+    
+    // Find all instance node within data node and create TitlePanel for each 
+    var panels = new Array();
+    dojo.query("instance", data).forEach(function(item, index) {
+    	  var panel = create(item);
+    	  panels[index] = panel;
+    });
+
+    // widgets are placed on a empty div with id="canvas" 
     var canvas = dojo.byId("canvas");
-    dojo.query("instance", data).forEach(function(item) {
-    	  var tp = create(item);
-	      tp.domNode.style.width="140px";
-	      tp.domNode.style.position="absolute";
-    	    tp.domNode.style.left=Math.floor(Math.random()*500)+"px";
-    	    tp.domNode.style.top=Math.floor(Math.random()*200)+"px";
-            canvas.appendChild(tp.domNode);
+    // assign random location to each panel and add them to canvas
+    dojo.forEach(panels, function(item, index) {
+    	var domNode = item.domNode;
+    	domNode.style.width = "200px";
+    	domNode.style.position = "absolute";
+    	domNode.style.left  = 100 + (index % 5)*300 + "px";
+    	domNode.style.top   = 10 + Math.floor(index / 5)*200 +"px";
+    	canvas.appendChild(domNode);
     });
-//    var canvas = dojo.byId("canvas");
-//    for (pane in panes) {
-//	    pane.domNode.style.left=Math.floor(Math.random()*500)+"px";
-//	    pane.domNode.style.top=Math.floor(Math.random()*500)+"px";
-//        canvas.appendChild(pane.domNode);
-//    }
+
 });
 
 /**
@@ -55,16 +75,21 @@ function create(node) {
 		}
 	);
     
+	dojo.connect(pane, "onMouseDown", 
+		function(event){
+		  pane.domNode.style.cursor = "move";
+		}
+	);
 	dojo.connect(pane, "onMouseEnter", 
 			function(event){
 			  pane.domNode.style.cursor = "move";
 			}
 		);
 	dojo.connect(pane, "onMouseLeave", 
-			function(event){
-			  pane.domNode.style.cursor = "default";
-			}
-		);
+		function(event){
+		  pane.domNode.style.cursor = "default";
+		}
+	);
 	dojo.connect(pane, "onMouseUp", 
 		function(event){
 		  setPosition(pane, event);

Modified: openjpa/sandboxes/jest/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/jest/JESTContext.java
URL: http://svn.apache.org/viewvc/openjpa/sandboxes/jest/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/jest/JESTContext.java?rev=1037111&r1=1037110&r2=1037111&view=diff
==============================================================================
--- openjpa/sandboxes/jest/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/jest/JESTContext.java
(original)
+++ openjpa/sandboxes/jest/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/jest/JESTContext.java
Sat Nov 20 05:12:10 2010
@@ -93,9 +93,14 @@ public class JESTContext implements JPAS
     }
     
     public JESTCommand getCommand() {
-        String path = _request.getServletPath().substring(1);
-        int idx = path.indexOf('/');
-        String action = idx == -1 ? path : path.substring(0, idx);
+        debug(_request);
+        String path = _request.getPathInfo();
+        String action = "/";
+        if (path != null) {
+            int idx = path.substring(1).indexOf('/'); // non-null path always starts with
/
+            action = idx == -1 ? path.substring(1) : path.substring(1, idx);
+        }
+        System.err.println("Action = [" + action + "]");
         JESTCommand command = _cf.newInstance(action);
         command.parse(_request);
         
@@ -137,4 +142,14 @@ public class JESTContext implements JPAS
     public Log getLog() {
         return _log;
     }
+    
+    private void debug(HttpServletRequest request) {
+        System.err.println("-----------------------------------------------------------");
+        System.err.println("Request URL    = [" + request.getRequestURL() + "]");
+        System.err.println("Request URI    = [" + request.getRequestURI() + "]");
+        System.err.println("Servlet Path = [" + request.getServletPath() + "]");
+        System.err.println("Context Path = [" + request.getContextPath() + "]");
+        System.err.println("Path Info    = [" + request.getPathInfo() + "]");
+        System.err.println("Path Translated = [" + request.getPathTranslated() + "]");
+    }
 }

Modified: openjpa/sandboxes/jest/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/jest/JESTServlet.java
URL: http://svn.apache.org/viewvc/openjpa/sandboxes/jest/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/jest/JESTServlet.java?rev=1037111&r1=1037110&r2=1037111&view=diff
==============================================================================
--- openjpa/sandboxes/jest/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/jest/JESTServlet.java
(original)
+++ openjpa/sandboxes/jest/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/jest/JESTServlet.java
Sat Nov 20 05:12:10 2010
@@ -20,10 +20,7 @@
 package org.apache.openjpa.persistence.jest;
 
 import java.io.IOException;
-import java.util.HashMap;
-import java.util.Map;
 
-import javax.persistence.Persistence;
 import javax.servlet.ServletConfig;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
@@ -58,19 +55,15 @@ public class JESTServlet extends HttpSer
     private String _unit;
     private OpenJPAEntityManagerFactory _emf;
     
-    /**
-     * Initialization of the servlet recognizes following optional parameters
-     * <br>
-     * <table border="1" cellspacing="10">
-     * <tr><td>persistence.unit</td><td>name of the persistence unit</td></tr>
-     * <tr><td>response.format</td><td>default format for the response</td></tr>
-     * </table>
-     */
+    @Override
     public void init(ServletConfig config) throws ServletException {
         super.init(config);
         _unit = config.getInitParameter("persistence.unit");
-        if (_unit == null) _unit = getServletName();
-        initPersistenceUnit(_unit);
+        if (_unit == null) {
+            _unit = getServletName();
+        } 
+        System.err.println("JEST Servlet configured for browsing persistence unit [" + _unit
+ "]");
+        findPersistenceUnit();
     }
     
     /**
@@ -79,8 +72,13 @@ public class JESTServlet extends HttpSer
      */
     @Override
     public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException,
IOException {
+        OpenJPAEntityManagerFactory emf = findPersistenceUnit();
+        if (emf == null) {
+            handleError(new ServletException(_unit + " not found"), response);
+            return;
+        }
         try {
-            JPAServletContext ctx = new JESTContext(_unit,_emf.createEntityManager(), request,
response);
+            JPAServletContext ctx = new JESTContext(_unit, emf.createEntityManager(), request,
response);
             JESTCommand command = ctx.getCommand();
             command.process(ctx);
         } catch (Exception e) {
@@ -88,41 +86,25 @@ public class JESTServlet extends HttpSer
         }
     }
     
-    void initPersistenceUnit(String unit)  throws ServletException {
-        Map<String, Object> pconfig = new HashMap<String, Object>();
-        pconfig.put("openjpa.EntityManagerFactoryPool", "true");
-        if (Persistence.createEntityManagerFactory(unit, pconfig) == null) {
-            throw new ServletException("Can not create persistence unit [" + unit + "]");
-        }
-        BrokerFactory bf = AbstractBrokerFactory.getPooledFactoryForKey(unit);
-        if (bf == null) {
-            throw new ServletException("Can not get pooled internal persistence unit [" +
unit + "]");
-        }
-        _emf = (OpenJPAEntityManagerFactory)bf.getUserObject(JPAFacadeHelper.EMF_KEY);
+    protected OpenJPAEntityManagerFactory findPersistenceUnit()  throws ServletException
{
         if (_emf == null) {
-            throw new ServletException("Can not get user object from pooled internal persistence
unit [" + unit + "]");
+            System.err.println(this + " looking for pooled unit [" + _unit + "]");
+            BrokerFactory bf = AbstractBrokerFactory.getPooledFactoryForKey(_unit);
+            if (bf != null) {
+                System.err.println(this + " lookig for user object [" + JPAFacadeHelper.EMF_KEY
+ "]");
+                _emf = (OpenJPAEntityManagerFactory)bf.getUserObject(JPAFacadeHelper.EMF_KEY);
+            } else {
+                System.err.println(this + " can not find persistence unit [" + _unit + "]");
+            }
         }
+        return _emf;
     }
     
-    void handleError(Throwable t, HttpServletResponse response) throws IOException {
+    protected void handleError(Throwable t, HttpServletResponse response) throws IOException
{
         if (t instanceof ErrorFormatter) {
             ((ErrorFormatter)t).printStackTrace(response);
         } else {
             new ErrorFormatter(t).printStackTrace(response);
         }
     }
-    
-    /**
-        
-
-
-    
-    
-    Response domain(ServerContext server, OutputStream out)  throws Exception {
-        return new DomainResponse(this, server, _emf.getMetamodel(), out);
-    }
-
-    
-    
-*/
 }

Modified: openjpa/sandboxes/jest/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/jest/ResourceCommand.java
URL: http://svn.apache.org/viewvc/openjpa/sandboxes/jest/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/jest/ResourceCommand.java?rev=1037111&r1=1037110&r2=1037111&view=diff
==============================================================================
--- openjpa/sandboxes/jest/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/jest/ResourceCommand.java
(original)
+++ openjpa/sandboxes/jest/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/jest/ResourceCommand.java
Sat Nov 20 05:12:10 2010
@@ -30,7 +30,8 @@ import javax.servlet.http.HttpServletRes
 
 /**
  * A <em>default</em> command that interprets the URI as a resource.
- * The context root is implicitly resolved to a resource named <code>index.html</code>

+ * The context root is implicitly resolved to a resource named <code>index.html</code>.
+ * All resources are {@link Class#getResourceAsStream(String) resolved} relative to this
class itself.
  * 
  * @author Pinaki Poddar
  *
@@ -38,24 +39,25 @@ import javax.servlet.http.HttpServletRes
 public class ResourceCommand extends AbstractCommand {
     private String _resource;
     private static final String CONTEXT_ROOT  = "/";
-    private static final String ROOT_RESOURCE = "/index.html";
-    private static final String RESOURCE_PATH = ResourceCommand.class.getPackage().getName().replace('.',
'/');
+    private static final String ROOT_RESOURCE = "index.html";
     
     public String getAction() {
-        return "";
+        return _resource;
     }
     
+    /**
+     * Parses the {@link HttpServletRequest#getPathInfo() path info} to identify the resource.
+     * Path info always begins with <code>/</code> character. Drops the leading
<code>/</code>
+     * so that this class can {@link Class#getResourceAsStream(String) locate} the resource
+     * as a relative path.  
+     */
     public void parse(HttpServletRequest request) {
-        super.parse(request);
-        String path = request.getServletPath();
-        if (CONTEXT_ROOT.equals(path))
-            path = ROOT_RESOURCE;
-        _resource = RESOURCE_PATH + path;
-    }
-    
-    @Override
-    public void validate(HttpServletRequest request) {
-        
+        String path = request.getPathInfo();
+        if (path == null || path.length() == 0 || CONTEXT_ROOT.equals(path)) {
+            _resource = ROOT_RESOURCE;
+        } else {
+            _resource = path.substring(1);
+        }
     }
 
     
@@ -63,13 +65,9 @@ public class ResourceCommand extends Abs
         HttpServletRequest request = ctx.getRequest();
         HttpServletResponse response = ctx.getResponse();
         response.setHeader("Cache-Control", "public");
-        ClassLoader loader = getClass().getClassLoader();
-        InputStream in = loader.getResourceAsStream(_resource);
+        InputStream in = getClass().getResourceAsStream(_resource);
         if (in == null) {
-            in = request.getSession().getServletContext().getResourceAsStream(_resource);
-            if (in == null) {
-                throw new ErrorFormatter(_loc.get("resource-not-found", _resource), HttpURLConnection.HTTP_NOT_FOUND);
-            }
+            throw new ErrorFormatter(_loc.get("resource-not-found", _resource), HttpURLConnection.HTTP_NOT_FOUND);
         }
         try {
             String mimeType = request.getSession().getServletContext().getMimeType(_resource);
@@ -89,7 +87,7 @@ public class ResourceCommand extends Abs
                 }
             }
         } catch (IOException e) {
-            throw new ErrorFormatter(e);
+            throw new ErrorFormatter(e, _loc.get("resource-not-found", _resource), HttpURLConnection.HTTP_NOT_FOUND);
         }
     }
 }

Modified: openjpa/sandboxes/jest/openjpa-persistence/src/main/resources/org/apache/openjpa/persistence/jest/index.html
URL: http://svn.apache.org/viewvc/openjpa/sandboxes/jest/openjpa-persistence/src/main/resources/org/apache/openjpa/persistence/jest/index.html?rev=1037111&r1=1037110&r2=1037111&view=diff
==============================================================================
--- openjpa/sandboxes/jest/openjpa-persistence/src/main/resources/org/apache/openjpa/persistence/jest/index.html
(original)
+++ openjpa/sandboxes/jest/openjpa-persistence/src/main/resources/org/apache/openjpa/persistence/jest/index.html
Sat Nov 20 05:12:10 2010
@@ -16,11 +16,14 @@ KIND, either express or implied.  See th
 specific language governing permissions and limitations
 under the License.
 -->
+<!-- This is the root resource of JEST servlet.                                      -->
+<!-- All referenced resource are relative to this resource.                          -->
+<!-- Instead of src="images/x.jpg", use src="./images/x.jpg"                         -->
 <html>
 <head>
-<script language="javascript" type="text/javascript" src="showhide.js">
+<script language="javascript" type="text/javascript" src="./showhide.js">
 </script>
-<LINK href="jest.css" rel="stylesheet" type="text/css">
+<LINK href="./jest.css" rel="stylesheet" type="text/css">
 </head>
 <body>
 
@@ -28,10 +31,9 @@ under the License.
 
 <div id="home" style="display:block;">
 
-<p>JEST provides RESTful access to an OpenJPA-based application.
-The usage and state representation for JEST are described in 
- <a href="http://openjpa.apache.org/jest.html" target="_blank">OpenJPA web site.</a>
-<p>		 
+<p>JEST provides RESTful access to an OpenJPA-based application.<br>
+The documentation on JEST is available in 
+ <a href="http://openjpa.apache.org/jest.html" target="_blank">OpenJPA web site.</a>
 
 </div>
 
 <!-- the hard-coded argument to switchid() JavaScript method refers to the
@@ -40,11 +42,11 @@ The usage and state representation for J
  -->
 <table cellspacing="20">
 <tr>
-	<td><img alt="Deploy" src="images/monitor.jpg" width="100" height="100"></td>
-	<td><img alt="Find"   src="images/find.jpg" width="100" height="100"></td>
-	<td><img alt="Query"  src="images/query2.png"    width="100" height="100"></td>
-	<td><img alt="Browse" src="images/domain.jpg"   width="100" height="100"></td>
-	<td><img alt="View"   src="images/properties.jpg"  width="100" height="100"></td>
+	<td><img alt="Deploy" src="./images/monitor.jpg"     width="100" height="100"></td>
+	<td><img alt="Find"   src="./images/find.jpg"        width="100" height="100"></td>
+	<td><img alt="Query"  src="./images/query2.png"      width="100" height="100"></td>
+	<td><img alt="Browse" src="./images/domain.jpg"      width="100" height="100"></td>
+	<td><img alt="View"   src="./images/properties.jpg"  width="100" height="100"></td>
 </tr>
 <tr>
 	<td><a href="javascript:switchid('deploy');">Deploy</a> </td>
@@ -58,22 +60,30 @@ The usage and state representation for J
 <div id="deploy" style="display:none;">
 	You can deploy JEST as a servlet in a web application.
 	<hr>
-	For example, following definition in <code>WEB-INF/web.xml</code> will enable
JEST to
-	operate on a persistence unit named <code>jest</code> 
+	Following <code>WEB-INF/web.xml</code> descriptor will enable JEST to
+	operate on a persistence unit named <code>jestdemo</code>. Of course, JEST servlet
+	must be in the same module scope of the application that is using 
+	using <code>jestdemo</code> as its persistence unit.  
 	<br>
 <pre>
-<span style="color:green;font-weight:bold">&lt;servlet>
-  &lt;servlet-name><span style="color:blue">jest</span>&lt;/servlet-name>
-  &lt;servlet-class><span style="color:blue;font-weight:bold">org.apache.openjpa.persistence.jest.JESTServlet</span>&lt;/servlet-class>
-&lt;/servlet>
-&lt;servlet-mapping>
-  &lt;servlet-name><span style="color:blue">jest</span>&lt;/servlet-name>
-  &lt;url-pattern><span style="color:blue">/</span>&lt;/url-pattern>
-&lt;/servlet-mapping>
-</span>
+&lt;servlet&gt;
+  &lt;servlet-name&gt;<span style="color:blue">jest</span>&lt;/servlet-name&gt;
+  &lt;servlet-class&gt;<span style="color:blue;font-weight:bold">org.apache.openjpa.persistence.jest.JESTServlet</span>&lt;/servlet-class&gt;
+	&lt;init-param&gt;
+	  &lt;param-name&gt;<span style="color:red;font-weight:bold">persistence.unit</span>&lt;/param-name&gt;
+	  &lt;param-value&gt;<span style="color:blue">jestdemo</span>&lt;/param-value&gt;
+	&lt;/init-param&gt;
+&lt;/servlet&gt;
+&lt;servlet-mapping&gt;
+  &lt;servlet-name&gt;<span style="color:blue">jest</span>&lt;/servlet-name&gt;
+  &lt;url-pattern&gt;<span style="color:red">/jest/*</span>&lt;/url-pattern&gt;
+&lt;/servlet-mapping&gt;
+
 </pre>
-	You can reach JEST servlet deployed in a servlet container running on localhost at port
8080 by 
-	<code>http://localhost:8080/jest/</code> 
+	If you deploy an application named <code>demo</code> containing the above JEST
servlet 
+	in a servlet container running on <code>localhost</code> at port 8080, then
the JEST servlet
+	can be accessed at (<span style="color:red">do not miss the the trailing / character</span>)
<br>
+	<code class="url">http://localhost:8080/demo/jest/</code> 
 	<br>
 	<p>
 		<a href="http://openjpa.apache.org/jest-usage.html" target="_blank">more...</a>
@@ -82,8 +92,8 @@ The usage and state representation for J
 <div id="find" style="display:none;">
 	You can find persistent objects by simple or compound primary key.
 	<hr>
-	For example, <br>
-	<code class="url">http://www.jpa.com/jest/find?type=Person&12345</code>
+	
+	<code class="url">http://www.jpa.com/demo/jest/find?type=Person&12345</code>
 	<br>
 	will find a <code>Person</code> with primary key <code>12345</code>.
 	<p>
@@ -93,11 +103,14 @@ The usage and state representation for J
 <div id="query" style="display:none;">
 		 You can execute JPQL or named query with parameters.
 		 <hr>
-		 For example, <br>
-		 <code class="url">http://www.jpa.com/jest/query?q=select p from Person p where p.name=:name&name=John</code>
+		 <code class="url">http://www.jpa.com/demo/jest/query?q=select p from Person p where
p.name=:x&x=John</code>
 		 <br>
 		 will find a <code>Person</code> whose name is <code>John</code>.
-		 <p>
+		 <br>
+		 <code class="url">http://www.jpa.com/demo/jest/query/named?q=SelectPersonByName&x=John</code>
+		 <br>
+		 will do the same with an equivalent named query <code>SelectPersonByName</code>.
+		 <p> 
 		 
 		 <a href="http://openjpa.apache.org/jest-syntax.html" target="_blank">more...</a>
 </div>
@@ -105,8 +118,7 @@ The usage and state representation for J
 <div id="browse" style="display:none;">
 		 You can display the persistent domain model.
 		 <hr>
-		 For example, <br>
-		 <code class="url">http://www.jpa.com/jest/domain</code>
+		 <code class="url">http://www.jpa.com/demo/jest/domain</code>
 		 <br>
 		 will display the persistent domain model.
 		 <p>
@@ -116,8 +128,7 @@ The usage and state representation for J
 <div id="properties" style="display:none;">
 		 You can view the configuration properties of the persistence unit.
 		 <hr>
-		 For example, <br>
-		 <code class="url">http://www.jpa.com/jest/properties</code>
+		 <code class="url">http://www.jpa.com/demo/jest/properties</code>
 		 <br>
 		 will display the configuration properties of the persistence unit.
 		 <p>

Modified: openjpa/sandboxes/jest/openjpa-persistence/src/main/resources/org/apache/openjpa/persistence/jest/jest.css
URL: http://svn.apache.org/viewvc/openjpa/sandboxes/jest/openjpa-persistence/src/main/resources/org/apache/openjpa/persistence/jest/jest.css?rev=1037111&r1=1037110&r2=1037111&view=diff
==============================================================================
--- openjpa/sandboxes/jest/openjpa-persistence/src/main/resources/org/apache/openjpa/persistence/jest/jest.css
(original)
+++ openjpa/sandboxes/jest/openjpa-persistence/src/main/resources/org/apache/openjpa/persistence/jest/jest.css
Sat Nov 20 05:12:10 2010
@@ -30,6 +30,6 @@ a {
 
 .url {
 	color:blue;
-	font-weight:bold;
+	font-size:1.2em;
 	font-family:"Courier New", Arial;
 }



Mime
View raw message