<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--

  Licensed to the Apache Software Foundation (ASF) under one
  or more contributor license agreements. See the NOTICE file
  distributed with this work for additional information
  regarding copyright ownership. The ASF licenses this file
  to you under the Apache License, Version 2.0 (the
  "License"); you may not use this file except in compliance
  with the License. You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing,
  software distributed under the License is distributed on an
  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  KIND, either express or implied. See the License for the
  specific language governing permissions and limitations
  under the License.

-->
<x_dimension name="daydim" xmlns="uri:lens:cube:0.1">
  <attributes>
    <dim_attribute _type="boolean" name="is_weekend" description="is weekend?">
    </dim_attribute>
    <dim_attribute _type="int" name="day_number_of_year" description="day number in year">
    </dim_attribute>
    <dim_attribute _type="int" name="id" description="code">
    </dim_attribute>
    <dim_attribute _type="string" name="full_date" description="full date">
    </dim_attribute>
    <dim_attribute _type="int" name="calendar_quarter" description="quarter id">
    </dim_attribute>
  </attributes>
  <expressions/>
  <join_chains/>
  <properties>
    <property name="cube.col.is_weekend.description" value="is weekend?"/>
    <property name="cube.dimension.calendar_quarter.class" value="org.apache.lens.cube.metadata.BaseDimAttribute"/>
    <property name="cube.dimension.id.type" value="int"/>
    <property name="cube.table.daydim.weight" value="0.0"/>
    <property name="cube.col.calendar_quarter.description" value="quarter id"/>
    <property name="base.daydim.expressions.list.size" value="0"/>
    <property name="dimension.daydim.attributes.list.size" value="1"/>
    <property name="cube.dimension.day_number_of_year.class" value="org.apache.lens.cube.metadata.BaseDimAttribute"/>
    <property name="cube.dimension.day_number_of_year.type" value="int"/>
    <property name="cube.dimension.is_weekend.class" value="org.apache.lens.cube.metadata.BaseDimAttribute"/>
    <property name="cube.col.full_date.description" value="full date"/>
    <property name="cube.col.id.description" value="code"/>
    <property name="dimension.daydim.timed.dimension" value="dt"/>
    <property name="cube.dimension.is_weekend.type" value="boolean"/>
    <property name="cube.dimension.id.class" value="org.apache.lens.cube.metadata.BaseDimAttribute"/>
    <property name="cube.dimension.full_date.class" value="org.apache.lens.cube.metadata.BaseDimAttribute"/>
    <property name="cube.dimension.full_date.type" value="string"/>
    <property name="cube.col.day_number_of_year.description" value="day number in year"/>
    <property name="cube.dimension.calendar_quarter.type" value="int"/>
    <property name="dimension.daydim.attributes.list0"
              value="is_weekend,day_number_of_year,id,full_date,calendar_quarter"/>
    <property name="dimension.daydim.joinchains.list.size" value="0"/>
  </properties>
</x_dimension>
