hivemind-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From hivemind-...@jakarta.apache.org
Subject [Jakarta HiveMind Wiki] Updated: Examples
Date Mon, 07 Jun 2004 10:05:19 GMT
   Date: 2004-06-07T03:05:19
   Editor: MarkoKocic <markokocic@hotmail.com>
   Wiki: Jakarta HiveMind Wiki
   Page: Examples
   URL: http://wiki.apache.org/jakarta-hivemind/Examples

   no comment

Change Log:

------------------------------------------------------------------------------
@@ -43,3 +43,73 @@
     }
 }
 }}}
+
+----
+MarkoKocic:
+Ok, here's how to fetch Cayenne DataContext. Is there a better way?
+{{{
+hivemodule.sdl
+module (id=markko.hivemind version="1.0.0") {
+	service-point(id=CayenneService interface=markko.hivemind.CayenneService) {
+		create-instance(class=markko.hivemind.CayenneServiceImpl)
+		interceptor (service-id=hivemind.LoggingInterceptor)
+	}
+
+	service-point(id=DataService interface=markko.hivemind.DataService) {
+		invoke-factory (service-id=hivemind.BuilderFactory) 		{
+			construct (class=markko.hivemind.DataServiceImpl) 			{
+				set-service (property=cayenneService service-id=CayenneService)
+			}
+		}
+		interceptor (service-id=hivemind.LoggingInterceptor)
+	}
+}
+
+public interface CayenneService {
+	public DataContext getDataContext (); 
+}
+
+public class CayenneServiceImpl implements CayenneService {
+	static {
+		Configuration.bootstrapSharedConfiguration(CayenneService.class);
+	}
+	
+	public DataContext getDataContext() {
+		return Configuration.getSharedConfiguration().getDomain().createDataContext();
+	}
+}
+
+public interface DataService {
+	public Korisnik authenticate(String username, String password); 
+}
+
+public class DataServiceImpl implements DataService {
+
+	private CayenneService _cs;
+	public void setCayenneService(CayenneService cs) {
+		_cs = cs;
+	}
+	private DataContext getDataContext() {
+		return _cs.getDataContext();
+	}
+
+	public Korisnik authenticate(String username, String password) {
+		DataContext ctx = getDataContext();
+		
+		Map params = new HashMap();
+		params.put("username", username);
+		params.put("password", password);
+		Expression qual = Expression.fromString("username = $username and password = $password").expWithParameters(params);
+		
+		SelectQuery query = new SelectQuery(Korisnik.class, qual);
+		
+		List list = ctx.performQuery(query);
+		log.debug("size=" + list.size());
+		if (list.size() == 1)
+			return (Korisnik) list.get(0);
+		else
+			return null;
+	}
+}
+
+}}}

---------------------------------------------------------------------
To unsubscribe, e-mail: hivemind-cvs-unsubscribe@jakarta.apache.org
For additional commands, e-mail: hivemind-cvs-help@jakarta.apache.org


Mime
View raw message