]> err.no Git - sope/commitdiff
moved some classes out of WOComponentDefinition
authorhelge <helge@e4a50df8-12e2-0310-a44c-efbce7f8a7e3>
Mon, 28 Mar 2005 14:54:04 +0000 (14:54 +0000)
committerhelge <helge@e4a50df8-12e2-0310-a44c-efbce7f8a7e3>
Mon, 28 Mar 2005 14:54:04 +0000 (14:54 +0000)
git-svn-id: http://svn.opengroupware.org/SOPE/trunk@702 e4a50df8-12e2-0310-a44c-efbce7f8a7e3

sope-appserver/NGObjWeb/ChangeLog
sope-appserver/NGObjWeb/DynamicElements/GNUmakefile
sope-appserver/NGObjWeb/DynamicElements/WONoContentElement.h [new file with mode: 0644]
sope-appserver/NGObjWeb/DynamicElements/WONoContentElement.m [new file with mode: 0644]
sope-appserver/NGObjWeb/DynamicElements/_WOStaticHTMLElement.h [new file with mode: 0644]
sope-appserver/NGObjWeb/DynamicElements/_WOStaticHTMLElement.m [new file with mode: 0644]
sope-appserver/NGObjWeb/Version
sope-appserver/NGObjWeb/WOComponent.m
sope-appserver/NGObjWeb/WOComponentDefinition.m

index 58f2e9f440618a154f218cbf9d1dcd0ed26f4a1d..9318fdffb1c3cbc97b42960f5876a231a63520cb 100644 (file)
@@ -1,3 +1,9 @@
+2005-03-28  Helge Hess  <helge.hess@opengroupware.org>
+
+       * WOComponentDefinition.m: moved WONoContentElement and
+         _WOStaticHTMLElement classes to own files in DynamicElements
+         (v4.5.144)
+
 2005-03-25  Helge Hess  <helge.hess@opengroupware.org>
 
        * WebDAV/SoObjectDataSource.m: fixed a small memory leak (v4.5.143)
index 268d3785bb6619af5b5fd6a6cd409d7f81aac6a0..0a73c0be8e8c9074744e359c4cee59970080195d 100644 (file)
@@ -53,6 +53,9 @@ DynamicElements_OBJC_FILES = \
        WOVBScript.m            \
        WOEntity.m              \
        WOSetCursor.m           \
+       \
+       WONoContentElement.m    \
+       _WOStaticHTMLElement.m  \
 
 DynamicElements_OBJC_FILES += \
        _WOConstResourceImage.m \
