Changeset 3799


Ignore:
Timestamp:
Sep 28, 2007, 9:50:15 AM (16 years ago)
Author:
Nicklas Nordborg
Message:

References #721: Added platform variants to web gui.

Location:
branches/filedb
Files:
5 added
3 edited

Legend:

Unmodified
Added
Removed
  • branches/filedb/src/core/net/sf/basedb/core/PlatformVariant.java

    r3797 r3799  
    5151    platform the new variant will also be a file-only variant.
    5252   
    53     @param dc
    54     @param p
     53    @param dc The DbControl to use for database access
     54    @param platform The platform to create a variant for
     55    @param externalId The external ID of the variant, it must be
     56      unique for all variants
    5557    @return The new PlatformVariant item
    5658  */
    57   public static PlatformVariant getNew(DbControl dc, Platform p, String systemId)
    58   {
    59     if (p.isFileOnly())
    60     {
    61       return getNew(dc, p, systemId, p.getRawDataType().getChannels());
     59  public static PlatformVariant getNew(DbControl dc, Platform platform, String externalId)
     60  {
     61    if (platform.isFileOnly())
     62    {
     63      return getNew(dc, platform, externalId, platform.getRawDataType().getChannels());
    6264    }
    6365    else
    6466    {
    65       return getNew(dc, p, systemId, p.getRawDataType());
     67      return getNew(dc, platform, externalId, platform.getRawDataType());
    6668    }
    6769  }
     
    7274   
    7375    @param dc The DbControl to use for database access
     76    @param platform The platform to create a variant for
    7477    @param externalId The external ID of the variant, it must be
    7578      unique for all variants
     
    7780    @return The new variant object
    7881  */
    79   public static PlatformVariant getNew(DbControl dc, Platform p, String externalId, int channels)
     82  public static PlatformVariant getNew(DbControl dc, Platform platform, String externalId, int channels)
    8083  {
    8184    PlatformVariant v = dc.newItem(PlatformVariant.class);
    82     v.setPlatform(p);
     85    v.setPlatform(platform);
    8386    v.getData().setFileOnly(true);
    8487    v.setExternalId(externalId);
     
    9295   
    9396    @param dc The DbControl to use for database access
     97    @param platform The platform to create a variant for
    9498    @param externalId The external ID of the platform variant, must be
    9599      unique for all variants (including those for other platforms)
     
    98102    @return The new platform object
    99103  */
    100   public static PlatformVariant getNew(DbControl dc, Platform p, String externalId, RawDataType rawDataType)
     104  public static PlatformVariant getNew(DbControl dc, Platform platform, String externalId, RawDataType rawDataType)
    101105  {
    102106    PlatformVariant v = dc.newItem(PlatformVariant.class);
    103     v.setPlatform(p);
     107    v.setPlatform(platform);
    104108    v.getData().setFileOnly(false);
    105109    v.setExternalId(externalId);
     
    387391    {
    388392      // TODO - autogenerate a raw data type
     393      rdt = new RawDataType(getExternalId(), getName(), getDescription(), getData().getChannels(),
     394          "file", null, null, null);
    389395    }
    390396    else
    391397    {
    392       RawDataTypes.getRawDataType(getData().getRawDataType());
     398      rdt = RawDataTypes.getRawDataType(getData().getRawDataType());
    393399    }
    394400    return rdt;
  • branches/filedb/www/admin/platforms/edit_platform.jsp

    r3798 r3799  
    7777  final String clazz = "class=\"text\"";
    7878  final String requiredClazz = "class=\"text required\"";
     79  final String unchangeableClazz = "class=\"text required unchangeable\"";
    7980  %>
    8081
     
    8687    {
    8788      var frm = document.forms['platform'];
    88       var fileOnly = Forms.getCheckedRadio(frm.fileOnly).value == '1';
    8989      if (Main.trimString(frm.name.value) == '')
    9090      {
     
    9393        return false;
    9494      }
    95       else if (Main.trimString(frm.externalId.value) == '')
    96       {
    97         alert("You must enter an external ID");
    98         frm.externalId.focus();
    99         return false;
    100       }
    101       else if (fileOnly)
    102       {
    103         if (!Numbers.isInteger(frm.channels.value))
     95      if (frm.externalId)
     96      {
     97        var fileOnly = Forms.getCheckedRadio(frm.fileOnly).value == '1';
     98        if (Main.trimString(frm.externalId.value) == '')
    10499        {
    105           alert("You must enter the number of channels");
    106           frm.channels.focus();
     100          alert("You must enter an external ID");
     101          frm.externalId.focus();
    107102          return false;
    108103        }
    109         if (parseInt(frm.channels.value) <= 0)
     104        else if (fileOnly)
    110105        {
    111           alert("The number of channels must be > 0");
    112           frm.channels.focus();
    113           return false;
     106          if (!Numbers.isInteger(frm.channels.value))
     107          {
     108            alert("You must enter the number of channels");
     109            frm.channels.focus();
     110            return false;
     111          }
     112          if (parseInt(frm.channels.value) <= 0)
     113          {
     114            alert("The number of channels must be > 0");
     115            frm.channels.focus();
     116            return false;
     117          }
    114118        }
    115119      }
     
    182186        <tr>
    183187          <td class="prompt">External ID</td>
    184           <td><input <%=requiredClazz%> type="text" name="externalId"
     188          <td><input <%=unchangeableClazz%> type="text" name="externalId"
    185189            value="<%=HTML.encodeTags(cc.getPropertyValue("externalId"))%>"
    186190            size="40" maxlength="<%=Platform.MAX_EXTERNAL_ID_LENGTH%>"></td>
     
    189193          <td class="prompt">File-only</td>
    190194          <td>
    191             <input type="radio" name="fileOnly" value="0" <%=!isFileOnly ? "checked" : ""%>
     195            <input <%=unchangeableClazz%> type="radio" name="fileOnly" value="0" <%=!isFileOnly ? "checked" : ""%>
    192196              onclick="fileOnlyOnClick()">no
    193             <input type="radio" name="fileOnly" value="1" <%=isFileOnly ? "checked" : ""%>
     197            <input <%=unchangeableClazz%> type="radio" name="fileOnly" value="1" <%=isFileOnly ? "checked" : ""%>
    194198              onclick="fileOnlyOnClick()">yes
    195199          </td>
     
    199203          <td class="prompt">Raw data type</td>
    200204          <td>
    201             <select name="rawdatatype" class="required">
     205            <select name="rawdatatype" <%=unchangeableClazz%>>
    202206            <option value="">- any -
    203207            <%
     
    215219        <tr>
    216220          <td class="prompt">Channels</td>
    217           <td><input <%=requiredClazz%> type="text" name="channels"
     221          <td><input <%=unchangeableClazz%> type="text" name="channels"
    218222            value="<%=Values.getInt(cc.getPropertyValue("channels"), 1)%>"
    219223            size="12" maxlength="10"
     
    233237      </tr>
    234238      </table>
    235       <div align=right>&nbsp;<i><base:icon image="required.gif" /> = required information</i></div>
     239      <div align=right>
     240        &nbsp;<i><base:icon image="required.gif" /> = required information</i>
     241        <%if (platform == null) {%><br>
     242        <i><base:icon image="unchangeable.gif" /> = can't be changed later</i>
     243        <%}%>
     244        </div>
    236245    </t:tab>
    237246    </t:tabcontrol>
  • branches/filedb/www/admin/platforms/view_platform.jsp

    r3798 r3799  
    101101      Main.viewOrEditItem('<%=ID%>', 'PLATFORMVARIANT', 0, true, '&platform_id=<%=itemId%>');
    102102    }
     103    function viewVariants()
     104    {
     105      location.href = 'variants/index.jsp?ID=<%=ID%>&cmd=List&platform_id=<%=itemId%>';
     106    }
     107    function switchTab(tabControlId, tabId)
     108    {
     109      if (tabId == 'variants')
     110      {
     111        viewVariants();
     112      }
     113      else
     114      {
     115        TabControl.setActiveTab(tabControlId, tabId);
     116      }
     117    }
    103118    </script>
    104119  </base:head>
     
    110125    </p:path>
    111126   
    112     <t:tabcontrol id="main" active="properties">
     127    <t:tabcontrol id="main" active="properties" switch="switchTab">
    113128    <t:tab id="properties" title="Properties">
    114129   
     
    228243    </div>
    229244      </t:tab>
     245      <t:tab id="variants" title="Variants"
     246        tooltip="View and manage variants of this platform" />
    230247      </t:tabcontrol>
    231248     
    232       <%
    233       ItemQuery<PlatformVariant> variantQuery = platform.getVariants();
    234       variantQuery.order(Orders.asc(Hql.property("name")));
    235       ItemResultList<PlatformVariant> variants = variantQuery.list(dc);
    236       if (variants.size() == 0)
    237       {
    238         %>
    239         <h4>Variants</h4>
    240         No variants of this platform exists
    241         (or, you don't have permission to view them).
    242         <%
    243       }
    244       else
    245       {
    246         %>
    247         <h4 class="docked">Variants</h4>
    248         <tbl:table
    249           id="variants"
    250           clazz="itemlist"
    251           columns="all"
    252           >
    253         <tbl:columndef
    254           id="name"
    255           title="Name"
    256         />
    257         <tbl:columndef
    258           id="description"
    259           title="Description"
    260         />
    261         <tbl:data>
    262           <tbl:columns>
    263           </tbl:columns>
    264           <tbl:rows>
    265           <%
    266           for (PlatformVariant item : variants)
    267           {
    268             %>
    269             <tbl:row>
    270               <tbl:cell column="name"><%=Base.getLinkedName(ID, item, false, true)%></tbl:cell>
    271               <tbl:cell column="description"><%=HTML.encodeTags(item.getDescription())%></tbl:cell>
    272             </tbl:row>
    273             <%
    274           }
    275           %>
    276           </tbl:rows>
    277         </tbl:data>
    278         </tbl:table>
    279         <%
    280       }
    281       %>
     249
    282250  </base:body>
    283251  </base:page>
Note: See TracChangeset for help on using the changeset viewer.