[Yanel-commits] rev 27582 -
public/yanel/contributions/resources/redirect/src/java/org/wyona/yanel/impl/resources
michi at wyona.com
michi at wyona.com
Mon Sep 24 14:10:08 CEST 2007
Author: michi
Date: 2007-09-24 14:10:07 +0200 (Mon, 24 Sep 2007)
New Revision: 27582
Modified:
public/yanel/contributions/resources/redirect/src/java/org/wyona/yanel/impl/resources/RedirectResource.java
Log:
also check on localization
Modified: public/yanel/contributions/resources/redirect/src/java/org/wyona/yanel/impl/resources/RedirectResource.java
===================================================================
--- public/yanel/contributions/resources/redirect/src/java/org/wyona/yanel/impl/resources/RedirectResource.java 2007-09-24 10:50:27 UTC (rev 27581)
+++ public/yanel/contributions/resources/redirect/src/java/org/wyona/yanel/impl/resources/RedirectResource.java 2007-09-24 12:10:07 UTC (rev 27582)
@@ -1,5 +1,5 @@
/*
- * Copyright 2006 Wyona
+ * Copyright 2007 Wyona
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -88,27 +88,45 @@
if (defaultHref == null) throw new Exception("No default redirect has been set!");
+ // Default
response.setStatus(307);
response.setHeader("Location", defaultHref);
+
+ ResourceConfiguration rc = getConfiguration();
+ Document customConfigDoc = rc.getCustomConfiguration();
+ if (customConfigDoc != null) {
+ Configuration config = ConfigurationUtil.toConfiguration(customConfigDoc.getDocumentElement());
+
+ // Localization
+ Configuration[] languageRedirectConfigs = config.getChildren("language");
+ String localizationLanguage = getRequestedLanguage();
+ log.error("DEBUG: Localization: " + localizationLanguage);
+ for (int i = 0; i < languageRedirectConfigs.length; i++) {
+ try {
+ if (languageRedirectConfigs[i].getAttribute("code").equals(localizationLanguage)) {
+ response.setStatus(307);
+ response.setHeader("Location", languageRedirectConfigs[i].getAttribute("href"));
+ }
+ } catch (Exception e) {
+ log.error(e.getMessage(), e);
+ throw e;
+ }
+ }
- String currentUser = null;
- Identity identity = getIdentity(getRequest());
- if (identity != null) {
- currentUser = identity.getUsername();
- }
-
- if (currentUser != null) {
- ResourceConfiguration rc = getConfiguration();
- Document customConfigDoc = rc.getCustomConfiguration();
- if (customConfigDoc != null) {
- Configuration config = ConfigurationUtil.toConfiguration(customConfigDoc.getDocumentElement());
- Configuration[] redirectConfigs = config.getChildren("user");
-
- for (int i = 0; i < redirectConfigs.length; i++) {
+
+ // Username
+ String currentUser = null;
+ Identity identity = getIdentity(getRequest());
+ if (identity != null) {
+ currentUser = identity.getUsername();
+ }
+ if (currentUser != null) {
+ Configuration[] userRedirectConfigs = config.getChildren("user");
+ for (int i = 0; i < userRedirectConfigs.length; i++) {
try {
- if (redirectConfigs[i].getAttribute("name") == currentUser || (currentUser).equals(redirectConfigs[i].getAttribute("name"))) {
+ if (userRedirectConfigs[i].getAttribute("name") == currentUser || (currentUser).equals(userRedirectConfigs[i].getAttribute("name"))) {
response.setStatus(307);
- response.setHeader("Location", redirectConfigs[i].getAttribute("href"));
+ response.setHeader("Location", userRedirectConfigs[i].getAttribute("href"));
}
} catch (Exception e) {
log.error(e.getMessage(), e);
More information about the Yanel-commits
mailing list