diff --git a/sope-appserver/NGObjWeb/DynamicElements/WONoContentElement.h b/sope-appserver/NGObjWeb/DynamicElements/WONoContentElement.h
new file mode 100644 (file)
index 0000000..e6a8ead
--- /dev/null
@@ -0,0 +1,49 @@
+/*
+  Copyright (C) 2000-2005 SKYRIX Software AG
+
+  This file is part of SOPE.
+
+  SOPE is free software; you can redistribute it and/or modify it under
+  the terms of the GNU Lesser General Public License as published by the
+  Free Software Foundation; either version 2, or (at your option) any
+  later version.
+
+  SOPE is distributed in the hope that it will be useful, but WITHOUT ANY
+  WARRANTY; without even the implied warranty of MERCHANTABILITY or
+  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
+  License for more details.
+
+  You should have received a copy of the GNU Lesser General Public
+  License along with SOPE; see the file COPYING.  If not, write to the
+  Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+  02111-1307, USA.
+*/
+
+#ifndef __NGObjWeb_WONoContentElement_H__
+#define __NGObjWeb_WONoContentElement_H__
+
+#include <NGObjWeb/WOElement.h>
+
+/*
+  WONoContentElement 
+  
+  This is a private element used by the WOComponentDefinition.
+*/
+
+@class NSString, NSArray, NSDictionary;
+@class WOComponentDefinition;
+
+@interface WONoContentElement : WOElement
+{
+  WOComponentDefinition *cdef;
+  NSString *element;
+}
+
+- (id)initWithElementName:(NSString *)_elementName
+  attributes:(NSDictionary *)_attributes
+  contentElements:(NSArray *)_subElements
+  componentDefinition:(WOComponentDefinition *)_cdef;
+
+@end
+
+#endif /* __NGObjWeb_WONoContentElement_H__ */
diff --git a/sope-appserver/NGObjWeb/DynamicElements/WONoContentElement.m b/sope-appserver/NGObjWeb/DynamicElements/WONoContentElement.m
new file mode 100644 (file)
index 0000000..fa95763
--- /dev/null
@@ -0,0 +1,53 @@
+/*
+  Copyright (C) 2000-2005 SKYRIX Software AG
+
+  This file is part of SOPE.
+
+  SOPE is free software; you can redistribute it and/or modify it under
+  the terms of the GNU Lesser General Public License as published by the
+  Free Software Foundation; either version 2, or (at your option) any
+  later version.
+
+  SOPE is distributed in the hope that it will be useful, but WITHOUT ANY
+  WARRANTY; without even the implied warranty of MERCHANTABILITY or
+  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
+  License for more details.
+
+  You should have received a copy of the GNU Lesser General Public
+  License along with SOPE; see the file COPYING.  If not, write to the
+  Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+  02111-1307, USA.
+*/
+
+#include "WONoContentElement.h"
+#include <NGObjWeb/WOComponentDefinition.h>
+#include <NGObjWeb/WOResponse.h>
+#include "common.h"
+
+@implementation WONoContentElement
+
+- (id)initWithElementName:(NSString *)_elementName
+  attributes:(NSDictionary *)_attributes
+  contentElements:(NSArray *)_subElements
+  componentDefinition:(WOComponentDefinition *)_cdef
+{
+  self->cdef    = [_cdef retain];
+  self->element = [_elementName copy];
+  return self;
+}
+
+- (void)dealloc {
+  [self->cdef    release];
+  [self->element release];
+  [super dealloc];
+}
+
+- (void)appendToResponse:(WOResponse *)_response inContext:(WOContext *)_ctx {
+  [_response appendContentHTMLString:@"<<missing element '"];
+  [_response appendContentHTMLString:self->element];
+  [_response appendContentHTMLString:@"' in component '"];
+  [_response appendContentHTMLString:[self->cdef componentName]];
+  [_response appendContentHTMLString:@"'>>"];
+}
+
+@end /* WONoContentElement */
diff --git a/sope-appserver/NGObjWeb/DynamicElements/_WOStaticHTMLElement.h b/sope-appserver/NGObjWeb/DynamicElements/_WOStaticHTMLElement.h
new file mode 100644 (file)
index 0000000..ac871e5
--- /dev/null
@@ -0,0 +1,45 @@
+/*
+  Copyright (C) 2000-2005 SKYRIX Software AG
+
+  This file is part of SOPE.
+
+  SOPE is free software; you can redistribute it and/or modify it under
+  the terms of the GNU Lesser General Public License as published by the
+  Free Software Foundation; either version 2, or (at your option) any
+  later version.
+
+  SOPE is distributed in the hope that it will be useful, but WITHOUT ANY
+  WARRANTY; without even the implied warranty of MERCHANTABILITY or
+  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
+  License for more details.
+
+  You should have received a copy of the GNU Lesser General Public
+  License along with SOPE; see the file COPYING.  If not, write to the
+  Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+  02111-1307, USA.
+*/
+
+#ifndef __DynamicElements__WOStaticHTMLElement_H__
+#define __DynamicElements__WOStaticHTMLElement_H__
+
+#include <NGObjWeb/WOElement.h>
+
+/*
+  _WOStaticHTMLElement
+  
+  This element is used by the WOHTMLParser.
+*/
+
+@class NSString;
+
+@interface _WOStaticHTMLElement : WOElement
+{
+  NSString *text;
+}
+
+// TODO: use Unicode?
+- (id)initWithBuffer:(const char *)_buffer length:(unsigned)_len;
+
+@end
+
+#endif /* __DynamicElements__WOStaticHTMLElement_H__ */
diff --git a/sope-appserver/NGObjWeb/DynamicElements/_WOStaticHTMLElement.m b/sope-appserver/NGObjWeb/DynamicElements/_WOStaticHTMLElement.m
new file mode 100644 (file)
index 0000000..f98ad6a
--- /dev/null
@@ -0,0 +1,53 @@
+/*
+  Copyright (C) 2000-2005 SKYRIX Software AG
+
+  This file is part of SOPE.
+
+  SOPE is free software; you can redistribute it and/or modify it under
+  the terms of the GNU Lesser General Public License as published by the
+  Free Software Foundation; either version 2, or (at your option) any
+  later version.
+
+  SOPE is distributed in the hope that it will be useful, but WITHOUT ANY
+  WARRANTY; without even the implied warranty of MERCHANTABILITY or
+  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
+  License for more details.
+
+  You should have received a copy of the GNU Lesser General Public
+  License along with SOPE; see the file COPYING.  If not, write to the
+  Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+  02111-1307, USA.
+*/
+
+#include "_WOStaticHTMLElement.h"
+#include <NGObjWeb/WOResponse.h>
+#include "common.h"
+
+@implementation _WOStaticHTMLElement
+
+static Class StrClass = Nil;
+
++ (void)initialize {
+  StrClass = [NSString class];
+}
+
+- (id)initWithBuffer:(const char *)_buffer length:(unsigned)_len {
+  self->text = (_len > 0)
+    ? [[StrClass alloc] initWithCString:_buffer length:_len]
+    : nil;
+  return self;
+}
+
+- (void)dealloc {
+  [self->text release];
+  [super dealloc];
+}
+
+/* generate response */
+
+- (void)appendToResponse:(WOResponse *)_response inContext:(WOContext *)_ctx {
+  if (self->text != nil)
+    [_response appendContentString:self->text];
+}
+
+@end /* _WOStaticHTMLElement */
index 3bd975166be94d5e78b4aa5790010c046e3e76e7..7a1a267326b32e56caa50816d64c6a87eebab776 100644 (file)
@@ -1,6 +1,6 @@
 # version file
 
