Changeset 692


Ignore:
Timestamp:
03/05/10 13:30:58 (6 months ago)
Author:
fabman
Message:

tkts #166, #172, #173 WIP (99.9% dun)

Location:
trunk/src/com/calenco
Files:
5 edited
1 moved

Legend:

Unmodified
Added
Removed
  • trunk/src/com/calenco/CalencoV2App.java

    r690 r692  
    4444import com.calenco.resource.workspace.ContentResource; 
    4545import com.calenco.resource.workspace.ContentRevhistoryResource; 
    46 import com.calenco.resource.workspace.ContentStylesheetResource; 
     46import com.calenco.resource.workspace.ContentStylesheetsResource; 
    4747import com.calenco.resource.workspace.DepsTreeResource; 
    4848import com.calenco.resource.workspace.LanguageResource; 
     
    126126        wrouter.attach("/{wksp}/content/{langOrFile}/revhistory", ContentRevhistoryResource.class); 
    127127        wrouter.attach("/{wksp}/content/{lang}/{file}/revhistory", ContentRevhistoryResource.class); 
    128         wrouter.attach("/{wksp}/content/{langOrFile}/stylesheets", ContentStylesheetResource.class); 
    129         wrouter.attach("/{wksp}/content/{lang}/{file}/stylesheets", ContentStylesheetResource.class); 
     128        wrouter.attach("/{wksp}/content/{langOrFile}/stylesheets", ContentStylesheetsResource.class); 
     129        wrouter.attach("/{wksp}/content/{lang}/{file}/stylesheets", ContentStylesheetsResource.class); 
    130130        wrouter.attach("/{wksp}/content", ContentResource.class); 
    131131        wrouter.attach("/{wksp}/content/{langOrFile}", ContentResource.class); 
  • trunk/src/com/calenco/Content.java

    r625 r692  
    4848 
    4949    public String getFname() { 
    50         return fname; 
     50        return fname.startsWith("/") ? fname.substring(1) : fname; // NOI18N 
    5151    } 
    5252 
  • trunk/src/com/calenco/addon/AddOnsManager.java

    r620 r692  
    146146     */ 
    147147    public AddOn getAddOn(String type) { 
     148        if (type == null) { 
     149            return null; 
     150        } 
    148151        Class<AddOn> clazz = addons.get(type); 
    149152        if (clazz != null) { 
     
    189192     */ 
    190193    public List<Toolchain> getToolchains(String type) { 
     194        List<Toolchain> result = new ArrayList<Toolchain>(); 
    191195        AddOn addon = getAddOn(type); 
    192196        if (addon != null) { 
    193             return new ArrayList<Toolchain>(addon.getToolchains().values()); 
    194         } else { 
    195             return null; 
    196         } 
     197            Map<String, Toolchain> toolChains = addon.getToolchains(); 
     198            if (toolChains != null) { 
     199                result.addAll(toolChains.values()); 
     200            } 
     201        } 
     202        return result; 
    197203    } 
    198204 
  • trunk/src/com/calenco/resource/workspace/ContentResource.java

    r690 r692  
    11941194                            Association hasToolchain = new Association(Association.HAS_TOOLCHAIN); 
    11951195                            hasToolchain.setFrom(href); 
    1196                             hasToolchain.setTo(xsltype.getTcName()); 
     1196                            hasToolchain.setTo(String.format("%s|%s", xsltype.getAddOnName(), xsltype.getTcName())); 
    11971197                            adao.add(hasToolchain); 
    11981198                        } 
  • trunk/src/com/calenco/resource/workspace/ContentStylesheetsResource.java

    r690 r692  
    2626import com.calenco.Content; 
    2727import com.calenco.Language; 
    28 import com.calenco.addon.AddOn; 
    2928import com.calenco.addon.AddOnsManager; 
     29import com.calenco.addon.Toolchain; 
    3030import com.calenco.repository.ContentDAO; 
    3131import com.calenco.repository.dao.AssociationDAO; 
     
    5050 * @author fabman 
    5151 */ 
    52 public class ContentStylesheetResource extends AbstractWorkspaceResource { 
     52public class ContentStylesheetsResource extends AbstractWorkspaceResource { 
    5353    String langOrFile = null; 
    5454    String lang = null; 
     
    8989                AssociationDAO adao = new AssociationDAO(session, workspace); 
    9090                String cco_xmlType = null; 
     91                List<Toolchain> toolchains = null; 
    9192                try { 
    9293                    cco_xmlType = dao.getProperty(path, "cco_xmltype").getString(); // NOI18N 
    9394                } catch (Exception ignored) { 
    9495                } 
    95                 AddOn addOn = null; 
    96                 try { 
    97                     addOn = AddOnsManager.getInstance().getAddOn(cco_xmlType); 
    98                 } catch (Exception ignoredToo) { 
    99                 } 
    100                 if (cco_xmlType != null && addOn != null) { 
    101                     Set<Association> xslAssocs = adao.findByKindTo(Association.HAS_TOOLCHAIN, addOn.getType()); 
    102                     getLogger().info("*+*+*+*DBG: Got XSL assocs: " + xslAssocs); 
    103                     for (Association xslAssoc: xslAssocs) { 
    104                         Content xsl = dao.retrieve(xslAssoc.getFrom(), null); 
    105                         if (xsl != null) { 
    106                             stylesheets.add(xsl); 
     96                if (cco_xmlType != null) { 
     97                    AddOnsManager aom = AddOnsManager.getInstance(); 
     98                    toolchains = aom.getToolchains(cco_xmlType); 
     99                    for (Toolchain toolchain: toolchains) { 
     100                        String to = String.format("%s|%s", aom.getAddOn(cco_xmlType).getType(), toolchain.getName()); 
     101                        Set<Association> xslAssocs = adao.findByKindTo(Association.HAS_TOOLCHAIN, to); 
     102                        for (Association xslAssoc: xslAssocs) { 
     103                            Content xsl = dao.retrieve(xslAssoc.getFrom(), null); 
     104                            if (xsl != null) { 
     105                                stylesheets.add(xsl); 
     106                            } 
    107107                        } 
    108108                    } 
    109109                } 
    110110                JSONObject xsls = new JSONObject(); 
    111                 xsls.put("count", stylesheets.size() + 1); // NOI18N 
    112111                xsls.put("identifier", "href"); // NOI18N 
    113112                xsls.put("label", "name"); // NOI18N 
    114113                JSONArray xsla = new JSONArray(); 
    115                 xsla.put(new JSONObject().put("name", "[ DEFAULT ]").put("href", "DEFAULT")); // NOI18N 
     114                if (cco_xmlType != null && toolchains != null && !toolchains.isEmpty()) { 
     115                    xsla.put(new JSONObject().put("name", "[ DEFAULT ]").put("href", "DEFAULT")); // NOI18N 
     116                } 
    116117                for (Content stylesheet: stylesheets) { 
    117118                    JSONObject xsl = new JSONObject(); 
     
    121122                } 
    122123                xsls.put("items", xsla); // NOI18N 
     124                xsls.put("count", xsla.length()); // NOI18N 
    123125                return new JsonRepresentation(xsls); 
    124126            } else { 
  • trunk/src/com/calenco/staticres/workspace-html.ftl

    r687 r692  
    15741574 
    15751575            function fillXsl(/* String */selId) { 
    1576                 var xslStore = new dojo.data.ItemFileReadStore({url: "/workspaces/${wksp}/stylesheets"}); 
     1576                var xslStore = new dojo.data.ItemFileReadStore({url: selectedFile + "/stylesheets"}); 
    15771577                xslStore.fetch({ 
    15781578                    query: {}, start: 0, count: 1, onComplete: function(res) { 
Note: See TracChangeset for help on using the changeset viewer.