OSDN Git Service

2010-04-27 Andrew Haley <aph@redhat.com>
authoraph <aph@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 27 Apr 2010 16:35:06 +0000 (16:35 +0000)
committeraph <aph@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 27 Apr 2010 16:35:06 +0000 (16:35 +0000)
        * gnu/javax/print/ipp/IppResponse.java (parseAttributes): Handle
        IppValueTag.UNKNOWN.
        * gnu/javax/print/ipp/IppRequest.java (writeOperationAttributes):
        Handle RequestedAttributes.
        * gnu/javax/print/ipp/IppPrintService.java (processResponse): Add
        DocFlavor.SERVICE_FORMATTED.PAGEABLE and
        DocFlavor.SERVICE_FORMATTED.PRINTABLE.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158789 138bc75d-0d04-0410-961f-82ee72b054a4

libjava/classpath/ChangeLog
libjava/classpath/gnu/javax/print/ipp/IppPrintService.java
libjava/classpath/gnu/javax/print/ipp/IppRequest.java
libjava/classpath/gnu/javax/print/ipp/IppResponse.java
libjava/classpath/lib/gnu/javax/print/ipp/IppPrintService.class
libjava/classpath/lib/gnu/javax/print/ipp/IppRequest$RequestWriter.class
libjava/classpath/lib/gnu/javax/print/ipp/IppRequest.class
libjava/classpath/lib/gnu/javax/print/ipp/IppResponse$ResponseReader.class
libjava/classpath/lib/gnu/javax/print/ipp/IppResponse.class

index 71db515..f98d1c9 100644 (file)
@@ -1,3 +1,13 @@
+2010-04-27  Andrew Haley  <aph@redhat.com>
+
+       * gnu/javax/print/ipp/IppResponse.java (parseAttributes): Handle
+       IppValueTag.UNKNOWN.  
+       * gnu/javax/print/ipp/IppRequest.java (writeOperationAttributes):
+       Handle RequestedAttributes.
+       * gnu/javax/print/ipp/IppPrintService.java (processResponse): Add
+       DocFlavor.SERVICE_FORMATTED.PAGEABLE and
+       DocFlavor.SERVICE_FORMATTED.PRINTABLE.
+
 2010-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
 
        * HACKING: Update required Automake version.
index ce3ef9e..56a4138 100644 (file)
@@ -356,8 +356,17 @@ public class IppPrintService implements PrintService
                 // should not happen, all fields are public
               }
           }
+
+       if (this.getClass()
+           .isAssignableFrom(gnu.javax.print.CupsPrintService.class))
+         {
+//         CUPS always provides filters to convert from Postscript.
+//         This logic looks odd, but it's what OpenJDK does.
+           flavors.add(DocFlavor.SERVICE_FORMATTED.PAGEABLE);
+           flavors.add(DocFlavor.SERVICE_FORMATTED.PRINTABLE);
+         }
       }
-    
+
     // printer uris
     Set uris = getPrinterAttributeSet(PrinterUriSupported.class);
     printerUris = new ArrayList(uris.size());
index 3de8871..869f822 100644 (file)
@@ -434,6 +434,8 @@ public class IppRequest
       PrinterURI printerUri = (PrinterURI) attributes.get(PrinterURI.class);
       JobUri jobUri = (JobUri) attributes.get(JobUri.class);
       JobId jobId = (JobId) attributes.get(JobId.class);
+      RequestedAttributes reqAttrs 
+       = (RequestedAttributes)attributes.get(RequestedAttributes.class);
       if (printerUri != null && jobId == null && jobUri == null)
         {
           write(printerUri);
@@ -467,6 +469,12 @@ public class IppRequest
           logger.log(Component.IPP, "Attribute: Name: <" + jobUri.getCategory()
             .getName() + "> Value: <" + jobUri.toString() + ">");
         }
+      else if (reqAttrs != null)
+       {
+         write(reqAttrs);
+         attributes.remove(RequestedAttributes.class);
+         logger.log(Component.IPP, "RequestedAttributes: <" + reqAttrs + ">");
+       }
       else
         {
           throw new IppException("Unknown target operation attribute combination.");
index 21784d0..81a1eb4 100644 (file)
@@ -302,11 +302,14 @@ public class IppResponse
             // out-of-band values
             case IppValueTag.UNSUPPORTED:
             case IppValueTag.UNKNOWN:
-            case IppValueTag.NO_VALUE:
               // TODO implement out-of-band handling
-              // We currently throw an exception to see when it occurs - not yet :-)              
-              throw new IppException(
-                    "Unexpected name value for out-of-band value tag");
+              // We currently throw an exception to see when it occurs - not yet :-)
+             throw new IppException(
+                    "Unexpected name value for out-of-band value tag " + tag);
+            case IppValueTag.NO_VALUE:
+             attribute = null;
+
+             break;
             case IppValueTag.INTEGER:
               int intValue = IppUtilities.convertToInt(value);
               attribute = IppUtilities.getIntegerAttribute(name, intValue);
index c44e1cf..7ec693e 100644 (file)
Binary files a/libjava/classpath/lib/gnu/javax/print/ipp/IppPrintService.class and b/libjava/classpath/lib/gnu/javax/print/ipp/IppPrintService.class differ
index c4e6294..a7697f9 100644 (file)
Binary files a/libjava/classpath/lib/gnu/javax/print/ipp/IppRequest$RequestWriter.class and b/libjava/classpath/lib/gnu/javax/print/ipp/IppRequest$RequestWriter.class differ
index aadef6c..039067c 100644 (file)
Binary files a/libjava/classpath/lib/gnu/javax/print/ipp/IppRequest.class and b/libjava/classpath/lib/gnu/javax/print/ipp/IppRequest.class differ
index 2d0d804..8911330 100644 (file)
Binary files a/libjava/classpath/lib/gnu/javax/print/ipp/IppResponse$ResponseReader.class and b/libjava/classpath/lib/gnu/javax/print/ipp/IppResponse$ResponseReader.class differ
index 0653dc8..995c0e1 100644 (file)
Binary files a/libjava/classpath/lib/gnu/javax/print/ipp/IppResponse.class and b/libjava/classpath/lib/gnu/javax/print/ipp/IppResponse.class differ