r13590 - in ArchGenXML/trunk/src/archgenxml: . templates

"Philipp Auersperg" <[email protected]> Sun, 17 Apr 2011 07:24:54 +0000
Newsgroups gmane.comp.web.zope.plone.archetypes.cvs
Message-ID <[email protected]>
Author: zworkb
Date: Sun Apr 17 07:24:53 2011
New Revision: 13590

Modified:
   ArchGenXML/trunk/src/archgenxml/ArchetypesGenerator.py
   ArchGenXML/trunk/src/archgenxml/templates/adapters.zcml
   ArchGenXML/trunk/src/archgenxml/templates/configure.zcml
Log:
overhauled adapters, named adapters supported, adapts now generates into adapts.zcml, not into class

Modified: ArchGenXML/trunk/src/archgenxml/ArchetypesGenerator.py
==============================================================================
--- ArchGenXML/trunk/src/archgenxml/ArchetypesGenerator.py	(original)
+++ ArchGenXML/trunk/src/archgenxml/ArchetypesGenerator.py	Sun Apr 17 07:24:53 2011
@@ -1909,7 +1909,7 @@
         if not element.hasStereoType(self.extender_stereotypes,umlprofile=self.uml_profile):
             print >> outfile, utils.indent('security = ClassSecurityInfo()',1)
 
-        print >> outfile, self.generateAdapts(element)
+        #print >> outfile, self.generateAdapts(element) #no mor needed, is gernerated into .zcml
         print >> outfile, self.generateImplements(element, parentnames)
 
         archetype_name = element.getTaggedValue('archetype_name') or \
@@ -2038,10 +2038,16 @@
         if element.hasStereoType(self.adapter_stereotypes,umlprofile=self.uml_profile):
             package = element.getPackage()
             adapter = {'packageName':element.getCleanName(),
-                       'adapterName':element.getCleanName(),
+                       'className':element.getCleanName(),
+                       'qualifiedName':element.getQualifiedName(forcePluginRoot=True),
+                       'adapterName':element.getTaggedValue('name') or element.getCleanName(),
                        'isExtender':element.hasStereoType(self.extender_stereotypes,umlprofile=self.uml_profile),
                        'isNamed':element.hasStereoType(self.extender_stereotypes,umlprofile=self.uml_profile)
-                                 or element.hasStereoType(self.named_adapter_stereotypes,umlprofile=self.uml_profile)
+                                 or element.hasStereoType(self.named_adapter_stereotypes,umlprofile=self.uml_profile),
+                        'provides':[iface.getQualifiedName(forcePluginRoot=True) for iface in element.getRealizationParents()],
+                        'for': [iface.getQualifiedName(forcePluginRoot=True) for iface in element.getAdaptationParents()]
+#                        'provides':[iface.getQualifiedName(ref=package,includeRoot=False,forcePluginRoot=True) for iface in element.getRealizationParents()],
+#                        'for': [iface.getQualifiedName(ref=package,includeRoot=False,forcePluginRoot=True) for iface in element.getAdaptationParents()]
                        }
             adaptersList = package.getAnnotation('generatedAdapters',None)
             if not adaptersList:
@@ -2795,6 +2801,7 @@
            or hasAdapters \
            or hasImplementers:
             log.debug("%s: Generating includes zcml" % self.infoind)
+            package.annotate('needsIncludesZcml',1)
             ppath = package.getFilePath()
             handleSectionedFile(['includes.zcml'],
                                 os.path.join(ppath, 'includes.zcml'),

Modified: ArchGenXML/trunk/src/archgenxml/templates/adapters.zcml
==============================================================================
--- ArchGenXML/trunk/src/archgenxml/templates/adapters.zcml	(original)
+++ ArchGenXML/trunk/src/archgenxml/templates/adapters.zcml	Sun Apr 17 07:24:53 2011
@@ -8,13 +8,20 @@
 </dtml-if>
 <dtml-in "generatedAdapters">
  <dtml-let adapter="_['sequence-item']">
-
- <adapter
-    factory=".<dtml-var "adapter['packageName']">.<dtml-var "adapter['adapterName']">"
-    <dtml-if "adapter['isNamed']">name="<dtml-var "adapter['adapterName']">"
-    </dtml-if>
-/>
-
+ 
+	<dtml-in "adapter['for']">
+	<dtml-let adaptee="_['sequence-item']">
+	
+	 <adapter
+	    factory="<dtml-var "adapter['qualifiedName']">"
+	    <dtml-if "adapter['isNamed']">name="<dtml-var "adapter['adapterName']">"
+	    </dtml-if>
+	    <dtml-if "adapter['provides']">provides="<dtml-var "adapter['provides'][0]">"
+	    </dtml-if>
+	    for="<dtml-var "adaptee">"
+	/>
+	</dtml-let>
+</dtml-in>
  </dtml-let>
 </dtml-in>
 

Modified: ArchGenXML/trunk/src/archgenxml/templates/configure.zcml
==============================================================================
--- ArchGenXML/trunk/src/archgenxml/templates/configure.zcml	(original)
+++ ArchGenXML/trunk/src/archgenxml/templates/configure.zcml	Sun Apr 17 07:24:53 2011
@@ -26,7 +26,7 @@
 </dtml-if>
 </dtml-let>
 </dtml-in>
-<dtml-if "hasSubPackagesWithZcml">  <include file="includes.zcml"/></dtml-if>
+<dtml-if "hasSubPackagesWithZcml or package.getAnnotation('needsIncludesZcml')">  <include file="includes.zcml"/></dtml-if>
 
   <!-- ##code-section configure.zcml -->
   <!-- ##/code-section configure.zcml -->

------------------------------------------------------------------------------
Benefiting from Server Virtualization: Beyond Initial Workload 
Consolidation -- Increasing the use of server virtualization is a top
priority.Virtualization can reduce costs, simplify management, and improve 
application availability and disaster protection. Learn more about boosting 
the value of server virtualization. http://p.sf.net/sfu/vmware-sfdev2dev