db-jdo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Craig L Russell <Craig.Russ...@Sun.COM>
Subject Re: Importing xsd and dtd files into the spec
Date Fri, 11 Jan 2008 04:17:15 GMT
Hi Michelle,

Thanks, we can look at this in detail tomorrow.

We also need to handle enum files. They also belong in the annotation  
chapter...

Craig

On Jan 10, 2008, at 7:19 PM, Michelle Caisse wrote:

> A better version...
>
> -- Michelle
>
> Michelle Caisse wrote:
>
>> Attached is a shell script for extracting the lines to be included  
>> in the spec from the annotations files.
>>
>> -- Michelle
>>
>> Craig L Russell wrote:
>>
>>> Hi Michelle,
>>>
>>> Sadly, there is one feature missing that would disallow this to  
>>> be used for the annotations chapter. I couldn't find a way to  
>>> skip over the boilerplate [1] at the top of each .java file. So  
>>> if we used this technique for the annotations chapter, we would  
>>> either have to write a script to remove the boilerplate or  
>>> include the boilerplate in every file. And if we write a script  
>>> we would need to keep the source files up to date if the java  
>>> files ever changed.
>>>
>>> Do you know a way around this problem?
>>>
>>> This isn't an issue for the xsd and dtd files because the only   
>>> boilerplate is the Apache license which is ok for this purpose.
>>>
>>> Craig
>>>
>>> [1] boilerplate for Column.java
>>> /*
>>>  * 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.
>>>  */
>>> package javax.jdo.annotations;
>>>
>>> import java.lang.annotation.ElementType;
>>> import java.lang.annotation.Retention;
>>> import java.lang.annotation.RetentionPolicy;
>>> import java.lang.annotation.Target;
>>>
>>> /**
>>>  * Annotation for a column in the database.
>>>  * Corresponds to the xml element "column".
>>>  *  * @version 2.1
>>>  * @since 2.1
>>>  */
>>>
>>> On Jan 4, 2008, at 4:32 PM, Michelle Caisse wrote:
>>>
>>>>
>>>>> 2. Updated spec: in progress. The jdoconfig.xml has been added  
>>>>> to  Appendix D. Should we also put jdo.xml, orm.xml, and  
>>>>> jdoquery.xml to  Appendix D? No, probably better to add the dtd  
>>>>> version of jdoconfig  to Appendix D.
>>>>>
>>>>> AI Michelle look at how to automatically include the xsd and  
>>>>> dtd  files into the spec.
>>>>>
>>>> From FrameMaker help:
>>>>
>>>>
>>>>         Importing by reference
>>>>
>>>> ------------------------------------------------------------------- 
>>>> -----
>>>>
>>>>       You can import by reference by using File > Import > File,  
>>>> OLE
>>>>       (Windows), Publish and Subscribe (Mac OS), or a graphic inset
>>>>       editor (UNIX).
>>>>
>>>>       When you double-click a graphic imported by reference you:
>>>>
>>>>           * (Windows) Open the application
>>>>           * (Mac OS) Open the Object Properties dialog
>>>>
>>>>       Importing by reference keeps the imported text or graphics
>>>>       linked to the source file. FrameMaker stores the pathname to
>>>>       the source file in the document. Each time you open the
>>>>       document, FrameMaker locates the file on the disk and
>>>>       redisplays it. If the source file was revised, FrameMaker
>>>>       updates the document with the latest version. Importing by
>>>>       reference can reduce total file size because it lets you use
>>>>       the same material in several places without storing the
>>>>       contents of imported images or text in the FrameMaker  
>>>> document.
>>>>       Text imported by reference is called a text inset.
>>>>
>>>>       For information on how the pathname is stored when  
>>>> importing by
>>>>       reference, see Using pathnames when importing by reference.
>>>>
>>>>
>>>> I did a quick test of importing jdo_2_0.xsd. I applied the code  
>>>> paragraph style and it looked good with no changes. When you  
>>>> import by reference, you cannot edit the text from within Frame.  
>>>> When you select the imported text (clicking anywhere within the  
>>>> import highlights the entire block), Edit/Text Inset Properties  
>>>> brings up a dialog that displays information and offers various  
>>>> actions.
>>>>
>>>> -- Michelle
>>>
>>>
>>>
>>> Craig Russell
>>>
>>> Architect, Sun Java Enterprise System http://java.sun.com/ 
>>> products/jdo
>>>
>>> 408 276-5638 mailto:Craig.Russell@sun.com
>>>
>>> P.S. A good JDO? O, Gasp!
>>>
>>>
>>
>> --------------------------------------------------------------------- 
>> ---
>>
>
> #!/bin/sh
> # Read .java files in source directory,
> #   copying lines from the first line matching
> #   the start pattern to the end of the file
> #   to a file of the same name in the target directory
> USAGE="behead <source dir> <target dir>"
> if [ $# -ne 2 ]
>     then
>         echo $USAGE
>         exit -1
> fi
>
> SRCDIR=$1
> TARGETDIR=$2
>
> STARTPATTERN="^@"
>
> for FILE in `ls $SRCDIR/*.java`
> do
>     ROOT=`basename $FILE`
>     OUTFILE=${TARGETDIR}/${ROOT}
>     if [ `grep -c "public enum" $FILE` -gt 0 ]
>     then
>         echo Skipping ${FILE}, an enum
>     else
>         echo Copy lines from $FILE to $OUTFILE
>         STARTINDEX=`grep --max-count=1 -n $STARTPATTERN $FILE | cut  
> -d: -f1 `
>         #echo $STARTINDEX
>         ENDINDEX=`wc -l $FILE | cut -f1 -d" " `
>         #echo $ENDINDEX
>         NUMLINES=`expr $ENDINDEX - $STARTINDEX + 1`
>         #echo $NUMLINES
>         tail --lines ${NUMLINES} $FILE > ${OUTFILE}
>     fi
> done

Craig Russell
Architect, Sun Java Enterprise System http://java.sun.com/products/jdo
408 276-5638 mailto:Craig.Russell@sun.com
P.S. A good JDO? O, Gasp!


Mime
View raw message