[Yanel-dev] back2realm, back2context
simon litwan
simon.litwan at wyona.com
Fri Feb 9 15:43:49 CET 2007
Josias Thöny schrieb:
> simon litwan wrote:
>> Josias Thöny schrieb:
>>> simon litwan wrote:
>>>> hi all
>>>>
>>>> at the moment every resource implements back2realm and back2context
>>>> for it self.
>>>> i think it would be cool if this would be centralized.
>>>>
>>>> couldn't we add this methodes to the PathUtil?
>>>
>>> +1
>>> This makes a lot of sense, thanks for bringing this up.
>>
>>
>> would this make sense?
>> i'm not sure about importing rhe realm and overgive a realm to the
>> methode backToContext.
>> can you give me a feedback?
>
> The code looks good.
> Perhaps we could add an additional method:
>
> public static String backToContext(Realm realm, String path) {
> return backToContext(realm) + backToRealm(path);
> }
>
> because in most cases we probably need to do both at the same time. WDYT?
good idea +1
>
> BTW, if you have time you could write a junit test (PathUtilTest.java)
> to test those methods (with tests for special cases, e.g. empty path etc).
will have a look.
simon
>
> thanks,
> josias
>
>>
>> package org.wyona.commons.io;
>>
>> import org.apache.log4j.Category;
>> import org.wyona.yanel.core.map.Realm;
>>
>> /**
>> *
>> */
>> public class PathUtil {
>>
>> private static Category log = Category.getInstance(PathUtil.class);
>>
>> /**
>> *
>> */
>> public static String getName(String path) {
>> // Quick and dirty
>> return new java.io.File(path).getName();
>> }
>>
>> /**
>> *
>> */
>> public static String getParent(String path) {
>> // Quick and dirty
>> String parent = new java.io.File(path).getParent();
>> return parent;
>> }
>>
>> /**
>> * Return null if no suffix exists
>> */
>> public static String getSuffix(String path) {
>> int lio = path.lastIndexOf(".");
>> log.debug(new Integer(lio));
>> if (lio < 0) return null;
>> return path.substring(lio + 1);
>> }
>>
>> /**
>> * @return a String with as many ../ as it needs to go back to
>> from current realm to context
>> */
>> public static String backToContext(Realm realm) {
>> String backToContext = "";
>> int steps = realm.getMountPoint().split("/").length - 1;
>>
>> for (int i = 0; i < steps; i++) {
>> backToContext = backToContext + "../";
>> }
>> return backToContext;
>> }
>>
>> /**
>> * @return a String with as many ../ as it needs to go back to
>> from current resource to the realm-root
>> */
>> public static String backToRoot(String path) {
>> String backToRoot = "";
>> int steps;
>>
>> if (path.endsWith("/") && !path.equals("/")) {
>> steps = path.split("/").length - 1;
>> } else {
>> steps = path.split("/").length - 2;
>> }
>> for (int i = 0; i < steps; i++) {
>> backToRoot = backToRoot + "../";
>> }
>> return backToRoot;
>> }
>>
>> }
>>
>>
>> simon
>>
>>
>>>
>>> josias
>>>
>>>>
>>>> WDOT?
>>>>
>>>> simon
>>>>
>>>>
>>>
>>>
>>> _______________________________________________
>>> Yanel-development mailing list
>>> Yanel-development at wyona.com
>>> http://wyona.com/cgi-bin/mailman/listinfo/yanel-development
>>>
>>
>>
>
>
> _______________________________________________
> Yanel-development mailing list
> Yanel-development at wyona.com
> http://wyona.com/cgi-bin/mailman/listinfo/yanel-development
>
--
Simon Litwan simon.litwan at wyona.com
Wyona Inc. - Open Source Content Management - Apache Lenya
http://www.wyona.com http://lenya.apache.org
More information about the Yanel-development
mailing list