From 5ededf0d64c4b7994fb51db05c3e59ccbf905753 Mon Sep 17 00:00:00 2001 From: Benjamin Culkin Date: Wed, 17 Jan 2024 20:12:21 -0500 Subject: Initial commit --- Sources/com/ashardalon/pagic/Application.java | 24 ++++++++++++ Sources/com/ashardalon/pagic/DirectAction.java | 19 ++++++++++ Sources/com/ashardalon/pagic/Session.java | 10 +++++ Sources/com/ashardalon/pagic/components/Main.java | 11 ++++++ .../pagic/rest/controllers/BaseRestController.java | 43 ++++++++++++++++++++++ .../pagic/rest/controllers/PagesController.java | 28 ++++++++++++++ 6 files changed, 135 insertions(+) create mode 100644 Sources/com/ashardalon/pagic/Application.java create mode 100644 Sources/com/ashardalon/pagic/DirectAction.java create mode 100644 Sources/com/ashardalon/pagic/Session.java create mode 100644 Sources/com/ashardalon/pagic/components/Main.java create mode 100644 Sources/com/ashardalon/pagic/rest/controllers/BaseRestController.java create mode 100644 Sources/com/ashardalon/pagic/rest/controllers/PagesController.java (limited to 'Sources/com') diff --git a/Sources/com/ashardalon/pagic/Application.java b/Sources/com/ashardalon/pagic/Application.java new file mode 100644 index 0000000..374d2dd --- /dev/null +++ b/Sources/com/ashardalon/pagic/Application.java @@ -0,0 +1,24 @@ +package com.ashardalon.pagic; + +import er.extensions.appserver.ERXApplication; +import er.rest.routes.ERXRoute; +import er.rest.routes.ERXRouteRequestHandler; +import com.ashardalon.pagic.components.Main; +import com.ashardalon.pagic.rest.controllers.PagesController; + +public class Application extends ERXApplication { + public static void main(String[] argv) { + ERXApplication.main(argv, Application.class); + } + + public Application() { + ERXApplication.log.info("Welcome to " + name() + " !"); + /* ** put your initialization code in here ** */ + setAllowsConcurrentRequestHandling(true); + + ERXRouteRequestHandler restRequestHandler = new ERXRouteRequestHandler(); + restRequestHandler.insertRoute(new ERXRoute("Pages", "", ERXRoute.Method.Get, PagesController.class, "mainPage")); + ERXRouteRequestHandler.register(restRequestHandler); + setDefaultRequestHandler(restRequestHandler); + } +} \ No newline at end of file diff --git a/Sources/com/ashardalon/pagic/DirectAction.java b/Sources/com/ashardalon/pagic/DirectAction.java new file mode 100644 index 0000000..616afcb --- /dev/null +++ b/Sources/com/ashardalon/pagic/DirectAction.java @@ -0,0 +1,19 @@ +package com.ashardalon.pagic; + +import com.webobjects.appserver.WOActionResults; +import com.webobjects.appserver.WORequest; + +import er.extensions.appserver.ERXDirectAction; + +import com.ashardalon.pagic.components.Main; + +public class DirectAction extends ERXDirectAction { + public DirectAction(WORequest request) { + super(request); + } + + @Override + public WOActionResults defaultAction() { + return pageWithName(Main.class.getName()); + } +} diff --git a/Sources/com/ashardalon/pagic/Session.java b/Sources/com/ashardalon/pagic/Session.java new file mode 100644 index 0000000..c4ebc04 --- /dev/null +++ b/Sources/com/ashardalon/pagic/Session.java @@ -0,0 +1,10 @@ +package com.ashardalon.pagic; + +import er.extensions.appserver.ERXSession; + +public class Session extends ERXSession { + private static final long serialVersionUID = 1L; + + public Session() { + } +} diff --git a/Sources/com/ashardalon/pagic/components/Main.java b/Sources/com/ashardalon/pagic/components/Main.java new file mode 100644 index 0000000..f64be1d --- /dev/null +++ b/Sources/com/ashardalon/pagic/components/Main.java @@ -0,0 +1,11 @@ +package com.ashardalon.pagic.components; + +import com.webobjects.appserver.WOContext; + +import er.extensions.components.ERXComponent; + +public class Main extends ERXComponent { + public Main(WOContext context) { + super(context); + } +} diff --git a/Sources/com/ashardalon/pagic/rest/controllers/BaseRestController.java b/Sources/com/ashardalon/pagic/rest/controllers/BaseRestController.java new file mode 100644 index 0000000..a69d784 --- /dev/null +++ b/Sources/com/ashardalon/pagic/rest/controllers/BaseRestController.java @@ -0,0 +1,43 @@ +package com.ashardalon.pagic.rest.controllers; + +import com.webobjects.appserver.WOActionResults; +import com.webobjects.appserver.WORequest; + +import er.extensions.appserver.ERXHttpStatusCodes; +import er.rest.routes.ERXDefaultRouteController; + +public class BaseRestController extends ERXDefaultRouteController { + + public BaseRestController(WORequest request) { + super(request); + } + + public WOActionResults updateAction() throws Throwable { + return errorResponse(ERXHttpStatusCodes.METHOD_NOT_ALLOWED); + } + + public WOActionResults createAction() throws Throwable { + return errorResponse(ERXHttpStatusCodes.METHOD_NOT_ALLOWED); + } + + @Override + public WOActionResults newAction() throws Throwable { + return errorResponse(ERXHttpStatusCodes.METHOD_NOT_ALLOWED); + } + + @Override + public WOActionResults destroyAction() throws Throwable { + return errorResponse(ERXHttpStatusCodes.METHOD_NOT_ALLOWED); + } + + @Override + public WOActionResults showAction() throws Throwable { + return errorResponse(ERXHttpStatusCodes.METHOD_NOT_ALLOWED); + } + + @Override + public WOActionResults indexAction() throws Throwable { + return errorResponse(ERXHttpStatusCodes.METHOD_NOT_ALLOWED); + } + +} diff --git a/Sources/com/ashardalon/pagic/rest/controllers/PagesController.java b/Sources/com/ashardalon/pagic/rest/controllers/PagesController.java new file mode 100644 index 0000000..29ccc5f --- /dev/null +++ b/Sources/com/ashardalon/pagic/rest/controllers/PagesController.java @@ -0,0 +1,28 @@ +package com.ashardalon.pagic.rest.controllers; + +import com.ashardalon.pagic.components.Main; + +import com.webobjects.appserver.WOActionResults; +import com.webobjects.appserver.WORequest; + +import er.rest.format.ERXRestFormat; + +/** + * This controller is for content that is not EO entities driven, e.g. "static pages" +*/ +public class PagesController extends BaseRestController { + + public PagesController(WORequest request) { + super(request); + } + + public WOActionResults mainPageAction() { + return pageWithName(Main.class); + } + + @Override + protected ERXRestFormat defaultFormat() { + return ERXRestFormat.html(); + } + +} -- cgit v1.2.3