-SUBMINOR_VERSION:=143
+SUBMINOR_VERSION:=144
 
 # v4.5.122 requires libNGExtensions v4.5.153
 # v4.5.91  requires libNGExtensions v4.5.134
index ab5678890ab2892773a3df1a8fea3e0cd3e9a7ed..734e11318957efca50ffad90c92295481346b1b6 100644 (file)
@@ -443,10 +443,10 @@ static inline id _getExtraVar(WOComponent *self, NSString *_key) {
 }
 
 - (void)setCachingEnabled:(BOOL)_flag {
-  self->componentFlags.reloadTemplates = _flag ? NO : YES;
+  self->componentFlags.reloadTemplates = _flag ? 0 : 1;
 }
 - (BOOL)isCachingEnabled {
-  return (self->componentFlags.reloadTemplates == NO) ? YES : NO;
+  return (!self->componentFlags.reloadTemplates) ? YES : NO;
 }
 
 - (WOComponent *)pageWithName:(NSString *)_name {
@@ -683,7 +683,8 @@ static inline id _getExtraVar(WOComponent *self, NSString *_key) {
 - (WOElement *)_woComponentTemplate {
   WOElement *element;
   
-  if ((element = _getExtraVar(self, @"__wotemplate")))
+  // TODO: move to ivar?
+  if ((element = _getExtraVar(self, @"__wotemplate")) != nil)
     return element;
   
   return [self templateWithName:[self name]];
index 1339f275f9794d5086fa64313ca34f751c331f5b..07b9bc47047bcaa88723c310075792f5db392be4 100644 (file)
@@ -22,6 +22,7 @@
 #include <NGObjWeb/WOComponentDefinition.h>
 #include "WOComponent+private.h"
 #include "WOComponentFault.h"
+#include "WONoContentElement.h"
 #include <NGObjWeb/WOAssociation.h>
 #include <NGObjWeb/WOApplication.h>
 #include <NGObjWeb/WOElement.h>
@@ -44,24 +45,6 @@ static NSNumber *noNum      = nil;
 - (void)setBaseURL:(id)_url;
 @end
 
-@interface WONoContentElement : WOElement
-{
-  WOComponentDefinition *cdef;
-  NSString *element;
-}
-- (id)initWithElementName:(NSString *)_elementName
-  attributes:(NSDictionary *)_attributes
-  contentElements:(NSArray *)_subElements
-  componentDefinition:(WOComponentDefinition *)_cdef;
-@end
-
-@interface _WOStaticHTMLElement : WOElement
-{
-  NSString *text;
-}
-- (id)initWithBuffer:(const char *)_buffer length:(unsigned)_len;
-@end
-
 @interface WOComponentDefinition(PrivateMethods)
 
 - (BOOL)load;
@@ -417,7 +400,7 @@ static NSArray *woxExtensions = nil;
     [_component setBaseURL:self->baseUrl];
 
   if (enableWOOFiles) {
-    if (self->template) {
+    if (self->template != nil) {
       [self _applyWOOVariables:
               [self->template keyValueArchivedTemplateVariables]
             onComponent:_component];
@@ -434,10 +417,9 @@ static NSArray *woxExtensions = nil;
   Class             cClass;
   WOComponentScript *script;
   
-  if ((script = [self->template componentScript])) 
-    cClass = NSClassFromString(@"WOScriptedComponent");
-  else
-    cClass = [self componentClass];
+  cClass = ((script = [self->template componentScript]) != nil) 
+    ? NSClassFromString(@"WOScriptedComponent")
+    : [self componentClass];
   
   if (cClass == nil) {
     NSString *tmpPath;
@@ -582,53 +564,3 @@ static NSArray *woxExtensions = nil;
 }
 
 @end /* WOComponentDefinition */
-
-@implementation WONoContentElement
-
-- (id)initWithElementName:(NSString *)_elementName
-  attributes:(NSDictionary *)_attributes
-  contentElements:(NSArray *)_subElements
-  componentDefinition:(WOComponentDefinition *)_cdef
-{
-  self->cdef    = [_cdef retain];
-  self->element = [_elementName copy];
-  return self;
-}
-
-- (void)dealloc {
-  [self->cdef    release];
-  [self->element release];
-  [super dealloc];
-}
-
-- (void)appendToResponse:(WOResponse *)_response inContext:(WOContext *)_ctx {
-  [_response appendContentHTMLString:@"<<missing element '"];
-  [_response appendContentHTMLString:self->element];
-  [_response appendContentHTMLString:@"' in component '"];
-  [_response appendContentHTMLString:[self->cdef componentName]];
-  [_response appendContentHTMLString:@"'>>"];
-}
-
-@end /* WONoContentElement */
-
-@implementation _WOStaticHTMLElement
-
-- (id)initWithBuffer:(const char *)_buffer length:(unsigned)_len {
-  if (StrClass == Nil)
-    StrClass = [NSString class];
-  
-  self->text = [[StrClass alloc] initWithCString:_buffer length:_len];
-  return self;
-}
-
-- (void)dealloc {
-  [self->text release];
-  [super dealloc];
-}
-
-- (void)appendToResponse:(WOResponse *)_response inContext:(WOContext *)_ctx {
-  if (self->text)
-    [_response appendContentString:self->text];
-}
-
-@end /* _WOStaticHTMLElement */